

sninja, c'est Share.Ninja dans le terminal. Le programme partage des fichiers par lien et télécharge les liens des autres, avec le même compte et les mêmes liens que les applications. Les fichiers sont chiffrés sur votre ordinateur avant d'en sortir, et le lien s'ouvre chez le destinataire dans n'importe quel navigateur.
macOS 13 ou plus récent sur Apple Silicon, avec Homebrew :
brew install shareninjahq/sninja/sninjaWindows 10 ou plus récent, x64, avec winget :
winget install Share.Ninja.CLIPour vérifier que tout est en place : sninja --version.
sninja put report.pdf photos/Le programme chiffre les fichiers, les envoie et affiche le lien. Envoyez-le à qui vous voulez : il s'ouvre dans n'importe quel navigateur, et le destinataire n'a besoin ni d'application ni de compte.
Avec le nom d'un dossier, c'est le dossier entier qui est partagé. Avec une barre oblique à la fin, ou un glob, seulement son contenu :
sninja put build # a folder named build
sninja put build/ # the contents of buildOptions :
On peut d'abord regarder ce qu'il y a dedans :
sninja list 'https://share.ninja/#…' --tree--table affiche les tailles et les dates à la place de l'arborescence, --path docs commence dans un sous-dossier, --non-recursive n'affiche qu'un niveau. Ensuite :
sninja get 'https://share.ninja/#…' -o ~/DownloadsLes fichiers arrivent dans le dossier donné par -o, par défaut le dossier courant. Mettez le lien entre guillemets, sinon le shell avale tout ce qui suit le #.
Un téléchargement interrompu reprend là où il s'est arrêté : relancez simplement le même get.
sninja direct build/ --ttl 3600Le programme affiche tout de suite un lien et sert les fichiers directement depuis cet ordinateur tant qu'il tourne. Rien ne part dans le cloud. Arrêtez-le avec Ctrl+C ou donnez-lui une durée en secondes avec --ttl ; dans les deux cas, il ne reste ensuite rien à télécharger. C'est tout l'intérêt.
Tout ce qui précède fonctionne sans compte. Connectez-vous si vous voulez retrouver vos partages sur vos autres appareils :
sninja auth loginLe navigateur s'ouvre pour la connexion. La session est conservée dans le trousseau du système : sninja auth status l'affiche, sninja auth logout la supprime.
Un nouvel appareil n'obtient l'accès qu'après confirmation depuis un appareil auquel vous faites déjà confiance. Ce terminal ne fait pas exception :
sninja vault join --waitLe programme affiche l'empreinte de l'appareil et attend. Approuvez la demande sur un appareil de confiance, en vérifiant que l'empreinte correspond, et la commande se termine connectée. Sans --wait, elle rend la main tout de suite ; sninja vault status vous dit où vous en êtes.
Une fois connecté :
Pour l'instant, arrêter un partage ne se fait que dans l'application ou sur share.ninja ; la ligne de commande n'a pas encore de commande pour cela.
La progression et l'état sortent aussi sur stdout : prenez donc le lien dans les dernières lignes, pas dans toute la sortie. list, link et links peuvent écrire leur résultat dans un fichier JSON : --json <file>. Les journaux vont sur stderr ; --verbose les rend plus détaillés.