### Install Termscp via Cargo (Standard) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Install Termscp using Cargo, Rust's package manager. This is the standard installation method. ```rust cargo install --locked termscp ``` -------------------------------- ### Install Termscp via Cargo (with Keyring support) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Install Termscp using Cargo, Rust's package manager. This command installs without default features and enables keyring support. ```rust cargo install --locked --no-default-features --features keyring termscp ``` -------------------------------- ### Install Termscp via Cargo (with SMB support) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Install Termscp using Cargo, Rust's package manager. This command installs without default features and enables SMB support. ```rust cargo install --locked --no-default-features --features smb termscp ``` -------------------------------- ### Install Termscp on NetBSD Source: https://github.com/veeso/termscp/blob/main/README.md NetBSD users can install termscp from the official repositories using pkgin. ```sh pkgin install termscp ``` -------------------------------- ### Launch termscp with no arguments Source: https://context7.com/veeso/termscp/llms.txt Launches termscp without any arguments, which will display the authentication form for manual connection setup. ```sh termscp ``` -------------------------------- ### Multi-file transfer example Source: https://context7.com/veeso/termscp/llms.txt Demonstrates how to select multiple files using the 'M' key and then transfer them using the SPACE key. Files are associated with specific remote directories. ```bash # In local panel: navigate to /home/user/docs # Press on report.pdf -> selected, associated with current remote dir /tmp # Navigate to /var/logs # Press on access.log -> selected, associated with current remote dir /home/remote # Press to transfer both # Result: # /home/user/docs/report.pdf -> /tmp/report.pdf # /var/logs/access.log -> /home/remote/access.log ``` -------------------------------- ### Install Termscp via Brew (macOS) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Install Termscp on macOS using the Homebrew package manager. ```bash brew install veeso/termscp/termscp ``` -------------------------------- ### Install Termscp via Deb Package (Debian/Ubuntu) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Download and install the Deb package for Termscp on Debian based distributions. ```bash wget -O termscp.deb https://github.com/veeso/termscp/releases/latest/download/termscp_1.0.0_amd64.deb sudo dpkg -i termscp.deb ``` -------------------------------- ### Install Termscp on Windows via Chocolatey Source: https://github.com/veeso/termscp/blob/main/README.md Windows users can install termscp using the Chocolatey package manager. ```ps choco install termscp ``` -------------------------------- ### Install Termscp via Chocolatey (Windows) Source: https://github.com/veeso/termscp/blob/main/site/html/get-started.html Install Termscp on Windows using Chocolatey. If the latest version is not available, you can install from a downloaded ZIP file. ```powershell choco install termscp ``` ```powershell choco install termscp -s . ``` -------------------------------- ### Install Termscp on Arch Linux Source: https://github.com/veeso/termscp/blob/main/README.md Arch Linux users can install termscp from the official repositories using pacman. ```sh pacman -S termscp ``` -------------------------------- ### Custom formatter example: name, permissions, user, group, and symlink Source: https://context7.com/veeso/termscp/llms.txt An example of a custom file explorer formatter that displays file name, permissions, owner, group, and symlink information. ```plaintext # Show name, permissions, user, group, and symlink {NAME:24} {PEX} {USER} {GROUP} {SYMLINK} ``` -------------------------------- ### Custom formatter example: name, size, and modification date Source: https://context7.com/veeso/termscp/llms.txt An example of a custom file explorer formatter that displays the file name (truncated), size, and modification date. ```plaintext # Show name, size, and modification date only {NAME:32} {SIZE} {MTIME:12:%Y-%m-%d} ``` -------------------------------- ### Install Termscp on Linux/macOS via Curl Source: https://github.com/veeso/termscp/blob/main/README.md Use this command to install termscp on Linux and macOS systems. macOS users require Homebrew. ```sh curl --proto '=https' --tlsv1.2 -sSLf "https://git.io/JBhDb" | sh ``` -------------------------------- ### Update termscp via CLI Source: https://github.com/veeso/termscp/blob/main/site/html/updates.html Use this command to initiate an update for termscp directly from the command line. Run with sudo if necessary for system-wide installations. ```bash termscp --update ``` -------------------------------- ### KeePassXC Secret Service Integration Setup Source: https://context7.com/veeso/termscp/llms.txt Steps to enable KeePassXC's freedesktop.org secret service integration for secure key storage on Linux. This ensures termscp can securely store encryption keys. ```plaintext 1. Install KeepassXC 2. Tools > Settings > Secret service integration -> Enable "KeepassXC freedesktop.org secret service integration" 3. Database > New database (if you don't have one) 4. Database > Database settings > Secret service integration -> Enable "Expose entries under this group" -> Select the group for termscp secrets ``` -------------------------------- ### Connect using SCP with custom port, username, and remote directory Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a remote host using SCP, specifying the username, port, and the starting working directory on the remote server. The working directory is appended after the port. ```sh termscp scp://omar@192.168.1.31:4022:/tmp ``` -------------------------------- ### Connect directly via bookmark from CLI Source: https://context7.com/veeso/termscp/llms.txt Shows how to initiate a connection using a saved bookmark directly from the command line. Multiple bookmarks can be specified. ```sh termscp -b my-nas termscp -b staging -b production /local/workdir ``` -------------------------------- ### Open configuration UI directly Source: https://context7.com/veeso/termscp/llms.txt Launches the Termscp configuration user interface from the command line. ```sh termscp config ``` -------------------------------- ### Basic termscp CLI Syntax Source: https://context7.com/veeso/termscp/llms.txt Shows the basic command structure for termscp, including options and arguments for connecting to remote or local directories. ```sh termscp [options]... [protocol://user@address:port:wrkdir] [protocol://user@address:port:wrkdir] [local-wrkdir] ``` ```sh termscp [options]... -b [bookmark-name] -b [bookmark-name] [local-wrkdir] ``` -------------------------------- ### Show Full Path with Creation Time Source: https://context7.com/veeso/termscp/llms.txt This format string displays the full path of a file followed by its creation time in ISO 8601 format. ```shell {PATH:40} {CTIME:20:%Y-%m-%dT%H:%M:%S} ``` -------------------------------- ### Set Up a Watched Path for File Synchronization Source: https://context7.com/veeso/termscp/llms.txt This process sets up a one-way synchronization from a local directory to a remote path. Changes are automatically synced within 5 seconds. ```text 1. In the local explorer, navigate to the file/directory to watch 2. In the remote explorer, navigate to the destination directory 3. Press 4. Confirm with ``` -------------------------------- ### Self-update termscp Source: https://context7.com/veeso/termscp/llms.txt Updates termscp to the latest version. Use sudo if termscp was installed system-wide. ```sh termscp update ``` ```sh sudo termscp update ``` -------------------------------- ### Connect to SMB share on Windows Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to an SMB share on a Windows system using a specific syntax that includes the server name, share name, and an optional path. ```sh \[username@]\[\path\...] ``` -------------------------------- ### Import Theme File Source: https://github.com/veeso/termscp/blob/main/docs/man.md Command to import a theme file into Termscp. Ensure the theme file path is correct. ```sh termscp -t ``` -------------------------------- ### Import a theme file Source: https://context7.com/veeso/termscp/llms.txt Imports a custom theme for Termscp. The legacy -t flag is also supported in some builds. ```sh termscp theme ./themes/catppuccin-frappe.toml # short form (legacy -t flag still works in some builds): termscp -t my-custom-theme.toml ``` -------------------------------- ### Connect using Bookmark Name - CLI Argument Source: https://github.com/veeso/termscp/blob/main/CHANGELOG.md Connect to a remote host using a pre-configured bookmark name via command-line arguments. If the password is saved in the bookmark, it will be used automatically; otherwise, you will be prompted. ```sh termscp -b ``` -------------------------------- ### Build and Test Commands for Termscp Source: https://github.com/veeso/termscp/blob/main/CLAUDE.md Standard Cargo commands for building, testing, and linting the termscp project. Includes options for release builds, minimal builds, and specific test execution. ```bash cargo build cargo build --release cargo build --no-default-features # minimal build without SMB/keyring ``` ```bash cargo test --no-default-features --features github-actions --no-fail-fast ``` ```bash cargo test -- --nocapture ``` ```bash cargo test --lib filetransfer:: cargo test --lib config::params::tests ``` ```bash cargo clippy -- -Dwarnings ``` ```bash cargo fmt --all -- --check # check only cargo fmt --all # fix ``` -------------------------------- ### Import a Theme Source: https://context7.com/veeso/termscp/llms.txt This command imports a custom theme file into Termscp. Ensure the path to the theme file is correct. ```shell termscp theme ./themes/catppuccin-frappe.toml ``` -------------------------------- ### Connect to WebDAV server with HTTP Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a WebDAV server using HTTP, providing username, password, URL, and the path on the server. ```sh http://:@ ``` -------------------------------- ### View All Watched Paths Source: https://context7.com/veeso/termscp/llms.txt Pressing CTRL+T displays a list of all currently configured watched paths for synchronization. ```text Press (shows the synchronization list) ``` -------------------------------- ### Connect to SMB share on other systems Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to an SMB share on non-Windows systems using a URI-like syntax, specifying username, server, port, share, and an optional path. ```sh smb://[username@][:port]/[/path/.../] ``` -------------------------------- ### Connect using a saved bookmark Source: https://context7.com/veeso/termscp/llms.txt Connects to a remote server using a previously saved bookmark name. Multiple bookmarks can be specified to open multiple remote panels. ```sh termscp -b my-server ``` ```sh termscp -b staging -b production ``` -------------------------------- ### Import SSH hosts from ssh_config as bookmarks Source: https://context7.com/veeso/termscp/llms.txt Imports SSH host configurations from the default SSH config file (~/.ssh/config) or a specified custom file to create Termscp bookmarks. ```sh # Uses ~/.ssh/config by default termscp import-ssh-hosts # Specify a custom SSH config file termscp import-ssh-hosts /etc/ssh/ssh_config.d/work.conf ``` -------------------------------- ### SMB Protocol Address Syntax (Linux/macOS) Source: https://context7.com/veeso/termscp/llms.txt Defines the syntax for connecting to SMB shares on Linux and macOS, including username, server name, port, share, and path. ```sh smb://[username@][:port]/[/path/] ``` ```sh termscp smb://alice@fileserver/shared/documents ``` -------------------------------- ### SMB Protocol Address Syntax (Windows) Source: https://context7.com/veeso/termscp/llms.txt Defines the syntax for connecting to SMB shares on Windows, using backslashes for path separators and including username, server name, share, and path. ```ps1 \[username@]\[\path\...] ``` ```ps1 termscp \\alice@fileserver\shared\documents ``` -------------------------------- ### Connect to remote host with default protocol Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a remote host using the default protocol defined in your configuration. The username defaults to the current user. ```sh termscp 192.168.1.31 ``` -------------------------------- ### Termscp Application Lifecycle Flowchart Source: https://github.com/veeso/termscp/blob/main/CLAUDE.md Visual representation of the termscp application's main execution flow, from parsing arguments to the activity loop and its constituent activities. ```text main.rs → parse CLI args → ActivityManager::new() → ActivityManager::run() ↓ Activity loop (draw → poll → update) ├── AuthActivity (login/bookmarks) ├── FileTransferActivity (dual-pane explorer) └── SetupActivity (configuration) ``` -------------------------------- ### Kubernetes Protocol Address Syntax Source: https://context7.com/veeso/termscp/llms.txt Defines the syntax for connecting to Kubernetes resources, including namespace, cluster URL, and path. ```sh kube://[namespace][@][$/path] ``` ```sh termscp kube://default@https://my-cluster.example.com$/var/data ``` -------------------------------- ### Connect to WebDAV server with HTTPS Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a WebDAV server using HTTPS, providing username, password, URL, and the path on the server. ```sh https://:@ ``` -------------------------------- ### Theme File Format (TOML) Source: https://context7.com/veeso/termscp/llms.txt This TOML configuration defines colors for various UI elements in Termscp. Colors can be specified using CSS names, hex codes, RGB values, or 'Default'. ```toml # Authentication page auth_address = "Yellow" auth_bookmarks = "LightGreen" auth_password = "LightBlue" auth_port = "LightCyan" auth_protocol = "LightGreen" auth_recents = "LightBlue" auth_username = "LightMagenta" # Transfer page transfer_local_explorer_background = "Default" transfer_local_explorer_foreground = "Default" transfer_local_explorer_highlighted = "Yellow" transfer_remote_explorer_background = "Default" transfer_remote_explorer_foreground = "Default" transfer_remote_explorer_highlighted = "LightBlue" transfer_log_background = "Default" transfer_log_window = "LightGreen" transfer_progress_bar = "Green" transfer_status_hidden = "LightBlue" transfer_status_sorting = "LightYellow" transfer_status_sync_browsing = "LightGreen" # Dialogs misc_error_dialog = "Red" misc_info_dialog = "LightYellow" misc_input_dialog = "Default" misc_keys = "Cyan" misc_quit_dialog = "Yellow" misc_save_dialog = "LightCyan" misc_warn_dialog = "LightRed" ``` -------------------------------- ### SFTP/SCP/FTP Protocol Address Syntax Source: https://context7.com/veeso/termscp/llms.txt Defines the syntax for specifying SFTP, SCP, and FTP addresses, including optional protocol, username, address, port, and working directory. ```sh [protocol://][username@]
[:port][:wrkdir] ``` ```sh termscp sftp://alice@myserver.com:22:/home/alice ``` ```sh termscp ftp://user@ftp.example.com:21:/pub ``` -------------------------------- ### Open File in Text Editor Source: https://context7.com/veeso/termscp/llms.txt Pressing 'O' or 'F4' on a file opens it in the configured text editor. For remote files, Termscp downloads them to a temporary location, and re-uploads them upon saving if modified. ```text Press or on a file to open it in the configured text editor # For remote files: # 1. File is downloaded to a temp directory # 2. Editor opens # 3. On save+close, if the file was modified (mtime changed), it is re-uploaded ``` -------------------------------- ### Connect to Kubernetes cluster Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a Kubernetes cluster using a specific address format that can include the namespace, cluster URL, and a path. ```sh kube://[namespace][@][$] ``` -------------------------------- ### Connect to AWS S3 bucket Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to an AWS S3 bucket using a specific syntax that includes the bucket name, region, and an optional profile and working directory. ```sh s3://buckethead@eu-central-1:default:/assets ``` -------------------------------- ### Default formatter Source: https://context7.com/veeso/termscp/llms.txt The default configuration for displaying file entries in the Termscp file explorer. ```plaintext {NAME:24} {PEX} {USER} {SIZE} {MTIME:17:%b %d %Y %H:%M} ``` -------------------------------- ### Logging Levels Source: https://context7.com/veeso/termscp/llms.txt Termscp writes per-session logs. You can control the logging level from INFO (default) to TRACE for debugging, or disable logging entirely with the -q flag. ```shell # Normal run (INFO level) termscp sftp://alice@server.com # Enable TRACE level for detailed debugging / bug reports termscp -D sftp://alice@server.com # Disable logging entirely termscp -q sftp://alice@server.com ``` -------------------------------- ### Configure Text Editor Source: https://context7.com/veeso/termscp/llms.txt Specify your preferred text editor in the Termscp configuration. GUI editors are supported as long as they do not detach from the parent process (e.g., using nohup). ```text Text Editor: vim # GUI editors work too, as long as they don't nohup from the parent process ``` -------------------------------- ### WebDAV Protocol Address Syntax Source: https://context7.com/veeso/termscp/llms.txt Specifies the syntax for WebDAV connections, including username, password, URL, and path for both HTTP and HTTPS. ```sh http://:@ ``` ```sh https://:@ ``` ```sh termscp https://alice:s3cret@webdav.example.com/remote.php/dav/files/alice/ ``` -------------------------------- ### Connect to remote host with specified username Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a remote host using the default protocol and a specified username. The username is provided before the host address. ```sh termscp root@192.168.1.31 ``` -------------------------------- ### File explorer formatter syntax Source: https://context7.com/veeso/termscp/llms.txt Defines the syntax for customizing the file explorer display. It uses placeholders for file attributes and supports length truncation and formatting. ```plaintext {KEY1} {KEY2:LENGTH} {KEY3:LENGTH:EXTRA} ``` -------------------------------- ### Configure Notification Settings Source: https://context7.com/veeso/termscp/llms.txt Configure notification settings within termscp using the interactive interface. Set preferences for enabling notifications and the minimum transfer size for alerts. ```plaintext Enable notifications? Yes Notifications: minimum transfer size 1 MB ``` -------------------------------- ### Connect with Passphrase-Protected SSH Key Source: https://context7.com/veeso/termscp/llms.txt When connecting via SFTP with a passphrase-protected SSH key, enter the key's passphrase in the password prompt. Termscp uses this passphrase for both password authentication and RSA key authentication. ```shell termscp sftp://alice@myserver.com # -> prompted: "Password:" — enter the key passphrase here ``` -------------------------------- ### Connect using SCP with custom port and username Source: https://github.com/veeso/termscp/blob/main/docs/man.md Connect to a remote host using the SCP protocol with a custom port and a specified username. The port and username are part of the address argument. ```sh termscp scp://omar@192.168.1.31:4022 ```