GT610 183cdf98eb feat(port_forward): Supports local, remote, and dynamic port forwarding types (#1096)
* feat(port_forward): Supports local, remote, and dynamic port forwarding types

Added the PortForwardType enumeration to extend port forwarding functionality, supporting three modes:
1. Local forwarding (Local)
2. Remote forwarding (Remote)
3. Dynamic forwarding (SOCKS5)

Refactored the PortForwardConfig model and related adapters, and updated the UI configuration interface to support type selection

* fix(port_forward): Fixed display and validation issues with port forwarding configurations

Fixed the display logic for the local host; when the type is set to “Dynamic Forwarding,” 127.0.0.1 is used by default
Added validation for required fields in remote forwarding configurations to ensure that the remote host and port are not empty
Optimized remote forwarding log messages by removing redundant local address displays

* fix(port_forward): Fixed issues with remote port forwarding configuration and connections

- Fixed the handling of default values when the remote port forwarding type field is empty
- Corrected the labels for local/remote host and port displayed on the remote port forwarding interface
- Fixed the local port validation logic to disallow 0 or negative numbers
- Implemented connection management and error handling for remote port forwarding

* feat (Port Forwarding): Add localization labels for types and optimize code

Add localization labels for local and remote types in the port forwarding feature

Simplify the logic for retrieving prompt text on the port forwarding page
Change the default binding host from ‘0.0.0.0’ to 'localhost'

* fix(port_forward): Fixed an issue with the display format of remote port forwarding addresses

Added special handling for remote port forwarding types in the `displayAddr` method of `PortForwardConfig` to correctly display the remote bound address and port. Also optimized the code formatting to improve readability.

* refactor(port_forward): Remove automatically generated JSON serialization code and implement it manually

Modify the JSON parsing logic in PortForwardConfig and remove the automatically generated .g.dart files
Simplify the handling of localhost addresses in displayAddr
2026-04-01 17:30:55 +08:00
2026-03-07 02:27:42 +08:00
2024-07-10 15:12:05 +08:00
2023-06-05 16:50:22 +08:00
2026-01-29 20:27:21 +08:00
2026-03-23 01:05:26 +08:00
2026-03-25 11:49:50 +08:00
2025-03-22 01:27:17 +08:00
2025-09-02 19:41:56 +08:00
2024-06-01 22:36:02 +08:00
2025-08-17 17:56:26 +08:00
2025-10-19 13:40:17 +08:00
2025-08-09 12:45:45 +08:00

English | 简体中文

Flutter Server Box

donate lang license Ask DeepWiki

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...), SSH Term, SFTP, Docker & Process & Systemd, S.M.A.R.T...
  • Platform specific: Bio authMsg pushHome widgetwatchOS 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

qq donate discord
  • 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:

  1. Paste the entire log (click the top right of the home page) in the issue template.
  2. Make sure whether the issue is caused by ServerBox app.
  3. 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

  1. Setup Flutter environment.
  2. Clone this repo, run flutter run to start the app.
  3. Run dart run fl_build -p PLATFORM to 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

  • GPT Box - A third-party GPT Client for OpenAI API on all platforms.
  • More - Tools & etc.

📝 License

AGPL v3 lollipopkit & all contributors

Description
No description provided
Readme AGPL-3.0 23 MiB
Languages
Dart 91.5%
Swift 3.5%
Kotlin 1.9%
C++ 1.3%
CMake 1%
Other 0.7%