Skip to content

CLI Drop Commands

Upload, download, list, and manage encrypted file drops from the command line.

The anonli drop commands let you upload, download, and manage end-to-end encrypted file drops. Files are encrypted locally with AES-256-GCM before upload — the server never sees your unencrypted data.


Upload

Upload and encrypt files.

Code
anonli drop upload <path> [options]

Arguments

ArgumentDescription
<path>File or directory to upload. Use - to read from stdin.

Options

FlagDescription
-t, --title <text>Set an encrypted title for the drop
-m, --message <text>Attach an encrypted message
-e, --expiry <days>Expiration in days (default: 1)
-n, --max-downloads <n>Limit number of downloads
-p, --password <pass>Password-protect the drop (requires Plus or Pro)
--name <name>File name when reading from stdin
--notifySend email notification on download
--hide-brandingRemove anon.li branding from the download page
--no-vaultDo not store the owner key in your account vault
--jsonOutput the share URL as JSON

Examples

Code
# Upload a file with 7-day expiry
anonli drop upload ./report.pdf --expiry 7

# Upload from stdin with a custom name
cat backup.sql | anonli drop upload - --name backup.sql

# Upload a directory with title and download limit
anonli drop upload ./project --title "Project files" --max-downloads 5

# Password-protected upload
anonli drop upload ./secret.zip --password "s3cret" --expiry 3

How Encryption Works

  1. A random AES-256-GCM key and 12-byte base IV are generated locally
  2. The title and message (if provided) are encrypted with the key
  3. Each file gets its own 12-byte IV, then is split into 50 MB chunks encrypted with IVs derived from that file IV + chunk index
  4. Encrypted chunks are uploaded concurrently to storage
  5. By default, the CLI prompts for your vault password and stores a vault-wrapped owner key for dashboard recovery
  6. The share URL is returned with the decryption key in the fragment: https://anon.li/d/<id>#<key>

The #<key> fragment is never sent to the server.

Use --no-vault only when you intentionally want a link-only drop. Without vault storage, the dashboard cannot recover the drop key if you lose the share URL.


Download

Download and decrypt files from a drop.

Code
anonli drop download <target> [options]

Aliases: anonli drop dl

Arguments

ArgumentDescription
<target>Drop URL or drop ID. When using a URL, the decryption key is extracted automatically from the fragment.

Options

FlagDescription
-o, --output <dir>Output directory (default: current directory)
-k, --key <key>Decryption key (not needed if included in the URL)
-p, --password <pass>Password for protected drops
--overwriteOverwrite existing files
--skipSkip existing files

Examples

Code
# Download using the full share URL
anonli drop download "https://anon.li/d/abc123#U2FsdGVkX1..."

# Download by ID with a separate key
anonli drop download abc123 --key U2FsdGVkX1...

# Download to a specific directory
anonli drop download "https://anon.li/d/abc123#key" --output ~/Downloads

# Download a password-protected drop
anonli drop download "https://anon.li/d/abc123#key" --password "s3cret"

Resume Support

If a download is interrupted, the CLI saves progress to a .anonli-dl temporary file. Re-running the same command resumes from where it left off using HTTP Range requests.


List

List your active file drops.

Code
anonli drop list [options]

Options

FlagDescription
--limit <n>Results per page (default: 50)
--offset <n>Pagination offset
--expiredShow only expired drops
--disabledShow only disabled drops
--enabledShow only active drops
--sort <field>Sort by: created, expiry, size, downloads (default: created)
--order <asc|desc>Sort order (default: desc)
--jsonOutput raw JSON

Example

Code
# List active drops sorted by size
anonli drop list --enabled --sort size

# Get JSON output for scripting
anonli drop list --json | jq '.[].id'

Info

View details and file list for a drop.

Code
anonli drop info <target> [options]

Aliases: anonli drop get

Arguments

ArgumentDescription
<target>Drop URL or drop ID

Options

FlagDescription
-k, --key <key>Decryption key to reveal encrypted filenames
-p, --password <pass>Password for protected drops
--jsonOutput raw JSON

Delete

Permanently delete a drop.

Code
anonli drop delete <drop-id> [options]

Options

FlagDescription
-f, --forceSkip confirmation prompt

Toggle

Enable or disable a drop.

Code
anonli drop toggle <target>

Returns the new state (enabled or disabled). Disabled drops cannot be downloaded but are not deleted — you can re-enable them later.


Share

Reconstruct a shareable URL from a drop ID and key. No authentication required.

Code
anonli drop share <drop-id> --key <key>

Options

FlagDescription
-k, --key <key>The decryption key (required)

Example

Code
anonli drop share abc123 --key U2FsdGVkX1...
# → https://anon.li/d/abc123#U2FsdGVkX1...