xdrop
提供本地文件加密上传和加密下载功能,支持端到端加密的文件分享,保护数据隐私和安全
npx skills add xixu-me/xdrop --skill xdropBefore / 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: returntransferId,shareUrl, andexpiresAt -
--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: returntransferId,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
--quietwhenever another command or caller needs to capture stdout. Progress logs otherwise go to stderr, but the final result still matters.
Guardrails
-
Prefer
--quietwhen 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)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分