Ir para o conteúdo

Capítulo 6: Sistemas de arquivos virtuais e rede

O gerenciamento moderno de arquivos raramente para no limite de um único disco rígido físico. Os desenvolvedores de software mantêm ambientes de teste remotos por SFTP; administradores de sistema gerenciam compartilhamentos de arquivos empresariais por meio de SMB/CIFS; os criadores de conteúdo acessam armazenamento em nuvem e servidores de mídia via WebDAV; e usuários avançados inspecionam, editam e empacotam rotineiramente arquivos compactados em escala de gigabytes.

Os ambientes de desktop tradicionais forçam os usuários a lidar com aplicativos desarticulados: um utilitário de arquivamento independente para descompactar e recomprimir arquivos zip, um cliente FTP/SFTP externo para gerenciar ativos do servidor e caixas de diálogo de montagem do sistema operacional que espalham volumes remotos em janelas desconectadas do Finder.

O ATBCmder elimina essa fragmentação por meio de seu mecanismo Virtual File System (VFS). Construído sobre uma camada de abstração de URI vfs:// unificada, o ATBCmder trata servidores remotos e arquivos compactados exatamente como pastas locais padrão. Você pode navegar em um arquivo .tar.gz, visualizar arquivos de código com F3, editar um arquivo de configuração aninhado com F4 (com reempacotamento automático ao vivo ao salvar) e copiar ativos diretamente em uma sessão SFTP segura para um NAS SMB local usando a chave F5 padrão - tudo sem extrair arquivos intermediários para o disco ou alternar entre ferramentas separadas.


1. Guia de início rápido visual: arquitetura VFS e matriz de comandos

ATBCmder roteia todo o acesso ao sistema de arquivos através de uma camada de abstração unificada. Quer um caminho aponte para uma partição SSD APFS da Apple, um membro dentro de um arquivo .zip aninhado ou um diretório remoto hospedado em um servidor Linux SFTP do outro lado do mundo, a interface de painel duplo fornece um modelo operacional idêntico.

┌────────────────────────────────────────────────────────────────────────────────────────┐
│                              ATBCMDER DUAL-PANEL GUI                                   │
│            Left Panel (Active)                  Right Panel (Inactive / Target)        │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                          │                                             │
│  [1] Local File System                   │  [2] Archive Virtual File System (VFS)      │
│      file:///Users/brain/projects/       │      vfs:///Users/brain/backup.tar.gz/src/  │
│      Direct POSIX / APFS access          │      In-place browse, F3 view, F4 live edit │
│                                          │                                             │
│  [3] Remote Network VFS (SFTP/SSH)       │  [4] Remote Storage VFS (SMB / WebDAV)      │
│      vfs://sftp://deploy@aws.prod/app/   │      vfs://smb://admin@truenas/Pool/Media/  │
│      Paramiko / SSH Keys / Keychain      │      Kernel mount_smbfs / WebDAVClient3     │
│                                          │                                             │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                          UNIFIED VFS DISPATCH ENGINE (vfs://)                          │
│     FileSystemModel ➔ VFSManager ➔ SessionCache ➔ StreamCopyWorker / RepackWorker      │
└────────────────────────────────────────────────────────────────────────────────────────┘

Folha de dicas de rede e VFS de matriz dupla

Ação Atalho do macOS Tecla Commander Clássica ID do comando Descrição
Compactar arquivos em arquivo Alt+F5 / ⌥F5 Alt+F5 cm_PackFiles Abre a caixa de diálogo Archive Pack com opções de formato, compactação e senha.
Extrair arquivos do arquivo Alt+F9 / ⌥F9 Alt+F9 cm_ExtractFiles Descompacta os arquivos selecionados com resolução de colisão.
Conexão rápida de rede Menu: Rede cm_NetworkConnect cm_NetworkConnect Abre a caixa de diálogo de conexão ad-hoc rápida.
Gerenciador de conexões Menu: Rede cm_ManageConnections cm_ManageConnections Abre o gerenciador de rede CRUD completo com perfis de conexão salvos.
Conexão FTP Ctrl+S / ⌃S Ctrl+S cm_FTPConnect Atalho rápido para acionar sessão de conexão FTP.
Insira arquivo/pasta Enter / ⏎ Enter cm_Open Navega diretamente dentro de um .zip, .tar, .7z ou diretório remoto.
Ascender para pasta pai Backspace / ⌫ Backspace cm_GoToParent Sai do arquivo ou diretório remoto de volta ao nível pai.
Ver arquivo virtual/remoto F3 / Fn+F3 F3 cm_View Transmite arquivo remoto ou compactado para o Universal Lister.
Editar arquivo virtual/remoto F4 / Fn+F4 F4 cm_Edit Abre arquivo no editor; reembala automaticamente ou carrega de volta ao salvar.
Cópia entre painéis/VFS F5 / Fn+F5 F5 cm_Copy Copia itens selecionados em endpoints locais, de arquivo ou de rede.
Painel de operações em segundo plano Menu: Mostrar cm_OperationsPanel cm_OperationsPanel Monitora filas de transferência em segundo plano, velocidades e threads ativos.

2. A abstração unificada de vfs:// URI

Os gerenciadores de arquivos tradicionais tratam servidores e arquivos remotos como cidadãos de segunda classe, exigindo utilitários de montagem externos, pastas de extração temporárias ou clientes de transferência de terceiros. ATBCmder unifica todas as fontes de arquivo em uma especificação de URI única e bem definida:

vfs://[protocol]://[user]@[host]:[port]/[remote_path]

2.1 Anatomia dos Caminhos Virtuais

Dependendo do domínio operacional, os URIs vfs:// assumem um dos dois formatos padrão:

  1. Arquivar caminhos virtuais:

    vfs:///Users/brain/Documents/release_v1.7.zip/src/main.py
    

  2. Prefixo externo: vfs:// instrui FileSystemModel a interceptar a travessia do caminho.

  3. Caminho do contêiner: /Users/brain/Documents/release_v1.7.zip identifica o arquivo do contêiner físico no armazenamento local.
  4. Membro Interno: src/main.py identifica o recurso virtual aninhado dentro do arquivo.

  5. Caminhos do servidor de rede:

    vfs://sftp://developer@staging.internal.net:2222/var/www/html/index.php
    vfs://smb://admin@192.168.1.50/StoragePool/Backups/2026/
    vfs://webdavs://user@cloud.mycompany.com:443/remote.php/dav/files/user/
    

  6. Especificador de esquema: Identifica o driver de transporte (sftp, ftp, ftps, smb, webdav, webdavs, gdrive, dropbox).

  7. Autenticação: codifica as credenciais do usuário e a porta de destino.
  8. Destino remoto: Resolve diretórios absolutos e caminhos de arquivos no host remoto.
┌────────────────────────────────────────────────────────────────────────────────────────┐
│                              VFS URI ROUTING IN ACTION                                 │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                        │
│   Input URI: vfs://sftp://deploy@aws.infra:22/var/log/nginx/access.log                 │
│                 │      │        │        │   └────────────────────► Remote Path        │
│                 │      │        │        └────────────────────────► Port (Default 22)  │
│                 │      │        └─────────────────────────────────► Host / Server      │
│                 │      └──────────────────────────────────────────► Username           │
│                 └─────────────────────────────────────────────────► Protocol Scheme    │
│                                                                                        │
│   Input URI: vfs:///Volumes/Data/Archive.zip/docs/manual.pdf                           │
│                 │                      │        └─────────────────► Archive Member     │
│                 │                      └──────────────────────────► Physical Archive   │
│                 └─────────────────────────────────────────────────► Virtual Scheme     │
└────────────────────────────────────────────────────────────────────────────────────────┘

2.2 Integração perfeita de painel duplo

Como os caminhos virtuais estão em conformidade com as estruturas de diretório padrão dentro do ATBCmder, você desfruta de paridade total de painel duplo:

  • Áreas de trabalho virtuais com guias: abra uma pasta SFTP remota na guia 1, um arquivo ZIP local criptografado na guia 2 e sua pasta ~/Downloads local na guia 3.
  • Cópia direcional (F5): Selecione os arquivos em seu painel ativo local e pressione F5 para carregá-los diretamente no servidor remoto ou arquivo compactado exibido no painel inativo.
  • Interoperabilidade de arrastar e soltar: arraste itens entre painéis entre discos locais, compartilhamentos de rede e hierarquias de arquivos sem preparação intermediária.
  • Barra de localização atual: a barra de caminho de localização atual analisa URIs virtuais em segmentos clicáveis. Clique em qualquer pasta pai ou no emblema do servidor raiz para subir na árvore instantaneamente.

3. Arquivar VFS: navegação e inspeção no local

Abrir um arquivo no ATBCmder não requer extração manual ou ferramenta de descompactação de terceiros. Basta destacar qualquer arquivo suportado e pressionar Enter (ou clicar duas vezes). ATBCmder monta o arquivo no local, transformando o painel em um navegador de diretório virtual de alta velocidade.

Archive VFS In-Place Navigation Figura 6.1: Navegando dentro de um arquivo compactado multi-aninhado como uma pasta virtual, mostrando tamanhos não compactados, carimbos de data/hora e subdiretórios.

3.1 Formatos de arquivo suportados

ATBCmder possui drivers integrados para todos os formatos de compactação e arquivamento padrão da indústria:

Formato Extensões de arquivo Leia Suporte Escrever / Embalar Suporte à criptografia
CEP .zip Sim Sim Padrão e AES-256 (pyzipper)
Tarball GZip .tar.gz, .tgz Sim Sim Streaming tar padrão POSIX
Tarball BZip2 .tar.bz2, .tbz2 Sim Sim Compressão de bloco bzip2 de alta proporção
XZ Tarball .tar.xz, .txz Sim Sim Compressão LZMA2 de alta eficiência
TAR simples .tar Sim Sim Arquivo de fita UNIX não compactado
7-Zip .7z Sim Sim (através de py7zr) Compressão sólida LZMA / LZMA2

3.2 Fluxos de trabalho de navegação no local

Ao navegar dentro de um arquivo:

  1. Insira os subdiretórios: pressione Enter em qualquer pasta dentro do arquivo para explorar árvores aninhadas.
  2. Ascender para Pai (..): Pressione Backspace (⌫) ou clique duas vezes na entrada .. [Parent Directory] para ascender. Depois de chegar à raiz do arquivo, pressionar Backspace retorna você de forma limpa ao diretório físico que contém o arquivo morto.
  3. Visualização instantânea (F3 / Fn+F3): Destaque qualquer documento, imagem ou arquivo de origem dentro do arquivo e pressione F3. ATBCmder extrai automaticamente o arquivo de destino para uma sandbox temporária segura e o renderiza dentro do Universal Lister.
  4. Cópia seletiva (F5 / Fn+F5): Em vez de descompactar um arquivo inteiro de vários gigabytes apenas para recuperar um ou dois arquivos, selecione os membros específicos necessários e pressione F5. ATBCmder descompacta apenas os itens escolhidos diretamente no painel inativo.

Note

Ao visualizar ou copiar arquivos individuais de um arquivo, o ATBCmder transmite apenas os bytes do arquivo solicitados diretamente do fluxo do contêiner. Ele não desperdiça espaço em disco ou tempo descompactando arquivos irmãos não selecionados.


4. Reempacotamento ao vivo: edição no local dentro dos arquivos

Um dos fluxos de trabalho mais poderosos no ATBCmder é o Live Repacking. Historicamente, a modificação de um único arquivo aninhado dentro de um arquivo compactado exigia uma sequência tediosa de seis etapas: extrair o arquivo inteiro, localizar o arquivo de destino, editá-lo e salvá-lo, recompactar o diretório em um novo arquivo, excluir o arquivo original e limpar pastas temporárias.

ATBCmder torna a edição de arquivos dentro de arquivos tão fácil quanto a edição de arquivos locais padrão.

┌────────────────────────────────────────────────────────────────────────────────────────┐
│                              LIVE REPACKING LIFECYCLE                                  │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                        │
│  1. User presses F4 on "config.json" inside "package.zip"                              │
│     │                                                                                  │
│     ├──► ATBCmder extracts "config.json" to sandbox: /tmp/dc_repack_xyz/config.json    │
│     └──► Opens internal EditorDialog with window title: "config.json — Editor"         │
│                                                                                        │
│  2. User modifies file and presses Cmd+S (Save)                                        │
│     │                                                                                  │
│     ├──► Editor emits file_saved signal                                                │
│     └──► RepackWorker checks original archive size vs ArchiveRepackWarningMB threshold │
│                                                                                        │
│  3. Atomic Repack Execution                                                            │
│     │                                                                                  │
│     ├──► Writes modified stream to staging archive: /tmp/package.zip.tmp               │
│     ├──► Validates container integrity via archive driver                              │
│     ├──► Atomic swap: os.replace("/tmp/package.zip.tmp", "/original/package.zip")      │
│     └──► Refreshes active file panel and cleans up sandbox /tmp/dc_repack_xyz/         │
│                                                                                        │
└────────────────────────────────────────────────────────────────────────────────────────┘

4.1 Passo a passo: Editando um arquivo de configuração arquivado

  1. Navegue até o arquivo (por exemplo, application_bundle.zip) pressionando Enter.
  2. Localize o arquivo que deseja modificar (por exemplo, settings.yaml).
  3. Pressione F4 (Fn+F4). ATBCmder extrai o arquivo em um cache temporário e inicia o Editor integrado.
  4. Faça suas modificações no editor.
  5. Pressione Cmd+S (⌘S) para salvar.
  6. Feche o editor com Cmd+W (⌘W) ou Esc.
  7. O RepackWorker do ATBCmder atualiza automaticamente o membro interno, compacta a estrutura atualizada em um arquivo temporário, substitui atomicamente o arquivo original e atualiza a visualização do painel.

Caution

Proteção de segurança de arquivo grande (ArchiveRepackWarningMB) Reembalar um arquivo compactado requer descompactar e recodificar fluxos de contêiner. Modificar um arquivo de 10 KB dentro de um arquivo de vídeo .tar.gz de 20 GB forçaria o computador a reescrever todos os 20 GB de dados.

Para evitar congelamentos acidentais do disco, o ATBCmder inclui um limite de segurança de proteção (ArchiveRepackWarningMB, padrão: 100 MB em atbcmder.xml). Se você tentar editar ou excluir um arquivo dentro de um arquivo maior que esse limite, o ATBCmder exibirá um prompt de confirmação: "A modificação deste arquivo requer a recompactação de todo o arquivo, o que pode levar muito tempo. Deseja continuar?"


5. Criação e extração de arquivos (Alt+F5 / Alt+F9)

ATBCmder fornece trabalhadores em segundo plano dedicados para criar e extrair arquivos, garantindo que seus painéis de arquivos permaneçam responsivos mesmo durante trabalhos de compactação de longa duração.

Pack and Extract Archives Figura 6.2: A caixa de diálogo Parâmetros de arquivo (Alt+F5 / cm_PackFiles) mostrando o caminho de destino, seleção de formato, níveis de compactação e criptografia de senha.

5.1 Compactando Arquivos (Alt+F5 / ⌥F5 / cm_PackFiles)

Para criar um novo arquivo:

  1. No painel ativo, selecione os arquivos ou diretórios que deseja agrupar.
  2. Pressione Alt+F5 (⌥F5) ou escolha Arquivos ➔ Pacote... na barra de menu.
  3. A caixa de diálogo Compactar arquivos é exibida:
  4. Criar arquivo morto: Caminho do arquivo de destino. Por padrão, ATBCmder sugere colocar o arquivo no diretório do painel inativo, nomeado após o item em foco.
  5. Formato de arquivo: Escolha entre ZIP, TAR, TAR.GZ, TAR.BZ2, TAR.XZ ou 7Z.
  6. Nível de compressão:
  7. Store: Compressão zero; empacotamento instantâneo para mídia pré-compactada (MP4, JPEG).
  8. Fast: Baixa sobrecarga de CPU; ideal para transferências rápidas.
  9. Normal (Deflated): Velocidade e taxa de compressão balanceadas (recomendado para uso geral).
  10. Maximum: Compressão de densidade mais alta (utiliza LZMA/Bzip2 quando aplicável).
  11. Senha (somente ZIP): Digite uma senha secreta para criptografar o arquivo.
  12. Clique em Iniciar (ou pressione Enter). A operação é executada em um thread em segundo plano sem bloqueio, com uma barra de progresso e um indicador de status arquivo por arquivo.

Criptografia de senha AES-256 de nível militar

A criptografia ZIP padrão (ZipCrypto legado) é criptograficamente quebrada e vulnerável a ataques de dicionário de texto simples. Quando você especifica uma senha para um arquivo ZIP, o ATBCmder utiliza criptografia AES-256 fornecida por pyzipper (pyzipper.AESZipFile com padrão WZ_AES). Isso garante compatibilidade com macOS, WinZip e 7-Zip, ao mesmo tempo que protege dados confidenciais contra descriptografia de força bruta.

Dividindo arquivos enormes em conjuntos de vários volumes

Se você precisar distribuir um arquivo entre anexos de e-mail, unidades FAT32 ou limites de upload na nuvem com limites de tamanho de arquivo:

  1. Agrupe seus arquivos usando Alt+F5 (cm_PackFiles).
  2. Destaque o arquivo .zip ou .tar resultante e acione o Divisor de Arquivos via Alt+F6 (cm_FileSpliter).
  3. Selecione um tamanho de divisão predefinido (por exemplo, 100 MB, 4.7 GB DVD, CD 700 MB ou tamanho de byte personalizado).
  4. ATBCmder gera partes divididas numeradas (archive.zip.001, archive.zip.002, etc.) junto com um manifesto de verificação CRC32. Os destinatários podem remontar o contêiner original a qualquer momento usando cm_FileLinker (cm_Combine).

5.2 Extraindo Arquivos (Alt+F9 / ⌥F9 / cm_ExtractFiles)

Para extrair arquivos para o disco:

  1. Destaque um ou mais arquivos no painel ativo.
  2. Pressione Alt+F9 (⌥F9) ou escolha Arquivos ➔ Extrair... na barra de menu.
  3. A caixa de diálogo Extrair arquivos é exibida:
  4. Arquivar para extrair: caminho de origem do contêiner selecionado.
  5. Extrair para diretório: Diretório de destino (o padrão é o painel inativo).
  6. Conteúdo de visualização: uma caixa de listagem interativa que carrega membros do arquivo em tempo real.
  7. Senha: Campo de entrada para arquivos protegidos por senha.
  8. Clique em Iniciar. Se já existir algum arquivo de destino na pasta de destino, o ATBCmder pausa o trabalhador e apresenta uma caixa de diálogo de colisão interativa:
  9. Substituir: Substitui o arquivo de destino conflitante.
  10. Pular: deixa o arquivo existente intacto e avança para o próximo item.
  11. Substituir tudo: substitui silenciosamente todos os conflitos subsequentes.
  12. Pular tudo: Ignora automaticamente todos os arquivos de destino existentes.
  13. Cancelar: Interrompe com segurança o processo de extração.

6. VFS de rede remota: protocolos e armazenamento remoto

ATBCmder inclui um mecanismo cliente de rede multiprotocolo capaz de montar, navegar e manipular servidores remotos diretamente dentro do espaço de trabalho de painel duplo.

Network VFS Client Figura 6.3: Navegando em diretórios de servidores Linux remotos por meio de SFTP seguro com atributos de arquivo ativos, permissões de propriedade e transferência de painel duplo.

Remote Connection Overview Figura 6.4: Tipos de conexão de rede suportados: FTP/FTPS, SFTP seguro, armazenamento em nuvem WebDAV e compartilhamentos de rede SMB.

6.1 Protocolos de Rede Suportados

Esquema de Protocolo Porta padrão Camada de Transporte Modos de autenticação Melhor usado para
sftp:// 22 SSH-2 (Paramiko) Senha, chave SSH (id_rsa, id_ed25519) Servidores Linux, instâncias em nuvem, hosts de teste
ftp:// 21 Simples RFC 959 Nome de usuário e senha anônimos e em texto simples Hospedagem na web legada, dispositivos de laboratório local
ftps:// 990 FTP criptografado por TLS Nome de usuário e senha com SSL/TLS Servidores FTP comerciais seguros
smb:// 445 CIFS/SMB3 Windows NT/Kerberos/Conta local Compartilhamentos Windows, dispositivos NAS, servidores Samba
webdav:// 80 HTTP WebDAV Autenticação básica e resumida Servidores Web, armazenamento em rede local
webdavs:// 443 HTTPS WebDAV Autenticação básica/digest criptografada por SSL Nextcloud, ownCloud, armazenamento em nuvem comercial
gdrive:// 443 API do Google Drive Autorização de token OAuth2 Unidades de nuvem e pastas compartilhadas do Google Drive
dropbox:// 443 API do Dropbox v2 Autorização de token OAuth2 Unidades de nuvem e pastas compartilhadas do Dropbox

6.2 Capacidades de protocolo e aprofundamento

SFTP (protocolo de transferência de arquivos SSH)

Apoiado pelo mecanismo SSH paramiko padrão da indústria, o driver SFTP do ATBCmder estabelece túneis criptografados na porta 22:

  • Host Key Safety (WarningPolicy): Em conformidade com requisitos rígidos de segurança, o ATBCmder consulta automaticamente seu arquivo ~/.ssh/known_hosts local. Ao conectar-se a um host conhecido, as chaves do host são verificadas criptograficamente. Se um servidor desconhecido for encontrado, o ATBCmder emite um aviso de segurança em vez de confiar silenciosamente em chaves públicas inesperadas.
  • Autenticação de chave SSH: Além da autenticação de senha padrão, o ATBCmder oferece suporte a arquivos de chave privada SSH (~/.ssh/id_rsa, ~/.ssh/id_ed25519).
  • Mapeamento de atributos UNIX: preserva modos de arquivo octais remotos (chmod), strings de propriedade de usuário/grupo e carimbos de data/hora exatos de modificação POSIX.

FTP e FTPS (SSL explícito/implícito)

Impulsionado pelo ftplib do Python, o driver FTP suporta:

  • Modo Passivo (PASV): ativado por padrão para garantir conexões confiáveis por meio de roteadores NAT restritivos e firewalls de consumo.
  • Codificações configuráveis: Resolve problemas de exibição de nomes de arquivos não ASCII, permitindo alternar entre conjuntos de caracteres UTF-8, ISO-8859-1, GB18030 e Windows-1252.

SMB/Samba (compartilhamentos Windows e dispositivos NAS)

Ao contrário das bibliotecas SMB Python de espaço de usuário ingênuo que sofrem com velocidades de transferência lentas, o ATBCmder emprega uma arquitetura híbrida:

  • Aceleração nativa do kernel do macOS (mount_smbfs): no macOS, o SambaMounter do ATBCmder aproveita o subsistema /sbin/mount_smbfs nativo da Apple. Ele monta o compartilhamento remoto diretamente na árvore VFS do macOS (/Volumes/ ou em um diretório de montagem isolado), desbloqueando a taxa de transferência completa de leitura/gravação SMB3 acelerada por hardware.
  • Detecção de montagem existente: se o macOS Finder ou um script do sistema já tiver montado o compartilhamento SMB de destino, o ATBCmder detectará automaticamente o ponto de montagem ativo da tabela OS mount e navegará até ele instantaneamente, evitando conexões de rede redundantes.

Important

Requisito de nome de compartilhamento SMB Um servidor SMB não pode ser navegado no nível do nome de host simples. Um URI SMB deve incluir o compartilhamento de destino ou o nome de exportação no caminho:

  • ❌ Inválido: vfs://smb://nas.local/
  • ✅ Válido: vfs://smb://nas.local/StoragePool ou vfs://smb://192.168.1.100/Media

WebDAV e WebDAVS (Nextcloud/armazenamento em nuvem)

Construído em webdavclient3, este driver fornece sincronização bidirecional de arquivos com soluções modernas de armazenamento em nuvem:

  • Verificação de certificado SSL: suporta validação rigorosa de certificado SSL para hosts WebDAVS públicos, com uma alternância de substituição para certificados autoassinados em configurações de homelab privadas.
  • Criação de diretório recursivo (makedirs): cria automaticamente caminhos de diretório remoto aninhados ausentes durante operações de upload em massa.


6.3 Armazenamento em nuvem do Google Drive: Guia passo a passo

Gerenciar o Google Drive por meio de um navegador Web costuma ser lento ao fazer upload de arquivos grandes ou organizar pastas aninhadas. Além disso, o aplicativo oficial para desktop do Google Drive geralmente tenta sincronizar estruturas completas de pastas no SSD local do seu Mac, ocupando um espaço valioso.

O ATBCmder resolve isso tratando o Google Drive como uma unidade virtual ativa (gdrive://). Você pode navegar diretamente pelas pastas remotas na interface de dois painéis, visualizar arquivos na nuvem instantaneamente com F3 e copiar arquivos com F5 entre o Mac e o Google Drive — sem precisar baixar todo o armazenamento em nuvem no seu computador.

Configuração da conexão e navegação no Google Drive
Figura 6.5: Conexão com o Google Drive pelo Gerenciador de conexões com credenciais de cliente OAuth2 e navegação em arquivos na nuvem ao lado de pastas locais na visualização em painel duplo.

Por que preciso de um "Client ID" e um "Client Secret"?

Para proteger sua privacidade e segurança, o Google não permite que aplicativos de desktop de terceiros solicitem diretamente a senha da sua conta Google. Em vez disso, o Google utiliza a autorização OAuth 2.0.

Ao criar suas próprias credenciais gratuitas de OAuth no Google Cloud Console:

  • 100% privado e direto: Seus dados trafegam diretamente entre seu Mac e os servidores oficiais do Google. Nenhum intermediário ou terceiro acessa seus arquivos ou chaves.
  • Velocidade e cota dedicadas: Você obtém sua própria largura de banda de API privada, sem compartilhar limites com milhares de outros usuários.
  • Revogável a qualquer momento: Você mantém o controle total. É possível revogar o acesso do ATBCmder com um único clique nas configurações de segurança da sua conta Google.

A configuração leva menos de 3 minutos e só precisa ser realizada uma vez!


Etapa 1: Criar credenciais gratuitas no Google Cloud (Leva 2 minutos)

  1. Abra o Google Cloud Console — Credenciais no seu navegador e faça login com sua conta Google.
  2. Selecionar ou criar um projeto:
  3. No topo da página, clique no menu suspenso de organização / projeto.
  4. (Dica para empresas: caso tenha uma organização Google Workspace ou Cloud Identity como aitobox.com, selecione-a para criar o projeto no domínio da sua empresa).
  5. Se ainda não tiver um projeto, clique em Novo projeto, insira um nome (como ATBCmder) e clique em Criar.
  6. Ativar a API do Google Drive:
  7. No menu lateral esquerdo ou na barra de pesquisa superior, acesse APIs e serviços ativados (ou clique em + ATIVAR APIS E SERVIÇOS).
  8. Pesquise por Google Drive API, selecione-a e clique no botão azul Ativar.
  9. Configurar a tela de permissão OAuth (se solicitado):
  10. Se for sua primeira vez criando credenciais, o Google poderá solicitar a configuração da tela de consentimento:
    • Selecione Externo e clique em Criar.
    • Preencha o Nome do app (como ATBCmder) e informe seu e-mail para suporte e contato do desenvolvedor.
    • Em Domínio do app, defina a Página inicial do aplicativo para seu site (como https://cmder.aitobox.com).
    • Em Domínios autorizados, adicione seu domínio raiz (como aitobox.com).
    • Clique em Salvar e continuar nas etapas seguintes.
  11. Criar credenciais para app de desktop:
  12. Retorne para APIs e serviços ➔ Credenciais.
  13. Clique em + Criar credenciais no topo e escolha ID do cliente OAuth.
  14. No menu suspenso Tipo de aplicativo, selecione App para computador (Desktop app).
  15. No campo Nome, digite ATBCmder Desktop (ou qualquer nome amigável).
  16. Clique em Criar.
  17. Copiar suas chaves:
  18. Uma caixa de diálogo exibirá seu ID do cliente (terminando em .apps.googleusercontent.com) e sua Chave secreta do cliente.
  19. Copie ambas as cadeias de caracteres (ou mantenha a guia aberta).

Marca personalizada: Entendendo "Acesso concedido a" (Access Granted To)

Quando você confere os aplicativos conectados nas configurações de segurança da sua conta Google (myaccount.google.com/connections), o Google exibe um cartão com detalhes do ATBCmder:

  • Nome do app: ATBCmder
  • Acesso concedido a (Access granted to): ex.: aitobox.com ou oplist.org
  • Página inicial: https://cmder.aitobox.com
Por que o Google exibe um nome de organização específico?

A linha "Acesso concedido a" (Access granted to) é definida pelo Google com base na organização Google Cloud (ou conta Google Workspace) proprietária do projeto GCP onde o ID do cliente OAuth foi criado:

  • Se o ID foi criado sob uma organização de terceiros (como oplist.org), o Google exibirá esse domínio para alertar sobre a titularidade do cliente de API.
  • Se o projeto foi criado em uma conta Google pessoal, o Google exibirá os dados de contato do desenvolvedor.
Como definir a organização para seu próprio domínio (ex.: aitobox.com)

Se desejar que o painel de segurança do Google exiba seu próprio domínio (como aitobox.com):

  1. Crie o projeto sob a organização do seu domínio:
  2. Faça login no Google Cloud Console com uma conta do seu domínio corporativo (ex.: admin@aitobox.com).
  3. Confirme no menu suspenso superior que seu domínio corporativo está selecionado antes de criar o projeto.
  4. Configure a tela de permissão OAuth:
  5. Vá em APIs e serviços ➔ Tela de permissão OAuth.
  6. Defina a Página inicial do aplicativo com seu link oficial (como https://cmder.aitobox.com).
  7. Registre seu domínio raiz em Domínios autorizados (como aitobox.com).
  8. Insira os e-mails de suporte com endereços do seu domínio.
  9. Emita um novo ID de cliente de app de desktop:
  10. Acesse APIs e serviços ➔ Credenciais e crie um novo ID do cliente OAuth do tipo App para computador.
  11. Atualize as chaves no ATBCmder:
  12. Cole o novo Client ID e Client Secret no Gerenciador de conexões do ATBCmder e clique em Reautorizar....
  13. O painel de segurança do Google passará a exibir seu domínio corporativo (aitobox.com)!

Etapa 2: Adicionar o Google Drive no ATBCmder

Com as chaves em mãos, conectar no ATBCmder requer poucos cliques:

  1. No ATBCmder, abra Rede ➔ Gerenciar conexões... no menu superior (ou pressione cm_ManageConnections).
  2. Clique no botão + Novo no canto inferior esquerdo.
  3. No formulário de Detalhes da conexão à direita:
  4. Rótulo: Digite um nome claro (ex.: Meu Google Drive ou Drive de Trabalho).
  5. Protocolo: Selecione gdrive no menu suspenso.
  6. Client ID: Cole o ID de cliente copiado do Google Cloud.
  7. Client Secret: Cole o segredo do cliente copiado do Google Cloud.
  8. (Dica: você pode clicar no link azul Create OAuth 2.0 credentials in Google Cloud Console para acessar o console a qualquer momento).
  9. Clique no botão Autorizar (ou Reautorizar...):
  10. O ATBCmder abrirá automaticamente seu navegador padrão na página de autenticação oficial do Google.
  11. Aviso de segurança importante (Totalmente normal e esperado):
    Como você está usando um Client ID privado criado em seu próprio projeto no GCP e não um aplicativo de marketplace público, o Google exibirá uma tela de alerta informando «O Google não verificou este app» / «Risco de segurança».
    Isso é completamente seguro e esperado. No navegador, expanda as opções (clique em Avançado / Advanced) e clique em «Acessar o app (não seguro) / Continuar».
  12. Escolha sua conta Google e confirme as permissões solicitadas (leitura e gravação no Google Drive).
  13. Clique em Continuar / Permitir.
  14. Após a aprovação, o navegador confirmará o sucesso. No ATBCmder, o status mudará para:
    ✓ Authorized (your_account@email.com)!

Note

Por que o Google exibe aviso de aplicativo não verificado?
Quando o navegador exibe a tela de login oficial, o Google alerta que o aplicativo não foi verificado comercialmente. Esse é o padrão para credenciais de desenvolvedor criadas por você mesmo. Como apenas você detém as chaves e o projeto, seus arquivos e conta estão 100% seguros e protegidos. Clique em Avançado (Advanced) e depois em «Continuar» para finalizar a autorização.

  1. Clique em 💾 Salvar para guardar a conexão e depois em 🔗 Conectar (ou dê duplo clique no item na lista à esquerda).
  2. Uma nova aba será aberta instantaneamente no seu painel ativo apontando para:
    vfs://gdrive://your_account@gmail.com//
    
    Todas as suas pastas e arquivos do Google Drive estarão prontos para uso!

Etapa 3: Usando o Google Drive como uma unidade local

Após a conexão, o Google Drive opera exatamente como uma pasta local:

  • Navegação e pré-visualização instantânea: Dê duplo clique ou pressione Enter para abrir pastas. Selecione fotos, PDFs, arquivos de código ou documentos e pressione F3 para visualizá-los imediatamente no Universal Lister sem precisar salvá-los no disco.
  • Upload para a nuvem (F5): Selecione arquivos no seu painel local (ex.: pasta Downloads) e pressione F5 para enviá-los diretamente para o diretório remoto do Google Drive.
  • Download local (F5): Destaque arquivos no painel do Google Drive e pressione F5 para baixá-los para sua pasta de destino local.
  • Arrastar e soltar: Arraste arquivos e pastas facilmente entre os painéis com o mouse.
  • Atualização instantânea (F9 / Ctrl+R): Pressione F9 a qualquer momento para atualizar em milissegundos o conteúdo da nuvem.
  • Indicador de cota em tempo real: A cápsula de status no canto superior direito mostra o espaço restante no Google Drive (ex.: 259.7 GB free of 994.7 GB).
  • Múltiplas contas simultâneas: Você pode cadastrar várias contas do Google Drive no Gerenciador de conexões (ex.: Pessoal e Profissional) e abrir uma em cada painel para transferir arquivos diretamente entre elas!
  • Segurança com Apple Secure Enclave: O Client Secret e os tokens OAuth são criptografados no Acesso às Chaves do macOS (ATBCmder_VFS) com suporte de hardware do Secure Enclave.

6.4 Armazenamento em nuvem do Dropbox: Guia passo a passo

Assim como no Google Drive, o acesso nativo ao Dropbox no ATBCmder proporciona agilidade sem ocupar centenas de gigabytes no SSD local do seu Mac.

O ATBCmder trata o Dropbox como um disco virtual ativo (dropbox://), permitindo pré-visualizar fotos e documentos com F3, realizar uploads e downloads segmentados por streaming com F5 e monitorar a capacidade em tempo real na barra de ferramentas.

Por que preciso de uma "App Key" e um "App Secret"?

Para garantir sua privacidade e proteção, o Dropbox não permite que ferramentas de desktop peçam ou guardem sua senha de acesso. Tudo é autenticado via OAuth 2.0.

Ao criar sua própria App Key e App Secret gratuitos no Dropbox App Console:

  • 100% privado e direto: Seus dados trafegam diretamente entre seu Mac e os servidores do Dropbox.
  • Velocidade e cota exclusivas: Sua aplicação possui limite de requisições próprio sem disputa com outros usuários.
  • Revogável a qualquer momento: Você pode revogar as permissões do ATBCmder nas configurações do Dropbox quando quiser.

A configuração leva menos de 2 minutos e é feita uma única vez!


Etapa 1: Criar um app no Dropbox App Console

  1. Abra o Dropbox App Console no navegador e faça login.
  2. Clique no botão azul Create app no canto superior direito.
  3. Configure as opções do app como indicado a seguir:

Criar novo app na plataforma DBX
Figura 6.6: Criação de novo aplicativo no Dropbox App Console com Scoped access e permissão Full Dropbox.

  • 1. Choose an API: Selecione Scoped access.
  • 2. Choose the type of access you need: Selecione Full Dropbox (Acesso total a pastas e arquivos).
    (Observação: se desejar que o ATBCmder acesse apenas uma pasta isolada, selecione "App folder").
  • 3. Name your app: Digite um nome exclusivo (como ATBCmder ou ATBCmder-SeuNome).
  • Marque a caixa de seleção I agree to Dropbox API Terms and Conditions.
  • Clique no botão azul Create app no canto inferior direito.

Etapa 2: Configurar o URI de redirecionamento e copiar as chaves (Aba Settings)

Após a criação, você será direcionado para o painel do app. Clique na aba Settings no topo.

Configuração de URI de redirecionamento OAuth2 e chaves
Figura 6.7: Configuração do URI de redirecionamento loopback (http://127.0.0.1:53682/callback) e cópia do App key e App secret.

  1. Configurar o Redirect URI do OAuth 2:
  2. Role até a seção OAuth 2.
  3. Localize o campo Redirect URIs.
  4. Digite ou cole a URL exata:

    http://127.0.0.1:53682/callback
    

  5. Clique no botão Add ao lado do campo.
    (Motivo: o ATBCmder inicia um listener local seguro na porta 53682 durante a autorização. Esse URI permite que o Dropbox devolva o token com segurança ao app em um clique).

  6. Permitir clientes públicos (PKCE):
  7. Certifique-se de que a opção Allow public clients (Implicit Grant & PKCE) esteja como Allow (ou padrão).
  8. Copiar App Key e App Secret:
  9. No topo da aba Settings, localize App key e clique para copiar.
  10. Logo abaixo, localize App secret, clique em Show e copie a chave secreta.
    (Mantenha a página aberta ou salve as chaves temporariamente).

Etapa 3: Definir permissões de acesso (Aba Permissions)

Em seguida, clique na aba Permissions na parte superior.

Configuração de permissões no Dropbox App Console
Figura 6.8: Seleção das permissões necessárias na aba Permissions, incluindo files.metadata.read/write e files.content.read/write.

  1. Em Account Info:
  2. account_info.read: Ver informações básicas da conta (habilitado por padrão, permite identificar seu e-mail).
  3. Em Files and folders, marque as seguintes opções:
  4. files.metadata.write: Exibir e editar informações sobre arquivos e pastas.
  5. files.content.write: Editar conteúdo de arquivos e pastas (upload e modificação).
  6. files.content.read: Ver conteúdo de arquivos e pastas (download e visualização).

Note

Por que files.metadata.read fica esmaecido e não permite clique?
Na imagem acima, files.metadata.read possui uma marcação cinza clara travada.
Isso é completamente esperado!
Na hierarquia de permissões do Dropbox, as permissões de gravação exigem leitura. Ao marcar gravação ou download, o Dropbox ativa e bloqueia files.metadata.read automaticamente, garantindo que não seja desmarcada sem querer. A permissão já está ativa!

Important

CRUCIAL: Você DEVE clicar em "Submit" no final da página!
O Dropbox não salva as alterações automaticamente na aba Permissions!
Você DEVE rolar até o final da página e clicar no botão azul "Submit".
Se fechar a guia sem clicar em Submit, suas permissões serão perdidas!


Etapa 4: Adicionar o Dropbox no ATBCmder e autorizar

Com o aplicativo configurado, conecte-o no ATBCmder:

  1. No ATBCmder, abra Rede ➔ Gerenciar conexões... (ou atalho cm_ManageConnections).
  2. Clique no botão + Novo no canto inferior esquerdo.
  3. No formulário de Detalhes da conexão à direita:
  4. Rótulo: Insira um nome amigável (como Meu Dropbox ou Dropbox da Equipe).
  5. Protocolo: Selecione dropbox no menu suspenso.
  6. App Key: Cole a chave copiada da aba Settings.
  7. App Secret: Cole o segredo copiado da aba Settings.
  8. (Dica: você pode clicar no link de suporte para abrir o console do Dropbox quando quiser).
  9. Clique no botão Entrar pelo navegador... (ou Autorizar):
  10. O ATBCmder abrirá a página oficial de permissão do Dropbox no navegador.
  11. Revise os acessos solicitados e clique em Allow (Permitir).
  12. Após a aprovação, o navegador confirmará o sucesso. No ATBCmder, o status mudará para:
    ✓ Authorized (your_account@email.com)!
  13. Clique em 💾 Salvar e depois em 🔗 Conectar (ou dê duplo clique no item na lista à esquerda).
  14. Uma nova aba será aberta instantaneamente com o caminho:
    vfs://dropbox://your_account@email.com//
    
    Seus arquivos e pastas do Dropbox estarão prontos para uso!

Resolução de problemas comuns

Warning

Solução de problemas: "Your app is not permitted to access this endpoint because it does not have the required scope 'files.metadata.read'"
Se você conseguir conectar, mas encontrar este erro ao abrir uma pasta ou copiar arquivos, confira o motivo e a solução em 30 segundos:

  1. Por que isso ocorre?
  2. Esqueceu de clicar em Submit? Se você marcou as opções na aba Permissions, mas não rolou até o final para clicar no botão azul Submit, o Dropbox não gravou a alteração.
  3. Snapshot do token: No OAuth 2.0, o token só grava as permissões presentes no momento da autorização. Se você autorizou antes de clicar em Submit, o token no chaveiro do macOS não possui as novas permissões.
  4. Como corrigir:
  5. Acesse o Dropbox App Console ➔ aba Permissions, confira as marcações, role até o final e clique em Submit.
  6. Volte ao ATBCmder ➔ Rede ➔ Gerenciar conexões..., selecione a conexão do Dropbox e clique em Reautorizar....
  7. Clique em Allow no navegador para emitir um token com permissões atualizadas.
  8. Clique em Conectar novamente e pronto!

Etapa 5: Operando o Dropbox como uma unidade local

Após conectar, o Dropbox funciona com a agilidade de um disco local:

  • Cópia em painel duplo (F5): Selecione arquivos no painel local (ex.: pasta Documentos ou Downloads) e pressione F5 para enviá-los ao Dropbox; ou selecione arquivos remotos e aperte F5 para baixá-los.
  • Transferência inteligente segmentada: Sessões de streaming sem bloqueio de interface acompanham o progresso em tempo real, permitindo lidar com vídeos de vários gigabytes com baixo consumo de memória.
  • Pré-visualização imediata (F3): Selecione imagens, PDFs, arquivos de texto ou Markdown e pressione F3 para abri-los no Universal Lister sem salvá-los no disco antes.
  • Criar pastas remotas (F7): Pressione F7 para criar novas pastas remotas, com criação recursiva automática de pastas superiores.
  • Arrastar e soltar: Arraste pastas e arquivos diretamente entre os painéis com o mouse.
  • Indicador de capacidade na barra: O espaço livre do Dropbox é exibido na barra superior em tempo real (ex.: 1.8 GB free of 2.0 GB).
  • Atualização rápida (F9 / Ctrl+R): Obtenha instantaneamente alterações remotas feitas em outros dispositivos com uma única tecla.
  • Segurança com Secure Enclave: Credenciais e tokens de acesso são protegidos pelo Acesso às Chaves do macOS (ATBCmder_VFS) com suporte de criptografia em hardware da Apple.

6.3 Armazenamento em nuvem sandbox da App Store (OneDrive, Google Drive, iCloud)

Nas versões em sandbox do ATBCmder da Mac App Store, o acesso direto do sistema de arquivos a diretórios de sincronização em nuvem de terceiros (por exemplo, Microsoft OneDrive, Google Drive for Desktop, Dropbox e iCloud Drive) é regulado pela arquitetura sandbox da Apple:

  • Marcadores com escopo de segurança: diretórios de nuvem sincronizados residentes em ~/Library/CloudStorage/OneDrive-*, ~/Library/CloudStorage/GoogleDrive-* ou ~/Library/Mobile Documents/com~apple~CloudDocs/ exigem tokens de acesso com escopo de segurança.
  • Drive Switcher e integração de caminho: ATBCmder descobre automaticamente diretórios de nuvem locais configurados e os exibe no Drive Switcher (Alt+D / ⌥D), barras de botões de unidade e trilhas de caminho.
  • Concessões de permissão persistente: ao abrir um diretório na nuvem pela primeira vez, o macOS apresenta uma folha de autorização. Uma vez selecionado, o ATBCmder armazena o marcador criptográfico com escopo de segurança nas preferências do usuário, garantindo acesso de leitura/gravação contínuo e ininterrupto nas reinicializações do aplicativo, sem caixas de diálogo de autorização repetidas.

7. Conexão rápida vs. Gerenciador de conexões

O ATBCmder fornece dois mecanismos flexíveis para conexão com hosts remotos: Quick Connect para sessões rápidas e temporárias e Connection Manager para marcadores de servidor categorizados e persistentes.

7.1 Conexão rápida (cm_NetworkConnect)

Quando você precisar acessar rapidamente um servidor sem sobrecarregar sua configuração permanente:

  1. Escolha Rede ➔ Conexão Rápida... (ou execute o comando cm_NetworkConnect).
  2. O prompt de conexão leve é exibido:
  3. Protocolo: Selecione sftp, ftp, ftps, smb, webdav, webdavs, gdrive ou dropbox.
  4. Host e Porta: Insira o endereço do servidor (a porta preenche automaticamente os valores padrão).
  5. Nome de usuário e senha: Insira credenciais de conexão.
  6. Caminho remoto: Iniciando diretório remoto (padrão: /).
  7. Lembrar senha: Deixe desmarcado para uma conexão efêmera de sessão única.
  8. Clique em Testar conexão para verificar o handshake e as credenciais da rede antes de conectar.
  9. Clique em Conectar. ATBCmder abre imediatamente uma nova aba no painel ativo apontando para o servidor remoto.

7.2 Gerenciador de conexões (cm_ManageConnections)

Para servidores que você acessa regularmente, o Connection Manager fornece um painel de configuração completo:

┌────────────────────────────────────────────────────────────────────────────────────────┐
│                              CONNECTION MANAGER DIALOG                                 │
├──────────────────────────────┬─────────────────────────────────────────────────────────┤
│  Saved Connections           │  Connection Details                                     │
│  ┌────────────────────────┐  │  Label:        [ Staging Web Server (AWS)             ] │
│  │ 🔐 AWS Staging Server  │  │  Protocol:     [ SFTP (port 22)                     ▼ ] │
│  │ 🖧 Synology Office NAS │  │  Host:         [ ec2-54-210-10-2.compute.amazonaws.com] │
│  │ 🌐 Nextcloud Personal  │  │  Port:         [ 22                                   ] │
│  │ 📂 Legacy Archive FTP  │  │  Username:     [ ubuntu                               ] │
│  │                        │  │  Password:     [ ••••••••••••••••••                   ] │
│  │                        │  │  Remote Path:  [ /var/www/production                  ] │
│  │                        │  │  [✓] Remember password in macOS Keychain                │
│  └────────────────────────┘  │                                                         │
│  [➕ New] [⧉ Dup] [🗑 Del]    │  [🔍 Test Connection]          [💾 Save]  [🔗 Connect] │
└──────────────────────────────┴─────────────────────────────────────────────────────────┘

Gerenciando perfis de servidor

  • Criar Novo (➕ New): Limpa o formulário à direita para definir uma nova configuração do servidor.
  • Duplicar (⧉ Duplicate): Clona o perfil de conexão selecionado. Ideal ao gerenciar vários ambientes (desenvolvimento, preparação, produção) em configurações de host idênticas.
  • Excluir (🗑 Delete): remove o perfil de conexão e exclui as credenciais associadas das chaves do sistema.
  • Testar conexão (🔍 Test Connection): envia um trabalhador em segundo plano (ConnectionTestWorker) para conectar, autenticar e desconectar normalmente, verificando a capacidade de resposta do servidor sem sair dele.
  • Conectar (🔗 Connect): Salva quaisquer edições de campo pendentes, estabelece a sessão remota e carrega o diretório remoto em uma nova guia do painel ativo.

As conexões salvas são automaticamente integradas na barra de menu superior em Rede ➔ Conexões Salvas. Você pode montar qualquer servidor marcado com um único clique:

  • Network ➔ Saved Connections ➔ 🔐 AWS Staging Server
  • Network ➔ Saved Connections ➔ 🖧 Synology Office NAS

8. Segurança de credenciais e integração de chaveiro

Os arquivos de configuração do gerenciador de arquivos são o principal alvo do malware de coleta de credenciais. Muitos gerenciadores de arquivos legados armazenam senhas FTP/SFTP em arquivos de configuração XML ou INI de texto simples localizados no diretório inicial do usuário.

ATBCmder garante zero armazenamento de credenciais em texto não criptografado.

8.1 A Arquitetura de Segurança

┌────────────────────────────────────────────────────────────────────────────────────────┐
│                           CREDENTIAL STORAGE ARCHITECTURE                              │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                        │
│   Connection Configuration XML                    Apple System Keychain                │
│   (~/.config/atbcmder/atbcmder.xml)               (service: "ATBCmder_VFS")            │
│   ┌─────────────────────────────────────┐         ┌──────────────────────────────────┐ │
│   │ <connection>                        │         │ Label: "AWS Staging Server"      │ │
│   │   <label>AWS Staging</label>        │         │ Key:   Encrypted Secret          │ │
│   │   <scheme>sftp</scheme>             │         │ Access: Controlled by macOS      │ │
│   │   <host>aws.infra.net</host>        │         │         Hardware Security Enclave│ │
│   │   <user>deploy</user>               │         └──────────────────────────────────┘ │
│   │   <password></password>             │                           ▲                  │
│   │ </connection>                       │                           │                  │
│   └─────────────────────────────────────┘                           │                  │
│         ▲                                                           │                  │
│         │ Password stripped on save                                 │ Stored via       │
│         └─────────────────── ConnectionManager ─────────────────────┘ Python keyring   │
│                                                                                        │
└────────────────────────────────────────────────────────────────────────────────────────┘
  1. Esfregação XML de texto claro: sempre que os perfis de conexão são serializados no disco (atbcmder.xml), a rotina ConnectionManager.save() força explicitamente d["password"] = "" antes da gravação. Mesmo que alguém não autorizado inspecione seu XML de configuração, nenhuma senha do servidor será revelada.
  2. Criptografia de chaveiro do sistema macOS: quando a caixa de seleção Lembrar senha é marcada, as senhas são salvas diretamente no chaveiro do macOS por meio da API keyring do sistema sob o identificador de serviço seguro ATBCmder_VFS. A derivação e o armazenamento de chaves são protegidos pelo Secure Enclave de hardware da Apple.
  3. Sessões efêmeras na memória: Se "Lembrar senha" estiver desmarcado, as credenciais serão mantidas estritamente na memória dinâmica (VFSSessionCache) durante o ciclo de vida atual do aplicativo e serão apagadas no momento em que o ATBCmder terminar.

9. ⚡ Dicas profissionais: operações remotas de alto desempenho

Dica 1: fila de transferência em segundo plano sem bloqueio (cm_OperationsPanel)

Ao copiar diretórios grandes em servidores remotos ou baixar ISOs de vários gigabytes por SFTP, nunca congele seu espaço de trabalho. Todas as operações de arquivos de rede no ATBCmder se integram automaticamente à Fila de operações em segundo plano:

  • Pressione F5 para iniciar uma transferência e clique em Background (ou deixe-o na fila automaticamente).
  • Abra o painel de operações por meio de Mostrar ➔ Painel de Operações (cm_OperationsPanel) para monitorar gráficos de largura de banda ao vivo, contagens de bytes por arquivo e estimativas de transferência restantes.
  • Você pode pausar, retomar ou reordenar transferências de rede na fila enquanto continua a navegar pelos arquivos locais em ambos os painéis.

Dica 2: Cópia de fluxo em protocolos heterogêneos

O mecanismo stream_copy_file do ATBCmder permite streaming direto de servidor para servidor. Se você arrastar uma pasta de um servidor SFTP no painel esquerdo para um compartilhamento de rede SMB no painel direito:

  • ATBCmder não baixa o diretório inteiro para o disco rígido local do Mac antes de reenviar.
  • Os dados são agrupados por meio de um anel de buffer na memória, transmitindo bytes do soquete de origem diretamente para o soquete de destino. Isso elimina o desgaste do disco local e acomoda transferências maiores que a capacidade disponível do SSD local.

Dica 3: manutenção da rede e prevenção de quedas de conexão

Firewalls de rede com estado e gateways NAT frequentemente interrompem conexões TCP ociosas após 60 a 300 segundos de inatividade. Para evitar sessões desconectadas ao navegar em grandes árvores remotas:

  • A camada BaseNetworkVFS do ATBCmder mantém automaticamente os batimentos cardíacos da sessão em conexões ociosas.
  • Se ocorrer uma queda momentânea da rede, o mecanismo interno _retry() executa até 3 novas tentativas usando espera exponencial (2^attempt intervalos de segundos) antes de relatar uma falha de conexão.

Dica 4: Editando arquivos remotos com ciclo de vida de upload automático

Precisa editar um script nginx.conf ou Python diretamente em um servidor remoto?

  1. Realce o arquivo remoto na visualização do painel SFTP ou WebDAV.
  2. Pressione F4 (Fn+F4).
  3. ATBCmder baixa o arquivo para uma sandbox temporária isolada (/tmp/) e o abre no Editor integrado.
  4. Cada vez que você pressiona Cmd+S (⌘S), o ATBCmder aciona _upload_vfs_temp(), transmitindo o arquivo atualizado de volta para o servidor remoto de forma assíncrona e exibindo uma confirmação na barra de status.
  5. Ao fechar o editor, o arquivo temporário é desvinculado com segurança de /tmp/.

10. Alertas de sistema e segurança

Warning

Incompatibilidade de verificação de chave de host SSH Se um servidor SFTP regenerar suas chaves de host (por exemplo, após uma reinstalação do sistema operacional) ou se for tentada uma interceptação de rede man-in-the-middle, o ATBCmder detecta que a chave do servidor não corresponde à impressão digital registrada em ~/.ssh/known_hosts. Nunca ignore avisos de chave de host em redes Wi-Fi públicas não confiáveis ​​sem verificar de forma independente a impressão digital da chave pública do servidor com o administrador do sistema.

Important

Espaço de cache temporário para arquivos remotos grandes Ao visualizar (F3) ou editar (F4) arquivos de vários gigabytes armazenados em servidores VFS remotos, o ATBCmder transmite o item de destino para seu volume /tmp local. Certifique-se de que o contêiner APFS principal do seu Mac tenha espaço de armazenamento livre suficiente antes de abrir grandes arquivos remotos de vídeo ou banco de dados.

Caution

Desmontando compartilhamentos de rede remotos Para compartilhamentos SMB montados via macOS mount_smbfs, encerrar a conectividade de rede sem desconectar pode deixar identificadores de montagem obsoletos em /Volumes/. Sempre use o menu da unidade do painel ou a ação de desconexão antes de fechar seu laptop ou mudar de rede Wi-Fi.


11. Tabela de referência do teclado mestre de matriz dupla

Categoria Descrição da ação Atalho do macOS Tecla Commander Clássica ID do comando
Operações de arquivo Empacotar arquivos/pastas selecionados Alt+F5 / ⌥F5 Alt+F5 cm_PackFiles
Operações de arquivo Extrair arquivo(s) selecionado(s) Alt+F9 / ⌥F9 Alt+F9 cm_ExtractFiles
Operações de arquivo Navegue dentro do contêiner de arquivo Enter / ⏎ Enter cm_Open
Operações de arquivo Sair do arquivo para o diretório pai Backspace / ⌫ Backspace cm_ChangeDirToParent
Operações de arquivo Visualizar arquivo dentro do arquivo F3 / Fn+F3 F3 cm_View
Operações de arquivo Editar arquivo dentro do arquivo (ao vivo) F4 / Fn+F4 F4 cm_Edit
Operações de arquivo Extrair apenas itens selecionados F5 / Fn+F5 F5 cm_Copy
Operações de arquivo Divida arquivos grandes em volumes Alt+F6 / ⌥F6 Alt+F6 cm_FileSpliter / cm_Split
Operações de arquivo Remontar peças de volume dividido Menu: Arquivos ➔ Combinar Arquivos — cm_FileLinker / cm_Combine
Conexões de rede Caixa de diálogo Conexão rápida de rede Menu: Rede — cm_NetworkConnect
Conexões de rede Gerenciar conexões de rede Menu: Rede — cm_ManageConnections
Conexões de rede Conexão rápida ao servidor FTP Ctrl+S / ⌃S Ctrl+S cm_FTPConnect
Conexões de rede Desconectar compartilhamento de rede remota Menu: Rede — cm_NetworkDisconnect
Gerenciamento de transferências Fila de transferência de operações abertas Menu: Mostrar — cm_OperationsPanel
Gerenciamento de transferências Pausar/retomar fila ativa Space (na fila) Space —

Pronto para monitorar recursos do sistema, analisar o uso do disco e limpar caches com segurança?

Avançar para o Capítulo 7: Ferramentas do sistema e manutenção →