X

xdrop

by @xixu-mev1.0.0
4.8(70)

提供本地文件加密上传和加密下载功能,支持端到端加密的文件分享,保护数据隐私和安全

cloud-storagesecurityautomationGitHub
安装方式
npx skills add xixu-me/xdrop --skill xdrop
compare_arrows

Before / After 效果对比

1
使用前

使用云存储上传文件,生成公开分享链接,担心数据泄露,需要手动设置密码或访问权限,依赖第三方平台的安全性

使用后

本地文件自动加密后上传到 Xdrop 服务器,生成加密分享链接,下载时本地解密,确保端到端加密,平台无法访问文件内容

description SKILL.md

xdrop

Xdrop

Use the bundled scripts inside this skill directory.

Available scripts

  • scripts/upload.mjs — Upload local files or directories to an Xdrop server and print the share link

  • scripts/download.mjs — Download an Xdrop share link, decrypt it locally, and save the files

Environment requirements:

  • Bun

  • Local filesystem access

  • Network access to the target Xdrop server

Upload

bun scripts/upload.mjs --server <xdrop-site-url> <file-or-directory> [...]

Prefer these flags when relevant:

  • --quiet: suppress progress output and keep stdout clean

  • --json: return transferId, shareUrl, and expiresAt

  • --expires-in <seconds>: choose a supported expiry

  • --api-url <url>: override the default <server>/api/v1

  • --name <value>: set the transfer display name

  • --concurrency <n>: limit parallel uploads per file

Useful examples:

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.txt

If 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 #k=.... Without the fragment key, the transfer cannot be decrypted.

bun scripts/download.mjs "<share-url>"

Prefer these flags when relevant:

  • --output <dir>: choose the destination directory

  • --quiet: suppress progress output and keep stdout clean

  • --json: return transferId, outputRoot, and saved file paths

  • --api-url <url>: override the default <share-origin>/api/v1

Useful examples:

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 ./xdrop-<transferId> and preserves the manifest's relative paths.

Gotchas

  • A download link without the #k=... fragment is not decryptable. Ask for the full original share URL.

  • Use --quiet whenever another command or caller needs to capture stdout. Progress logs otherwise go to stderr, but the final result still matters.

Guardrails

  • Prefer --quiet when another command or script needs to capture stdout.

  • 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.

Weekly Installs288Repositoryxixu-me/xdropGitHub Stars2First Seen2 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykFailInstalled onopencode288gemini-cli288github-copilot288codex288warp288amp288

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量18.9K
评分4.8 / 5.0
版本1.0.0
更新日期2026年3月25日
对比案例1 组

用户评分

4.8(70)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月25日
最后更新2026年3月25日