Skip to content
lollipopkit edited this page Mar 30, 2024 · 18 revisions

English | 简体中文

🎉 Welcome

❓ QA

Custom Commands

You can enter custom commands at the bottom of the server settings (in JSON format), the format is:

{
  "Command Name": "Command"
}

For example:

{
  "Memory": "free -h"
}

After setting this, you can see the output of the Memory command in the Custom Commands card on the server details page.

Special: If your command name is temperature, for example:

{
  "temperature": "grep Tsensor /proc/msp/pm_cpu | awk '{print $4}'"
}

In this case, the output of the above command will be displayed as the temperature in the upper right corner of the server card on the home page.

Bulk import servers

The format of the imported file is as follows:

[
  {
    "name": "Server1",
    "ip": "exmaple.com",
    "port": 22,
    "user": "root",
    "pwd": "password",
    /// The name of the private key in App - Private Keys
    "keyId": "",
    "tags": ["tag1"],
    "alterUrl": "[email protected]",
    "autoConnect": false
  }
]

Then select the file in App - Backup - Bulk import servers.

Compile yourself

  1. Clone the repository: git clone https://github.com/lollipopkit/flutter_server_box
  2. Install Flutter: Tutorial
  3. Compile:
    • Windows: flutter build windows
    • Linux: flutter build linux
    • macOS: flutter build macos

Some SSH cannot connect

  • Currently only Unix-like systems are supported, e.g. Linux, macOS, Android (Termux), no Windows.
  • Check the SSH version, we recommend using the latest OpenSSH version.

SSH Terminal Input

Due to the variety of input methods, it may be "partially" incompatible, you can switch to visiblePassword in Settings - KeyboardType. You can no longer input Chinese/Japanese/... after the above modification, but you can get a better experience.

Android SSH terminal disconnection

There are serveral factors affecting this issue:

  • Whether or not the SSH Server has set a time to live
  • Whether the power saving optimization of ServerBox is disabled in the system settings.

If none of the above factors are present, there is nothing I can do at the moment (non-native Android developer), I hope someone will contribute PR.

📖 Intro

Home widget & watchOS App

Both the Home widget and the watchOS App need to configure ServerBox Monitor (because the environment of the two determines that they cannot use a "large amount" of memory, CPU, etc., and can only obtain simplified data provided by the server side through the network).

See ServerBox Monitor Wiki for configuration methods.

Long press

In some views, long press can open more functions, for example:

  • Long press the server card on the home page, then you can suspend, shutdown, or edit the server.
  • Long press the setting item in the drawer on the home page to enter JSON edit mode.
  • In the SSH terminal, long press and slide to select characters.

Edit settings in JSON

First of all, hiding some settings is to keep the setting interface simple, and also to take into account the needs of a few people (highly customizable). Secondly, wrong settings may cause the App to fail to open, please make a backup.

  • Q: How to find it?
  • A: Just long press the setting item in the drawer on the home page to open it.
  • Q: Where to find the customizable settings?
  • A: You can find all of them in /lib/data/store/setting.dart, please note the type of each setting item. There are some (because they may not be updated in time) available hidden settings below:
    /// Whether to display the old UI of the server Tab page
    /// Default:false
    late final serverTabUseOldUI = StoreProperty(
      box,
      'serverTabUseOldUI',
      false,
    );
    /// Timeout for connecting to the server, etc. (seconds)
    /// Default:5
    late final timeout = StoreProperty(
      box,
      'timeOut',
      5,
    );
    /// Whether to save/use history records (SFTP path, etc.)
    /// Default:true
    late final recordHistory = StoreProperty(
      box,
      'recordHistory',
      true,
    );
    /// Text scaling factor
    /// Default:1.0(100%)
    /// Attention:the type is double
    late final textFactor = StoreProperty(
      box,
      'textFactor',
      1.0,
    );

Example: Turn on the old UI of server Tab page

  • First find the place where the setting is defined in /lib/data/store/setting.dart.
    /// Discussion #146
    late final serverTabUseOldUI = StoreProperty(
      box,
      'serverTabUseOldUI',
      false,
    );
    It can be found that the name of the setting item is serverTabUseOldUI, the type is bool, and the default value is false.
  • Add the following key-value pair to the JSON editor of the setting item and save it.
    "serverTabUseOldUI": true
  • Return to the server Tab page, wait a few seconds, and you will see the effect.

SSH Virtual Keys

You can find the option to edit the virtual keys in the settings page.

  • In it, you can turn on and off, and sort.
  • Some icons that may be unclear are also explained in it.
Clone this wiki locally