FileDrop
Self-hosted file sharing
Enter the 6-digit code from your authenticator app.
FileDrop
—
⬆
Drop file here
Click to browse · any format · up to 10 GB
Expires in
Link password (optional)
—
Total Files
—
Active
—
On OVH S3
—
Local
—
Total Size
—
Infected
Files
NameSizeStorageUploadedExpiresScanDLsVia
Loading…
Share Links
Name URL Expires Downloads Created Password
Loading…
Share Bundles
Create new bundle
Bundle name
Expires in
Password (optional)
Select files
Loading files…
Existing Bundles
No bundles yet.
API Tokens

Upload from the terminal without your password. Tokens are shown only once.

Token name
⚠ Copy this token — it won't be shown again
CLI Upload Guide
›Single file upload — URL returned instantly
# Upload — share URL is returned directly (no second request needed)
curl -X POST BASE_URL/api/upload/cli \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "file=@/path/to/file.tar.gz"

# Response: BASE_URL/s/aB3xQz1Y2m

# Custom TTL (days) + download limit
curl -X POST "BASE_URL/api/upload/cli?ttl=30&limit=5" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "file=@backup.sql.gz"

# JSON response (for scripting)
curl -X POST BASE_URL/api/upload/cli \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  -F "file=@archive.zip"
# { "id": "...", "url": "...", "linkId": "...", "size": 4718592 }
›Chunked upload (large files) — share URL returned on finalize
UPLOAD_ID=$(uuidgen)
FILENAME="bigfile.tar.gz"
CHUNK_SIZE=$((5*1024*1024))  # 5 MB chunks
TOKEN="YOUR_TOKEN"
BASE="BASE_URL"

# Split and stream each chunk
split -b $CHUNK_SIZE "$FILENAME" /tmp/chunk_
i=0
for chunk in /tmp/chunk_*; do
  curl -s -X POST "$BASE/api/upload/chunk" \
    -H "Authorization: Bearer $TOKEN" \
    --form-string "uploadId=$UPLOAD_ID" \
    --form-string "chunkIndex=$i" \
    --form-string "totalChunks=$(ls /tmp/chunk_* | wc -l | tr -d ' ')" \
    --form-string "originalName=$FILENAME" \
    -F "chunk=@$chunk"
  i=$((i+1))
done

# Finalize — assembles chunks and returns share URL directly
curl -X POST "$BASE/api/upload/finalize" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"uploadId\":\"$UPLOAD_ID\",\"ttl\":7}"

# Response: { "url": "BASE_URL/s/xyz789", ... }
›⭐ Shell function — one-time setup
1. Copy the function below and paste it into ~/.zshrc or ~/.bashrc
2. Run source ~/.zshrc or source ~/.bashrc to activate it
macOS (zsh)
Linux (zsh / bash)
⚠ Your token is stored as plaintext in ~/.zshrc. For better security use an env var: export FILEDROP_TOKEN=fdt_... and replace YOUR_TOKEN with $FILEDROP_TOKEN.
Your base URL: loading…
Settings
Two-Factor Authentication (TOTP)
Protect your account with a time-based one-time password from an authenticator app (Google Authenticator, Authy, 1Password, etc.).
Loading…
TOTP QR code
Scan with your authenticator app
Or enter the key manually if QR doesn't scan
Backup Codes
One-time codes to use if you lose access to your authenticator. Each can only be used once.
Loading…