mcpField
X
xdrop

xdrop

github.com/xixu-me生产力91.5k 次安装2 周前更新
代码仓库

关于 xdrop

xdrop 是一组通过 Xdrop 服务传输文件的脚本技能,可上传本地文件并下载、解密分享内容,还支持设置有效期和输出格式。

主要功能

  1. 01上传文件或目录
  2. 02下载并解密分享内容
  3. 03设置输出目录和有效期
  4. 04以 JSON 返回传输信息

适用场景

  1. 01通过 Xdrop 服务分享本地报告
  2. 02使用完整分享链接获取文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xixu-me/xdrop --skill xdrop

安装后在 Claude Code 中输入/xdrop确认已加载。

附带文件scripts/download.mjsscripts/upload.mjs

详细介绍

Xdrop

使用此技能目录中捆绑的脚本。

可用脚本

  • scripts/upload.mjs — 将本地文件或目录上传到 Xdrop 服务,并打印分享链接
  • scripts/download.mjs — 下载 Xdrop 分享链接,在本地解密并保存文件

环境要求:

  • Bun
  • 本地文件系统访问权限
  • 连接目标 Xdrop 服务的网络访问权限

上传

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

相关时优先使用以下标志:

  • --quiet:抑制进度输出,保持 stdout 清爽
  • --json:返回 transferId、shareUrl 和 expiresAt
  • --expires-in <seconds>:选择受支持的过期时间
  • --api-url <url>:覆盖默认的 <server>/api/v1
  • --name <value>:设置传输显示名称
  • --concurrency <n>:限制每个文件的并行上传数

实用示例:

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

如果用户需要验证,请上传一个小型临时文件,然后确认公共传输 API 或浏览器能够打开返回的链接。

下载

必须提供完整的分享链接,包括 #k=...。没有片段密钥,就无法解密传输内容。

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

相关时优先使用以下标志:

  • --output <dir>:选择目标目录
  • --quiet:抑制进度输出,保持 stdout 清爽
  • --json:返回 transferId、outputRoot 和已保存的文件路径
  • --api-url <url>:覆盖默认的 <share-origin>/api/v1

实用示例:

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=..."

默认情况下,下载器会写入 ./xdrop-<transferId>,并保留清单中的相对路径。

注意事项

  • 不带 #k=... 片段的下载链接无法解密。请索取完整的原始分享 URL。
  • 如果其他命令或调用方需要捕获 stdout,请使用 --quiet。进度日志会输出到 stderr,但最终结果仍然重要。

安全限制

  • 如果其他命令或脚本需要捕获 stdout,请优先使用 --quiet。
  • 下载时请保留完整的分享链接片段。
  • 除非用户明确要求,否则不要使用临时手动命令绕过脚本内置的路径清理或传输清理行为。

评论

支持 Markdown