Cliente SSH de escritorio multiplataforma para administrar conexiones, terminales, transferencias SFTP y túneles desde una única aplicación.
- Perfiles SSH con host, puerto, usuario, grupo, etiquetas y favoritos.
- Conexión rápida mediante
usuario@host[:puerto]. - Terminales SSH con streaming bidireccional, reconexión y ajuste de tamaño.
- Terminal local mediante PTY nativo.
- Pestañas y paneles redimensionables con splits anidados, grupos y drag-and-drop.
- Transferencia y navegación de archivos remotos mediante SFTP.
- Explorador remoto opcional integrado en las sesiones SSH.
- Gestión de túneles y port forwarding.
- Importación y exportación de perfiles en formato TOML.
- Almacenamiento de credenciales mediante el keyring del sistema.
- Telemetría opcional para sesiones SSH.
crates/core/ sshcli-core: perfiles, credenciales, SSH, SFTP y forwarding
crates/gui/ sshcli-gui: binario Tauri, comandos IPC y PTY local
crates/gui/ui/ React, xterm.js, Dockview y componentes de la interfaz
La lógica de red, perfiles y credenciales vive en sshcli-core y no depende de
la interfaz gráfica. sshcli-gui expone esa funcionalidad al frontend mediante
comandos y eventos IPC de Tauri.
Todos los sistemas requieren:
- Rust stable.
- Node.js 20 o superior.
- npm.
En Debian/Ubuntu:
sudo apt update
sudo apt install \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libxdo-dev \
libdbus-1-dev \
libssl-dev- Visual Studio Build Tools.
- Workload
Desktop development with C++. - Windows SDK.
- Rust target
stable-x86_64-pc-windows-msvc. - WebView2 Runtime.
- Xcode Command Line Tools.
- Rust stable.
- Node.js 20 o superior.
Instalar las dependencias del frontend:
npm installEjecutar la aplicación en modo desarrollo:
npm run devEjecutar solo el servidor web del frontend:
npm run web:devCompilar solo el frontend:
npm run build:webcargo test --workspaceLos releases usan Conventional Commits y git-cliff. Inspeccionar la siguiente
versión y sus notas sin modificar el repositorio:
bin/release --dryCrear el commit de versión, regenerar CHANGELOG.md y crear el tag local:
bin/releasePublicar el release después de revisarlo:
git push origin HEAD --follow-tagsEl build completo compila primero el frontend y después genera los artefactos de Tauri:
npm run buildLa configuración actual genera paquetes deb y AppImage en:
target/release/bundle/
Ejecutar desde un entorno Windows con las herramientas indicadas arriba:
rustup default stable-x86_64-pc-windows-msvc
npm install
npm run buildEl instalador NSIS se genera en:
target\release\bundle\nsis\
El ejecutable sin instalador se encuentra en:
target\release\sshcli-gui.exe
npm install
npm run buildEl paquete .dmg se genera en target/release/bundle/dmg/.
- Los perfiles se gestionan desde la aplicación y se pueden importar/exportar como TOML.
- Las contraseñas y secretos se almacenan en el keyring del sistema.
- En Linux, la sesión de escritorio debe tener disponible un servicio Secret
Service, como
gnome-keyringo KDE Wallet. - Las preferencias de interfaz se almacenan localmente en el perfil de usuario.
- La configuración de empaquetado está en
crates/gui/tauri.conf.json.
MIT