

sninja è Share.Ninja nel terminale. Il programma condivide file con un link e scarica i link degli altri, con lo stesso account e gli stessi link delle app. I file vengono cifrati sul tuo computer prima di uscirne, e il link si apre in qualsiasi browser di chi lo riceve.
macOS 13 o successivo su Apple Silicon, con Homebrew:
brew install shareninjahq/sninja/sninjaWindows 10 o successivo, x64, con winget:
winget install Share.Ninja.CLIPer controllare che sia tutto a posto: sninja --version.
sninja put report.pdf photos/Il programma cifra i file, li carica e stampa il link. Mandalo a chi vuoi: si apre in qualsiasi browser, e chi lo riceve non ha bisogno né dell'app né di un account.
Con il nome di una cartella si condivide la cartella intera. Con una barra finale, o con un glob, solo quello che contiene:
sninja put build # a folder named build
sninja put build/ # the contents of buildOpzioni:
Prima puoi guardare cosa c'è dentro:
sninja list 'https://share.ninja/#…' --tree--table mostra dimensioni e date al posto dell'albero, --path docs parte da una cartella interna, --non-recursive mostra un solo livello. Poi:
sninja get 'https://share.ninja/#…' -o ~/DownloadsI file finiscono nella cartella indicata con -o, di default quella corrente. Metti il link tra virgolette, altrimenti la shell si mangia tutto quello che segue il #.
Un download interrotto riprende da dove si era fermato: basta rilanciare lo stesso get.
sninja direct build/ --ttl 3600Il programma stampa subito un link e serve i file direttamente da questo computer finché resta in esecuzione. Nel cloud non va nulla. Fermalo con Ctrl+C o dagli una durata in secondi con --ttl; in ogni caso, dopo non resta niente da scaricare. È proprio questo il punto.
Tutto quanto sopra funziona senza account. Accedi se vuoi ritrovare le tue condivisioni anche sugli altri dispositivi:
sninja auth loginSi apre il browser per l'accesso. La sessione resta nel portachiavi di sistema: sninja auth status la mostra, sninja auth logout la rimuove.
Un nuovo dispositivo entra solo dopo la conferma da un dispositivo di cui ti fidi già. Questo terminale non fa eccezione:
sninja vault join --waitIl programma stampa l'impronta del dispositivo e aspetta. Approva la richiesta su un dispositivo fidato, controllando che l'impronta corrisponda, e il comando termina con l'accesso effettuato. Senza --wait ritorna subito; sninja vault status ti dice a che punto sei.
Con l'accesso effettuato:
Per ora una condivisione si chiude solo dall'app o su share.ninja; la riga di comando non ha ancora un comando per farlo.
Anche progresso e stato vanno su stdout, quindi prendi il link dalle ultime righe e non da tutto l'output. list, link e links possono scrivere il risultato in un file JSON: --json <file>. I log vanno su stderr; --verbose li rende più dettagliati.