Fflsharefiles
fflShareFilesShare multiple local files at once by auto-zipping them into a single downloadable package and returning a clickable link.
Instructions
Share multiple local files at once using ffl. ffl auto-zips them into a single download. Managed-sandbox policy: When running inside ChatGPT Work, Grok Bot, a cloud-hosted Codex sandbox, or a Claude Code cloud session (Claude Code on the web / claude.ai/code, or a remote session started from the Claude app), use relay immediately: forceRelay=True and preferredTunnel="default:web". These environments may only allow outbound HTTPS through a proxy, with no usable UDP/ICE or raw TCP tunnels. Do not apply this rule to local Claude Code CLI, local Codex CLI, local Grok Build, or ordinary user machines.
IMPORTANT: Always present the returned link so the user can click it to open in a browser. Do not display it as a plain unformatted URL — in some interfaces (such as Claude Dispatch) plain URLs are not auto-linked and will not be clickable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| e2ee | No | Enable end-to-end encryption (default: False) | |
| name | No | Custom download filename shown to recipient (e.g. 'release-v2.0.zip') | |
| port | No | ||
| alias | No | Custom link alias instead of random UID (requires Standard+ account) | |
| paths | Yes | List of local file paths to share together (auto-zipped by ffl) | |
| pause | No | ||
| proxy | No | Proxy server URL (e.g. socks5://127.0.0.1:9050) | |
| invite | No | ||
| upload | No | Upload to FFL server for async sharing — e.g. '1 day', '6 hours' (requires Standard+ account) | |
| exclude | No | Exclude files matching glob or regex patterns, comma-separated | |
| hookUrl | No | Custom webhook URL for events | |
| preview | No | Open recipient's browser directly in preview mode — shows a file list before downloading (default: False). Recommended when sharing multiple files so the recipient can inspect contents first. | |
| receipt | No | Send email notification when recipient downloads | |
| authUser | No | HTTP Basic Auth username to protect the link | |
| transport | No | ||
| forceRelay | No | Disable direct WebRTC; route all traffic through tunnel | |
| pickupCode | No | Specific pickup code to use (default: auto-generated) | |
| authPassword | No | HTTP Basic Auth password to protect the link | |
| maxDownloads | No | Stop serving after N downloads, P2P only (default: 1) | |
| qrInTerminal | No | Return ASCII QR code art for terminal display | |
| resumeUpload | No | Resume an interrupted upload (default: False) | |
| recipientAuth | No | Recipient authentication mode — pickup, pubkey, pubkey+pickup, email | |
| receiptConfirm | No | Require recipient to confirm before download starts | |
| recipientEmail | No | Recipient email(s) for OTP auth, comma-separated | |
| timeoutSeconds | No | Stop serving after N seconds of inactivity, P2P only (default: 1800) | |
| enableReporting | No | ||
| preferredTunnel | No | Set preferred tunnel — cloudflare, ngrok, bore, etc. | |
| recipientPublicKey | No | Path to recipient .fflpub public key file for pubkey auth |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||