1bea565c2180a8c54b377cc73becf8c7f3cabb7b
* refactor(server): Move the SSH import and discovery features from the server edit page to the settings page * feat (SSH Configuration): Added a feature to automatically import SSH configurations upon first launch Checks for and prompts the user to import SSH configurations upon the first launch on the desktop Optimized the SSH server import logic, adding duplicate detection and name conflict handling Fixed an issue with mount status checks that could occur during the import process * refactor (UI): Adjust the placement of the QR code scanning and SSH configuration import features Move the QR code scanning feature from the server editing page to the settings page, and display different access points based on the platform Optimize the SSH configuration import logic to ensure the status is updated correctly after the configuration is read for the first time * refactor(ssh): Refactor server import logic and extract common methods Extract server import logic into the `ServerDeduplication` class Use the `importServersWithNotification` method consistently to handle imports Remove duplicate `_importServers` and `_resolveServers` methods Add checks for existing server IDs * refactor(SSH): Optimized server import logic and fixed permission issues - Moved the SSH configuration import logic from `edit.dart` to `actions.dart` - Removed redundant checks for the `mounted` parameter - Added handling for file permission exceptions - Improved logic for resolving server name conflicts * fix(ssh): Fixed an issue with message display during SSH configuration import - Modified the format of the import success message to display the number of servers successfully imported - Added a prompt for manual selection when permissions are denied - Optimized the server deduplication logic to display an “already exists” message based on the original count * fix(ssh): Fixed an issue with the count display when importing SSH configurations Adjusted the server's deduplication logic to ensure the correct original count is used when displaying the number of imports Removed unnecessary flag settings for the first read of SSH configurations * fix: Fixed an issue where the “first read” flag was not updated when SSH configuration access was denied When SSH configuration access is denied, set the “first read” flag to false to prevent repeated prompts * fix(server): Optimized the logic for checking existing servers when importing SSH configurations Moved the logic for checking existing servers to an earlier stage to avoid unnecessary parsing of SSH configurations
refactor(server): Move the SSH import and discovery features from the server edit page to the settings page (#1079)
English | 简体中文
Flutter Server Box
A Flutter project which provides charts to display Linux, Unix and Windows server status and tools to manage servers.
Especially thanks to dartssh2 & xterm.dart.
🏙️ Screenshots
![]() |
![]() |
![]() |
![]() |
📥 Installation
| Platform | From |
|---|---|
| iOS / macOS | AppStore |
| Android | GitHub / CDN / F-Droid / OpenAPK |
| Linux / Windows | GitHub / CDN |
Please only download pkgs from the source that you trust!
🔖 Features
Status chart(CPU, Sensors, GPU...),SSHTerm,SFTP,Docker & Process & Systemd,S.M.A.R.T...- Platform specific:
Bio auth、Msg push、Home widget、watchOS App... - English, 简体中文; Deutsch @its-tom, 繁體中文 @kalashnikov, Indonesian @azkadev, Français @FrancXPT, Dutch @QazCetelic, Türkçe @mikropsoft, Українська мова @CakesTwix; Español, Русский язык, Português, 日本語 (Generated by GPT)
🆘 Help
- In order to push server status to your portable device without opening ServerBox app (Such as message push and home widget), you need to install ServerBoxMonitor on your servers, and config it correctly. See wiki for more details.
- Common issues can be found in app wiki.
Before you open an issue, please read the following:
- Paste the entire log (click the top right of the home page) in the issue template.
- Make sure whether the issue is caused by ServerBox app.
- Welcome all valid and positive feedback, subjective feedback (such as you think other UI is better) may not be accepted.
After you read the above, you can open an issue.
🧱 Contributions
Any positive contribution is welcome.
If I forgot to add your name to the contributors list, please add a comment in the issue or PR you opened to let me know, I will add it as soon as possible.
Development
- Setup Flutter environment.
- Clone this repo, run
flutter runto start the app. - Run
dart run fl_build -p PLATFORMto build the app.
Translation
- Guide can be found in my blog.
- We need your help! Just feel free to open a PR.
💡 My other apps
📝 License
AGPL v3 lollipopkit & all contributors
Languages
Dart
91.5%
Swift
3.5%
Kotlin
1.9%
C++
1.3%
CMake
1%
Other
0.7%



