Expand description
§ssh-cli
CLI Rust full-stack que dá a uma LLM (Claude Code, Cursor, Windsurf) a capacidade de operar servidores remotos via SSH em um fluxo de subprocesso via stdin/stdout.
§Módulos
| Módulo | Responsabilidade |
|---|---|
cli | Definição de argumentos via clap derive e dispatcher |
vps | CRUD e persistência de registros de VPS (XDG + TOML + 0o600) |
secrets | Master-key e cifragem at-rest default (ChaCha20-Poly1305) |
ssh | Cliente SSH one-shot real via russh (auth senha/chave, TOFU) |
i18n | Internacionalização com enum Mensagem bilíngue |
locale | Detecção e resolução de locale do sistema operacional |
platform | Ajustes de plataforma (UTF-8 Windows, detecção TTY) |
mascaramento | Mascaramento Unicode-safe de valores sensíveis |
erros | Tipos de erro estruturados via thiserror |
output | Único módulo autorizado a println! (formatação CRUD) |
paths | Validação e normalização de caminhos (anti-traversal, NFC) |
signals | Handler de Ctrl+C com flag de cancelamento via AtomicBool |
terminal | Detecção de TTY e escolha de cor via termcolor |
§Entry point
A função pública run é o ponto de entrada chamado por main.rs.
Modules§
- cli
- Definição de argumentos CLI via
clapderive e dispatcher. - erros
- Tipos de erro do ssh-cli.
- i18n
- Sistema de internacionalização do ssh-cli.
- locale
- Detecção e resolução de idioma cross-platform.
- mascaramento
- Mascaramento Unicode-safe de valores sensíveis (senhas, tokens).
- output
- Único módulo autorizado a emitir output em stdout para CRUD de VPS.
- paths
- Validação e normalização de caminhos de arquivo.
- platform
- Abstrações condicionais por sistema operacional.
- scp
- Transferência de arquivos via SCP sobre SSH.
- secrets
- Cifragem at-rest de segredos no
config.toml(GAP-009 / R-SECRETS-DEFAULT). - signals
- Tratamento de sinais do sistema operacional.
- ssh
- Motor SSH via
russh0.60.x. - terminal
- Configuração de output colorido e detecção de terminal interativo.
- tunnel
- Tunnel SSH (port-forward local) com deadline obrigatório (one-shot limitado).
- vps
- CRUD e persistência de registros de VPS (XDG + TOML atômico + flock).
Functions§
- run
- Executa o ssh-cli a partir dos argumentos da linha de comando.