

O sninja é o Share.Ninja no terminal. O programa compartilha arquivos por link e baixa os links dos outros, com a mesma conta e os mesmos links dos apps. Os arquivos são criptografados no seu computador antes de sair dele, e o link abre em qualquer navegador de quem recebe.
macOS 13 ou mais recente em Apple Silicon, pelo Homebrew:
brew install shareninjahq/sninja/sninjaWindows 10 ou mais recente, x64, pelo winget:
winget install Share.Ninja.CLIPara conferir se está tudo no lugar: sninja --version.
sninja put report.pdf photos/O programa criptografa os arquivos, envia e imprime o link. Mande para quem quiser: o link abre em qualquer navegador, e quem recebe não precisa de app nem de conta.
Com o nome de uma pasta, a pasta inteira é compartilhada. Com uma barra no final, ou um glob, só o que está dentro dela:
sninja put build # a folder named build
sninja put build/ # the contents of buildOpções:
Primeiro dá para ver o que tem dentro:
sninja list 'https://share.ninja/#…' --tree--table mostra tamanhos e datas no lugar da árvore, --path docs começa por uma pasta interna, --non-recursive mostra só um nível. Depois:
sninja get 'https://share.ninja/#…' -o ~/DownloadsOs arquivos vão para a pasta indicada em -o, por padrão a atual. Coloque o link entre aspas, senão o shell engole tudo depois do #.
Um download interrompido continua de onde parou: basta rodar o mesmo get de novo.
sninja direct build/ --ttl 3600O programa imprime um link na hora e serve os arquivos direto deste computador enquanto estiver rodando. Para a nuvem não vai nada. Pare com Ctrl+C ou dê uma duração em segundos com --ttl; de um jeito ou de outro, depois não sobra nada para baixar. Essa é a ideia.
Tudo até aqui funciona sem conta. Entre se quiser ver seus compartilhamentos também nos outros dispositivos:
sninja auth loginO navegador abre para você entrar. A sessão fica no chaveiro do sistema: sninja auth status mostra, sninja auth logout apaga.
Um dispositivo novo só ganha acesso depois de confirmado por um dispositivo em que você já confia. Este terminal não é exceção:
sninja vault join --waitO programa imprime a impressão digital do dispositivo e espera. Aprove o pedido em um dispositivo confiável, conferindo a impressão digital, e o comando termina conectado. Sem --wait ele volta na hora; sninja vault status diz em que ponto você está.
Conectado:
Por enquanto, parar de compartilhar só dá pelo app ou no share.ninja; a linha de comando ainda não tem esse comando.
Progresso e status também saem no stdout, então pegue o link das últimas linhas, não da saída inteira. list, link e links podem gravar o resultado em um arquivo JSON: --json <file>. Os logs vão para o stderr; --verbose deixa tudo mais detalhado.