SFTP Browser
ZestSSH includes a built-in SFTP file browser that lets you navigate, upload, download, rename, delete, and manage files on your remote server through an encrypted SSH connection. The interface adapts to your platform: a single-pane browser on mobile with touch-friendly controls, and a dual-pane file manager on desktop with drag-and-drop support.
Opening the SFTP browser
Section titled “Opening the SFTP browser”From an active SSH session, tap the SFTP icon in the session toolbar. ZestSSH opens an SFTP channel over the existing SSH connection and navigates to your home directory on the server.
Mobile interface
Section titled “Mobile interface”The mobile SFTP browser is a single-pane view optimized for phones and tablets.
Navigation
Section titled “Navigation”- Breadcrumb bar: Displayed at the top of the file list, showing the current path as tappable segments. Tap any segment to jump directly to that directory.
- Parent directory: Tap the up-arrow icon in the app bar to go up one level. The browser tracks your navigation history, so going up returns to exactly where you came from.
- Go to path: Use the overflow menu to type an absolute path and jump to it directly (useful when you know the exact location).
File list
Section titled “File list”Files and directories are displayed in a scrollable list. Each entry shows:
- Icon: Directories get a folder icon in the app’s accent color. Files get type-specific icons based on their extension — code files, config files, images, archives, key files, and logs each have distinct icons and color hints.
- Name: The file or directory name.
- Details: File size (formatted as KB, MB, GB), Unix permissions string, and last modified timestamp. Directories show permissions and modification date.
The footer bar at the bottom shows a count of folders and files in the current directory.
Sorting
Section titled “Sorting”Tap the sort icon in the app bar to sort by name, size, date modified, or file type. Tap the same sort option again to reverse the order. Directories always appear before files regardless of the sort field.
Hidden files
Section titled “Hidden files”Toggle hidden file visibility from the overflow menu. When hidden, files and directories whose names begin with . are filtered from the display.
Viewing and editing files
Section titled “Viewing and editing files”Tap any file to open an action sheet with options:
- Edit in Editor: Downloads the file and opens it in ZestSSH’s built-in text editor. When you save, the file is uploaded back to the same remote path. This is ideal for quick config file edits.
- Download: Downloads the file to your device’s Downloads folder (Android) or the app’s documents directory (iOS, visible in the Files app). A progress bar shows transfer status with percentage.
- Download & Share: Downloads the file to a temporary location and opens the system share sheet, so you can send it via email, messaging, AirDrop, or any other sharing target.
- Copy Path: Copies the full remote path to your clipboard.
- Rename: Opens a dialog to enter a new name for the file or directory.
- Properties: Shows detailed information including name, full path, type, size, permissions, and last modified date.
- Delete: Deletes the file (or recursively deletes a directory) after a confirmation dialog.
Uploading
Section titled “Uploading”Tap the orange floating action button (upload icon) to pick a file from your device using the system file picker. ZestSSH streams the file to the remote server and shows a progress indicator. The file is uploaded to the current remote directory. The upload uses disk-based streaming, so large files do not consume excessive memory.
Creating directories
Section titled “Creating directories”Use the overflow menu and select New Folder. Enter a name in the dialog and the directory is created in the current remote path.
Multi-select mode
Section titled “Multi-select mode”Long-press any file to enter multi-select mode. The interface changes:
- Checkboxes appear next to each entry.
- A count of selected items shows in the app bar.
- Select All Files selects all files (not directories) in the current view.
- Download Selected downloads all selected files with aggregate progress tracking.
- Delete Selected deletes all selected items after confirmation.
Tap the X button to exit multi-select mode.
Pull-to-refresh
Section titled “Pull-to-refresh”Pull down on the file list to refresh the current directory listing.
Desktop interface: dual-pane file manager
Section titled “Desktop interface: dual-pane file manager”On desktop platforms (Windows, macOS, Linux), ZestSSH provides a dual-pane SFTP interface modeled after traditional file managers like Total Commander or Midnight Commander.
Layout
Section titled “Layout”The screen is divided into three areas:
- Left pane: Your local filesystem. Browse directories, see file sizes, permissions, and modification dates.
- Right pane: The remote SFTP filesystem. Same column layout with name, size, permissions, and modification date.
- Bottom panel: The transfer queue, showing all active, pending, completed, and failed transfers with progress bars, transfer speed, and status.
The panes use a resizable split view. Drag the divider to adjust the proportions.
Remote pane features
Section titled “Remote pane features”The remote pane includes:
- Header bar with buttons for navigating up, refreshing, and creating new directories.
- Breadcrumb path with clickable segments for quick navigation.
- Sortable column headers: Click Name, Size, Permissions, or Modified to sort. Click again to reverse. The active sort column is highlighted in the accent color with a direction indicator.
- Right-click context menu on any entry: Download to local, Copy path, New folder, Rename, Change permissions (chmod), Properties, Delete.
- Chmod dialog: A visual permissions editor. Checkboxes for Read/Write/Execute across Owner/Group/Other, with a live octal display (e.g.,
755). Apply to update permissions on the server. - Selection: Click a file to select it, click again to deselect. Selected files highlight in the accent color. Use the header download button to download all selected files.
Transferring files between panes
Section titled “Transferring files between panes”- Drag and drop between panes: Drag a file from the local pane to the remote pane to upload it, or drag from the remote pane to the local pane to download it. The receiving pane highlights with a colored border when a valid drop target is detected.
- Double-click: Double-click a remote file to download it to the current local directory.
- OS file manager drop: Drag files from your operating system’s file manager (Finder, Explorer, Nautilus) directly onto the remote pane to upload them. ZestSSH uses the
desktop_droppackage to handle OS-level drag-and-drop events.
Transfer queue
Section titled “Transfer queue”All transfers flow through a managed queue with a configurable concurrency limit (default: 3 simultaneous transfers). The transfer queue panel shows:
- File name and direction (upload or download indicator).
- Progress bar with bytes transferred and percentage.
- Status: Pending, Active, Completed, Failed, or Cancelled.
- Actions: Cancel an active or pending transfer, retry a failed one, or clear all completed entries.
When all transfers finish, both panes automatically refresh to show the updated file listings.
Embedded mode
Section titled “Embedded mode”The dual-pane SFTP screen can be embedded inline alongside a terminal in desktop split-pane mode. In this configuration, it renders without its own app bar, fitting seamlessly into the desktop shell layout.
Security
Section titled “Security”ZestSSH sanitizes all remote filenames before writing to the local filesystem. Path traversal characters (/, \, .., null bytes) are stripped from file names to prevent a malicious server from writing files outside the intended download directory. This applies to both single-file downloads and batch operations.
Related
Section titled “Related”- Resume Transfers — pick up interrupted downloads where they left off.
- Parallel Transfers — download multiple files simultaneously.
- Drag and Drop — desktop drag-and-drop details and platform notes.