Terminal pogryzł człowieka: ffsend
Przesyłanie plików pomiędzy komputerami odmieniano już na tyle przypadków, że ffsend wydaje się być projektem z gatunku „wymyślmy bardziej okrągłe koło”. Jednak w obliczu niedawnych wydarzeń, warto pamiętać o tym programie. W obliczu zakończenia przez Mozillę inicjatywy Test Pilot przed ffsend rozpostarła się świetlana przyszłość.
A to dlatego, że ze wszystkich pomysłów rozwijanych w ramach wspomnianego Firefox Test Pilot, to właśnie Send doczeka się kontynuacji. Ffsend jest niczym innym jak tekstowym implementacją tego standardu i narzędziem pozwalającym wykorzystać uroki łatwego i bezpiecznego udostępniania plików.
Send umożliwia przesłanie w bezpieczny sposób dużych plików (do 2GB). Za pomocą serwisu online wyślemy dowolny plik, który zostanie zaszyfrowany i zabezpieczony hasłem, a my otrzymamy link do tego zbioru danych, którym to linkiem możemy podzielić się ze znajomymi. Plik pozostanie na serwerze przez kolejne 24 godziny. Proste? Chyba prościej już nie można.
Ffsend oferuje dostęp do powyższych funkcji, tyle że z poziomu terminala. Obsługa programu ogranicza się do przyjęcia do świadomości kilku parametrów którymi możemy operować. Czy chcemy wysyłać czy pobierać. Czy chcemy zabezpieczyć dostęp hasłem. I inne.
$ ffsend --help ffsend 0.1.2 Tim Visee <timvisee@gmail.com> Easily and securely share files from the command line. A fully featured Firefox Send client. USAGE: ffsend [FLAGS] [OPTIONS] [SUBCOMMAND] FLAGS: -f, --force Force the action, ignore warnings -h, --help Prints help information -i, --incognito Don't update local history for actions -I, --no-interact Not interactive, do not prompt -q, --quiet Produce output suitable for logging and automation -V, --version Prints version information -v, --verbose Enable verbose information and logging -y, --yes Assume yes for prompts OPTIONS: -H, --history <FILE> Use the specified history file [env: FFSEND_HISTORY] -t, --timeout <SECONDS> Request timeout (0 to disable) [env: FFSEND_TIMEOUT] -T, --transfer-timeout <SECONDS> Transfer timeout (0 to disable) [env: FFSEND_TRANSFER_TIMEOUT] SUBCOMMANDS: upload Upload files [aliases: u, up] download Download files [aliases: d, down] debug View debug information [aliases: dbg] delete Delete a shared file [aliases: del] exists Check whether a remote file exists [aliases: e] help Prints this message or the help of the given subcommand(s) history View file history [aliases: h] info Fetch info about a shared file [aliases: i] parameters Change parameters of a shared file [aliases: params] password Change the password of a shared file [aliases: pass, p] The public Send service that is used as default host is provided by Mozilla. This application is not affiliated with Mozilla, Firefox or Firefox Send.
Dokładniejsze informacje dla konkretnych komend otrzymamy dodając zwyczajowe –help:
$ ffsend upload --help ffsend-upload 0.1.2 Upload files USAGE: ffsend upload [FLAGS] [OPTIONS] <FILE> FLAGS: -a, --archive Archive the upload in a single file -c, --copy Copy the share link to your clipboard -f, --force Force the action, ignore warnings -P, --gen-passphrase Protect the file with a generated passphrase --help Prints help information -i, --incognito Don't update local history for actions -I, --no-interact Not interactive, do not prompt -o, --open Open the share link in your browser -q, --quiet Produce output suitable for logging and automation -v, --verbose Enable verbose information and logging -y, --yes Assume yes for prompts OPTIONS: -d, --download-limit <COUNT> The file download limit [default: 1] -H, --history <FILE> Use the specified history file [env: FFSEND_HISTORY] -h, --host <URL> The remote host to upload to [env: FFSEND_HOST] [default: https://send.firefox.com/] -n, --name <NAME> Rename the file being uploaded -p, --password <PASSWORD> Protect the file with a password -t, --timeout <SECONDS> Request timeout (0 to disable) [env: FFSEND_TIMEOUT] -T, --transfer-timeout <SECONDS> Transfer timeout (0 to disable) [env: FFSEND_TRANSFER_TIMEOUT] ARGS: <FILE> The file to upload
I w ten sposób wiemy już, że wystarczy:
ffsend upload obrazek.png --password 123123
… aby wysłać plik na serwery, a następnie:
ffsend download URL
… aby go pobrać po wprowadzeniu ustalonego hasła.
Program możemy pobrać z repozytorium Githuba, gdzie autor stworzył paczki dla niemal wszystkich dystrybucji. W przypadku Ubuntu, Minta i pochodnych pobieramy oczywiście paczkę deb (wymaga doinstalowania pakietu xclip).