Table of Contents

  1. Getting Started
    1. Installation
    2. Your First SSH Connection
  2. Host Management
    1. Adding a Host
    2. Editing & Copying a Host
    3. Groups & Sorting
    4. QR Code Sharing
    5. QR Code Scanning & Import
    6. Batch Operations
  3. Terminal
    1. Basic Terminal Operations
    2. Terminal Search
    3. Gesture Zoom
    4. Select & Copy
    5. Keyboard Shortcut Bar
    6. Quick Commands
    7. Command Snippets
    8. Command History
    9. sudo Password Auto-Fill
    10. TOTP 2FA Code Fill
  4. Mosh — Mobile Shell
    1. Enabling Mosh
    2. Mosh Configuration
  5. tmux Integration
    1. Enabling tmux
    2. tmux Action Bar
    3. tmux Theme
  6. SFTP File Browser
    1. Browsing Files
    2. Upload & Download
    3. File Operations
    4. File Preview & Editing
    5. Cellular Data Transfer
    6. File Hash Verification
  7. trzsz File Transfer
  8. Port Forwarding
    1. Local Port Forwarding
    2. Remote Port Forwarding
    3. Dynamic (SOCKS) Forwarding
    4. Auto-Start on Connection
  9. Proxy Jump (Bastion Host)
  10. SSH Key Management
    1. Generating a Key
    2. Importing a Key
    3. Assigning a Key to a Host
  11. TOTP Two-Factor Authentication
    1. Adding a TOTP Token
    2. Using TOTP in Terminal
  12. Server Monitoring
  13. Session Snapshots
  14. Multi-Session Management
  15. Settings
    1. Biometric Lock
    2. Terminal Settings
    3. Font Settings
    4. Color Bar
    5. Connection Settings
    6. Monitor Settings
    7. Theme & Appearance
    8. Language
  16. Data Management
    1. Exporting Configuration
    2. Importing Configuration
    3. iCloud Sync (iOS)
  17. Security & Privacy

1. Getting Started

1.1 Installation

XuTerm is available on multiple platforms. Download from the channel that suits you best:

1.2 Your First SSH Connection

  1. Open XuTerm. On first launch, you will see the host management screen.
  2. Tap the + button in the top-right corner to add a new host.
  3. Fill in the required fields:
    • Name — A friendly label for this connection (e.g., "Production Web Server").
    • Host — The server IP address or domain name.
    • Port — SSH port (default: 22).
    • Username — Your login username on the server.
  4. Choose an authentication method:
    • Password — Enter the password. It will be encrypted and stored securely.
    • SSH Key — Select a previously added key pair (see SSH Key Management).
  5. Tap Save, then tap the host card to connect.
  6. On first connection, Android may ask for notification permission — this is used for the background keep-alive service to prevent the OS from killing the connection.
If your server is behind a bastion host / jump server, see Proxy Jump to configure a multi-hop connection.

2. Host Management

2.1 Adding a Host

Tap the + button on the host management screen. The host form includes the following fields:

2.2 Editing & Copying a Host

Long-press a host card to open the context menu with the following options:

2.3 Groups & Sorting

Organize your hosts with color-coded groups:

Switch between compact and normal list mode using the view toggle button in the toolbar. On tablets, hosts are displayed in a grid layout.

2.4 QR Code Sharing

Share host configurations instantly via QR code:

  1. Long-press a host card and select Share, or use batch share (see below).
  2. A QR code is generated containing the host's connection details.
  3. Another device can scan the QR code to import the host configuration.
For security, the password is not included in QR codes. You will need to enter the password manually after importing.

2.5 QR Code Scanning & Import

Tap the QR scanner button in the toolbar to scan a XuTerm QR code. The scanned host configuration will be imported directly into your host list.

2.6 Batch Operations

Tap the checklist button in the toolbar to enter multi-select mode:

3. Terminal

3.1 Basic Terminal Operations

After connecting to a host, you are in the terminal screen. The top bar displays the connection status and host name. Key interactions:

Search within the terminal output to quickly find information:

  1. Tap the search icon in the terminal toolbar to open the search bar.
  2. Type your search term — all matches are highlighted in real time.
  3. Use the up/down arrows to navigate between matches. The terminal auto-scrolls to the current match.
  4. The match counter (e.g., "3/15") shows the current match position and total count.
  5. Tap Close or the back button to exit search mode.

3.3 Gesture Zoom

Use pinch-to-zoom gestures on the terminal to adjust the font size:

You can also set the default font size in Settings > Terminal Font.

3.4 Select & Copy

Copy text from the terminal output:

  1. Long-press on the terminal to enter selection mode.
  2. Drag the selection handles to extend the selection range.
  3. The selected text is automatically copied to the clipboard.
  4. Paste: Long-press the terminal input area and select Paste, or use the shortcut bar Paste button.

3.5 Keyboard Shortcut Bar

The shortcut bar above the keyboard provides quick access to special keys and actions:

You can customize which shortcut keys appear in the bar. Go to Settings > Terminal > Shortcut Keys to configure.

3.6 Quick Commands

Save frequently used commands for one-tap execution:

  1. In the terminal, tap the Quick Commands button (rocket icon) in the toolbar.
  2. Browse your saved commands, organized by category.
  3. Tap a command to send it directly to the terminal.
  4. To manage commands, go to the Quick Commands management screen (accessible from Settings > Terminal > Quick Commands).

Quick command management features:

3.7 Command Snippets

Command Snippets are reusable multi-line script templates, more powerful than quick commands:

  1. In the terminal, tap the Snippets button in the toolbar.
  2. Browse snippets by group.
  3. Tap a snippet to paste its content into the terminal input.

Snippet management (accessible from Settings > Terminal > Command Snippets):

3.8 Command History

Quickly re-run previously executed commands:

  1. Tap the History button (clock icon) in the terminal toolbar.
  2. Browse the list of previously executed commands for the current session.
  3. Tap a command to send it to the terminal again.

3.9 sudo Password Auto-Fill

If you have stored a sudo password for a host, XuTerm detects sudo prompts automatically:

  1. When the terminal shows a sudo password prompt, a fill button appears.
  2. Tap the button to automatically fill in the sudo password.
To store a sudo password, enable it in the host's configuration and enter the password when prompted. The password is stored with AES-256 encryption.

3.10 TOTP 2FA Code Fill

When a host has a linked TOTP token, XuTerm can auto-generate and fill 2FA codes:

  1. When the terminal shows a two-factor authentication prompt, a fill button appears.
  2. Tap the button to generate and insert the current TOTP code.

See TOTP Two-Factor Authentication for setup instructions.

4. Mosh — Mobile Shell

Mosh (Mobile Shell) is an alternative to SSH that handles intermittent connections, network roaming, and high-latency networks gracefully. It provides instant responses and automatic reconnection.

4.1 Enabling Mosh

  1. Edit the host configuration (see Editing a Host).
  2. Toggle Use Mosh to ON.
  3. Save the host. The next connection will use the Mosh protocol.
The remote server must have mosh-server installed. Mosh connects via SSH first, then switches to the Mosh protocol (UDP). Make sure the server firewall allows UDP traffic on the Mosh port range (default: 60000-61000).

4.2 Mosh Configuration

When connected via Mosh, the terminal top bar displays a "Mosh" badge indicating the active protocol.

5. tmux Integration

XuTerm provides deep integration with tmux, making multiplexer sessions feel native on mobile devices.

5.1 Enabling tmux

  1. Edit the host configuration.
  2. Toggle Use tmux to ON.
  3. Optionally specify a tmux Session Name. If left empty, XuTerm creates a new session or attaches to the most recent session.
  4. Save and connect. XuTerm automatically runs tmux attach or tmux new-session upon connection.
The remote server must have tmux installed. XuTerm auto-detects the tmux version and adapts its integration accordingly.

5.2 tmux Action Bar

When a tmux session is active, a dedicated action bar appears at the bottom of the terminal:

5.3 tmux Theme

XuTerm applies a custom tmux theme optimized for mobile viewing. The status bar is styled to match the app theme and integrates seamlessly with the terminal display. This is applied automatically when tmux is enabled.

6. SFTP File Browser

XuTerm includes a built-in SFTP file browser for managing files on remote servers.

6.1 Browsing Files

  1. While connected to a host, tap the SFTP button in the terminal toolbar to open the file browser.
  2. The browser opens at the SSH session's working directory by default (or the home directory).
  3. Navigate by tapping directories. Tap .. or use the path bar to go up a level.
  4. The path bar at the top shows the current directory — tap any segment to jump directly to that level.
  5. Tap the home icon to jump to the home directory.
  6. Use the sort button to sort files by name, size, or modification time.
  7. Toggle show/hide hidden files using the eye icon in the toolbar (files starting with a dot).
  8. Use the search icon to filter files by name in the current directory.

6.2 Upload & Download

Upload (local to remote):

  1. Tap the upload button in the SFTP toolbar.
  2. Select files from your device using the file picker.
  3. Files are uploaded to the current remote directory.
  4. A progress bar shows the transfer status in real time.

Download (remote to local):

  1. Long-press a file or directory to select it, then tap Download.
  2. Or tap a file to preview it first, then use the download option.
  3. Downloaded files are saved to your device's Downloads directory (or the custom trzsz upload path).
When transferring over cellular data, XuTerm will warn you and ask for confirmation (see Cellular Data Transfer).

6.3 File Operations

Long-press a file or directory to access the context menu:

Additional toolbar actions:

6.4 File Preview & Editing

XuTerm can preview and edit various file types directly:

7. trzsz File Transfer

trzsz provides a terminal-based file transfer experience similar to lrzsz (rz/sz), but with tmux compatibility and better progress display.

  1. Ensure the remote server has trzsz installed (the Python package trzsz or trzsz-go).
  2. Upload: Type trz in the terminal. XuTerm opens a file picker. Select files and confirm.
  3. Download: Type tsz <filename> in the terminal. The file is downloaded to your device.
  4. A real-time progress bar is displayed during the transfer, showing the file name, percentage, and transfer speed.
trzsz works seamlessly inside tmux sessions, unlike traditional rz/sz which break under tmux.

You can configure the default download directory in Settings > Connection, or per-host via the trzsz Upload Path field.

8. Port Forwarding

XuTerm supports SSH port forwarding with three modes.

8.1 Local Port Forwarding (-L)

Forward a local port to a remote address through the SSH tunnel. This is the most common type.

Example: Access a remote database that only listens on localhost:

After enabling, connect to 127.0.0.1:3306 on your device to access the remote database.

8.2 Remote Port Forwarding (-R)

Forward a port on the remote server to a local address. Useful for exposing a local service to the remote network.

8.3 Dynamic (SOCKS) Forwarding (-D)

Create a SOCKS proxy that tunnels traffic through the SSH connection. Specify a local bind address and port, then configure your apps to use it as a SOCKS5 proxy.

8.4 Auto-Start on Connection

Port forwarding rules can be configured to start automatically when you connect to a host:

  1. Create port forwarding rules in the Port Forwarding screen (accessible from the terminal toolbar or Settings).
  2. Toggle the Enabled switch for each rule to control whether it auto-starts.
  3. When connecting, all enabled rules are established automatically.
You can enable/disable port forwarding rules at any time without reconnecting — just toggle the switch.

9. Proxy Jump (Bastion Host)

Connect to a target server through an intermediate bastion host / jump server:

  1. First, add the bastion host as a regular host in XuTerm.
  2. Edit the target host configuration.
  3. In the Jump Host field, select the bastion host you added.
  4. Save and connect. XuTerm establishes an SSH connection to the bastion first, then tunnels through to the target server.
Multi-hop proxy chains are supported. Host A can jump through Host B, which itself jumps through Host C, and so on.

10. SSH Key Management

10.1 Generating a Key

  1. Navigate to the SSH Keys management screen (accessible from Settings or the host form).
  2. Tap Add and select Generate New Key.
  3. Choose the key type:
    • RSA — Widely compatible, 2048/3072/4096 bit.
    • ECDSA — Modern, efficient, 256/384/521 bit.
    • Ed25519 — Recommended for new deployments, strongest security with smallest key size.
  4. Optionally set a passphrase for the private key.
  5. Tap Generate. The key pair is created and stored securely on the device.
  6. You can copy the public key to add it to the server's ~/.ssh/authorized_keys.

10.2 Importing a Key

  1. Tap Add and select Import Key.
  2. Paste the private key content or select a key file from your device.
  3. If the key is encrypted, provide the passphrase.
  4. The key is imported and stored with AES-256 encryption.

10.3 Assigning a Key to a Host

  1. Edit a host configuration.
  2. In the SSH Key dropdown, select the key pair you want to use.
  3. Clear the password field if you want key-only authentication.
  4. Save and connect.
The SSH Key management screen shows each key's fingerprint and the number of hosts using it. Delete unused keys to keep your key list clean.

11. TOTP Two-Factor Authentication

11.1 Adding a TOTP Token

  1. Navigate to the TOTP Tokens management screen.
  2. Tap Add to create a new token.
  3. Enter the token details:
    • Name — A label for this token (e.g., "GitHub 2FA").
    • Secret — The base32-encoded secret from the service.
    • Group — Organize tokens into groups.
  4. Alternatively, scan a QR code to auto-fill the secret.
  5. Save the token. The current code and countdown timer are displayed.

Token management features:

11.2 Using TOTP in Terminal

  1. Link a TOTP token to a host in the host's configuration (TOTP Token field).
  2. When the terminal displays a 2FA prompt, a fill button appears.
  3. Tap the button to generate and auto-fill the current 6-digit code.

12. Server Monitoring

Monitor server resources in real time during an SSH session.

  1. Enable Server Monitor in the host configuration.
  2. When connected, a monitoring bar appears at the top of the terminal showing:
    • CPU usage — Real-time percentage with sparkline chart.
    • Memory usage — Used vs. total with percentage.
    • Disk usage — Used vs. total with percentage.
    • Load average — 1-minute, 5-minute, 15-minute.
  3. Tap the monitor bar to open the detailed monitoring view, which includes:
    • CPU, memory, disk, and load details with visual charts.
    • Process list — View running processes sorted by CPU or memory usage.
    • Kill process — Select a process and send a kill signal.

Configure the refresh intervals in Settings > Server Monitor:

13. Session Snapshots

Save and restore terminal session states for quick recovery:

  1. While connected, tap the Snapshot button in the terminal toolbar.
  2. A snapshot of the current session is saved, including:
    • The host connection details.
    • The terminal scrollback buffer (visible output).
    • The timestamp.
  3. Access saved snapshots from the Session Snapshots management screen.
  4. Tap a snapshot to restore the session state and reconnect to the host.
  5. Delete snapshots you no longer need.

14. Multi-Session Management

XuTerm supports connecting to multiple servers simultaneously:

On Android, the foreground service notification keeps your connections alive even when the app is in the background.

15. Settings

15.1 Biometric Lock

Protect XuTerm with biometric authentication:

  1. Go to Settings and toggle Biometric Unlock.
  2. The app will use your device's biometric hardware (Face ID, Touch ID, or fingerprint).
  3. After enabling, you'll need to authenticate each time you open the app.

15.2 Terminal Settings

Access via Settings > Terminal. Configure:

15.3 Font Settings

Access via Settings > Terminal Font. Configure:

15.4 Color Bar

The color bar is a vertical colored strip on the left side of the terminal that visually distinguishes user input from server output:

The color bar is especially useful when scrolling through long logs — it helps you quickly find where you entered a command and where the output begins.

15.5 Connection Settings

Access via Settings > Connection. Configure:

15.6 Monitor Settings

Configure server monitoring refresh intervals (see Server Monitoring).

15.7 Theme & Appearance

Go to Settings and configure:

15.8 Language

XuTerm supports multiple languages:

Go to Settings > Language to change the display language. The change takes effect immediately.

16. Data Management

16.1 Exporting Configuration

Back up your XuTerm configuration to a file:

  1. Go to Settings > Data Management > Export.
  2. Select which data to export:
    • Hosts
    • SSH Keys
    • Quick Commands
    • Command Snippets
    • Port Forwarding Rules
    • TOTP Tokens
  3. Optionally encrypt the export with a password for security.
  4. Tap Export to save the configuration file to your device.

16.2 Importing Configuration

Restore a previously exported configuration:

  1. Go to Settings > Data Management > Import.
  2. Select the configuration file from your device.
  3. If the file is encrypted, enter the password to decrypt it.
  4. Review the contents and confirm the import.
  5. Imported data is merged with existing data — duplicates are handled intelligently.

16.3 iCloud Sync (iOS)

On iOS devices, XuTerm supports iCloud sync to keep your configuration consistent across all your Apple devices:

  1. Go to Settings > Data Management > iCloud Sync.
  2. Enable iCloud sync. Your configuration is uploaded to iCloud automatically.
  3. On another iOS device with the same Apple ID, enable iCloud sync to download the configuration.
  4. Changes are synced bidirectionally.

17. Security & Privacy

XuTerm is designed with security and privacy as top priorities:

Read the full privacy policy here.