xdrop
Original:🇺🇸 English
Translated
2 scripts
Use this skill when the user wants to send or fetch files through an Xdrop server from the terminal, asks to automate encrypted Xdrop share-link workflows, provides an Xdrop `/t/:transferId#k=...` link to download and decrypt locally, or needs Xdrop CLI flags such as `--quiet`, `--json`, `--expires-in`, `--output`, or `--api-url`, even if they do not explicitly mention the skill name.
60installs
Sourcexixu-me/xdrop
Added on
NPX Install
npx skill4agent add xixu-me/xdrop xdropTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Xdrop
Use the bundled scripts inside this skill directory.
Available scripts
- — Upload local files or directories to an Xdrop server and print the share link
scripts/upload.mjs - — Download an Xdrop share link, decrypt it locally, and save the files
scripts/download.mjs
Environment requirements:
- Bun
- Local filesystem access
- Network access to the target Xdrop server
Upload
bash
bun scripts/upload.mjs --server <xdrop-site-url> <file-or-directory> [...]Prefer these flags when relevant:
- : suppress progress output and keep stdout clean
--quiet - : return
--json,transferId, andshareUrlexpiresAt - : choose a supported expiry
--expires-in <seconds> - : override the default
--api-url <url><server>/api/v1 - : set the transfer display name
--name <value> - : limit parallel uploads per file
--concurrency <n>
Useful examples:
bash
bun scripts/upload.mjs --server http://localhost:8080 ./dist/report.pdf
bun scripts/upload.mjs --server http://localhost:8080 --quiet ./archive.zip
bun scripts/upload.mjs --server http://localhost:8080 --expires-in 600 --json ./notes.txtIf the user wants verification, upload a small temporary file and then confirm the public transfer API or browser can open the returned link.
Download
Require the full share link, including . Without the fragment key, the transfer cannot be decrypted.
#k=...bash
bun scripts/download.mjs "<share-url>"Prefer these flags when relevant:
- : choose the destination directory
--output <dir> - : suppress progress output and keep stdout clean
--quiet - : return
--json,transferId, and saved file pathsoutputRoot - : override the default
--api-url <url><share-origin>/api/v1
Useful examples:
bash
bun scripts/download.mjs "http://localhost:8080/t/abc123#k=..."
bun scripts/download.mjs --output ./downloads "http://localhost:8080/t/abc123#k=..."
bun scripts/download.mjs --quiet --json --output ./downloads "http://localhost:8080/t/abc123#k=..."By default the downloader writes to and preserves the manifest's relative paths.
./xdrop-<transferId>Gotchas
- A download link without the fragment is not decryptable. Ask for the full original share URL.
#k=... - Use whenever another command or caller needs to capture stdout. Progress logs otherwise go to stderr, but the final result still matters.
--quiet
Guardrails
- Prefer when another command or script needs to capture stdout.
--quiet - Keep the full share link fragment intact for downloads.
- Do not bypass the scripts' built-in path sanitization or transfer cleanup behavior with manual ad hoc commands unless the user explicitly asks.