████████╗██████╗ ████████╗█████╗ ██╗ ██████╗ ██████╗ ███╗ ██╗███╗ ██╗███████╗██████╗████████╗
╚══██╔══╝██╔═══██╗╚══██╔══╝██╔══██╗██║ ██╔════╝██╔═══██╗████╗ ██║████╗ ██║██╔════╝██╔════╝╚══██╔══╝
██║ ██║ ██║ ██║ ███████║██║ ██║ ██║ ██║██╔██╗ ██║██╔██╗ ██║█████╗ ██║ ██║
██║ ██║ ██║ ██║ ██╔══██║██║ ██║ ██║ ██║██║╚██╗██║██║╚██╗██║██╔══╝ ██║ ██║
██║ ╚██████╔╝ ██║ ██║ ██║███████╗╚██████╗╚██████╔╝██║ ╚████║██║ ╚████║███████╗╚██████╗ ██║
╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝
Total Connect is a modern, high-performance, cross-platform terminal file manager and cloud client built in Go. It blends the iconic dual-pane efficiency of Total Commander and FileZilla with the power and universal backend integration of
rclone.
Traditional GUI file managers like FileZilla and Total Commander are powerful but often locked into desktop environments or limited to traditional remote protocols like FTP/SFTP. Command-line utilities like rclone offer unparalleled cloud support (S3, Google Drive, OneDrive, Mega, Dropbox, SFTP, SMB, etc.) but lack a responsive, dual-pane interactive interface for fast side-by-side file navigation and management.
Total Connect bridges this gap:
- Dual-Pane Efficiency: Side-by-side local & remote file navigation inspired by Total Commander.
- Powered by rclone: Native access to 40+ cloud storage providers and protocols out-of-the-box.
- Native Atomic Operations: True atomic file/directory moves and server-side transfers without naive copy-then-delete risks.
- Cross-Platform & Lightweight: Compiles to a single zero-dependency binary for Linux, macOS, and Windows.
- Terminal-First UX: Built using Charmbracelet (
bubbletea,lipgloss,bubbles) for smooth, reactive terminal interaction with keyboard-driven hotkeys.
Total Connect is architected with clear boundaries separating the presentation interfaces, engine orchestration, configuration management, and core storage driver layer:
┌────────────────────────────────────────────────────────────────────────┐
│ Interfaces / Consumers │
├───────────────────────────────┬─────────────────────────┬──────────────┤
│ cmd/tc-tui (Bubbletea TUI) │ cmd/tc-cli (CLI Tool) │ Web Daemon │
│ │ │ (Upcoming) │
└───────────────┬───────────────┴────────────┬────────────┴──────────────┘
│ │
▼ ▼
┌────────────────────────────────────────────────────────────────────────┐
│ Session Management (`internal/core`) │
│ SessionManager & State Handlers │
└──────────────────────────────────┬─────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ Storage Engine Layer (`internal/core`) │
│ StorageEngine Interface (Copy, Move, Delete) │
├────────────────────────────────────────────────────────────────────────┤
│ RcloneEngine (`rclone_ops.go`) │
│ rclone/fs, operations, sync, and accounting │
└──────────────────────────────────┬─────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ Config & Storage Backends (`internal/config`) │
│ Cross-Platform rclone.conf resolution & parsing │
│ (Local FS, S3, Google Drive, SFTP, SMB, Mega, Dropbox, etc.) │
└────────────────────────────────────────────────────────────────────────┘
cmd/tc-tui: The interactive Terminal User Interface entry point built onbubbletea.cmd/tc-cli: Command-line execution tool for scriptable tasks and headless operations.internal/tui: UI components including dual navigation panes, reactive status bar with active transfer progress, remote selection modal, and shortcut cheat sheet.internal/core:StorageEngineabstraction layer andRcloneEngineimplementation utilizing rclone operations natively for atomic file/directory manipulation and progress callbacks.internal/config: Unified cross-platform config discovery resolvingrclone.confpaths across Linux, macOS, and Windows.internal/models: Standardized data models (FileItem,RemoteItem,Progress).
Total Connect is designed for speed and productivity with simple keyboard shortcuts:
| Shortcut | Action | Description |
|---|---|---|
Tab |
Switch Pane | Toggle focus between Left and Right panes |
Up / k |
Cursor Up | Move selection up by one row |
Down / j |
Cursor Down | Move selection down by one row |
PgUp / PgDown |
Page Up / Down | Scroll active pane by page height |
Enter |
Open / Enter | Enter selected directory or open parent .. |
Backspace |
Parent Directory | Navigate up to parent directory |
F5 / c |
Copy | Copy selected item to opposite pane with progress bar |
F6 / m |
Move | Move selected item natively to opposite pane |
F7 / n |
Mkdir | Open prompt to create new directory |
F8 / d |
Delete | Delete selected file or directory with confirmation |
r |
Select Remote | Open storage backend selector modal |
Ctrl+R |
Refresh | Reload active pane directory contents |
? |
Help | Toggle Keyboard Shortcut Cheat Sheet modal |
q / Ctrl+C |
Quit | Exit Total Connect |
- Go: Version 1.22 or higher.
- Git: For cloning repository.
-
Clone the repository:
git clone https://github.com/M5Devs/Total-Connect.git cd Total-Connect -
Run the TUI directly:
go run ./cmd/tc-tui
-
Build binaries:
# Build TUI application go build -o bin/tc-tui ./cmd/tc-tui # Build CLI tool go build -o bin/tc-cli ./cmd/tc-cli
-
Run Unit Tests:
go test -v ./...
Total Connect is open-source software licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.