LinuxCommandLibrary

ffsend

Send files through Firefox Send

TLDR

Upload a file

$ ffsend upload [path/to/file]
copy

Download a file
$ ffsend download [url]
copy

Upload a file with password
$ ffsend upload [path/to/file] [[-p|--password]] [password]
copy

Download a file protected by password
$ ffsend download [url] [[-p|--password]] [password]
copy

Upload a file and allow 4 downloads
$ ffsend upload [path/to/file] [[-d|--downloads]] [4]
copy

SYNOPSIS

ffsend [OPTIONS]
ffsend receive [OPTIONS]
ffsend delete [OPTIONS]
ffsend info [OPTIONS]

PARAMETERS

-s, --server
    Specify a custom Send server URL to use instead of the default.

-t, --time
    Set the file expiration time (e.g., 1h for 1 hour, 1d for 1 day, 5m for 5 minutes). Maximum values depend on the server.

-l, --downloads
    Set the maximum number of times the file can be downloaded before it expires.

-p, --password
    Password protect the uploaded file. This password is required for anyone attempting to download the file.

-m, --message
    Add a custom message that will be displayed to the recipient when they access the download link.

-i, --incognito
    Upload files without storing any metadata on the server. This provides an additional layer of privacy but may prevent some features like download counts.

-c, --copy
    Automatically copy the generated download URL to your system's clipboard after a successful upload.

-o, --output
    Specify the output path or filename for a downloaded file. If a directory is specified, the original filename is used.

-f, --force
    Overwrite existing files during a download without prompting for confirmation.

--no-check-certificate
    Disable SSL/TLS certificate verification for the server. Use with caution, as it can expose you to man-in-the-middle attacks.

DESCRIPTION

ffsend is a robust and user-friendly command-line client for the Firefox Send service (and compatible self-hosted instances). It enables end-to-end encrypted file sharing directly from your terminal. Users can effortlessly upload files, generating a unique, shareable URL. Key features include setting expiration times for shared files, limiting the number of downloads, and protecting uploads with a password for an added layer of security. The client also supports downloading files from existing Send URLs.

While the official Mozilla Firefox Send service has been discontinued, ffsend remains highly valuable for interacting with self-hosted instances of Firefox Send or other services that implement the same API, ensuring secure and private file transfers without relying on web browsers. It prioritizes privacy and convenience, making it ideal for sharing sensitive data.

CAVEATS

The official Mozilla Firefox Send service was discontinued in September 2020 due to misuse. Therefore, ffsend now primarily functions as a client for self-hosted instances of Firefox Send or other third-party servers that implement the same API. Users must ensure the trustworthiness of any Send server they connect to, as the server, while not seeing plaintext data, may still log metadata unless the --incognito option is used.

SECURITY CONSIDERATIONS

ffsend provides end-to-end encryption, meaning files are encrypted on your client before being sent and decrypted only on the recipient's side. The server never sees the plaintext data. However, for maximum security, always verify the trustworthiness of the Send server you are using, especially if it's not self-hosted. The server *does* see some metadata like file size, number of downloads, and expiration settings, unless the --incognito option is used.

SELF-HOSTING

Given the official service's discontinuation, ffsend is most effectively used in conjunction with a self-hosted instance of Firefox Send. This allows users full control over their file-sharing infrastructure, ensuring privacy and availability independently of third-party services. Documentation for setting up a self-hosted Send instance is available from the original Mozilla Send GitHub repository or community forks.

HISTORY

ffsend was developed as a command-line client for the Firefox Send service, which was launched by Mozilla to provide a secure, ephemeral file-sharing platform. The service gained popularity for its end-to-end encryption and time-limited downloads.

In September 2020, Mozilla officially discontinued the Firefox Send service due to abuse issues, shifting its focus elsewhere. Despite the service's discontinuation, the ffsend client continues to be actively maintained. Its development now primarily focuses on supporting self-hosted instances of Firefox Send (the server-side software is open-source) or other compatible services that implement the same API. This ensures that users who wish to run their own secure file-sharing service can still leverage ffsend for convenient command-line interaction, preserving the original spirit of secure, temporary file sharing.

SEE ALSO

curl(1), wget(1), scp(1), rsync(1)

Copied to clipboard