mcpField
X
xdrop

xdrop

github.com/xixu-me生产力79503.5k 次安装3 天前更新
代码仓库

关于 xdrop

xdrop 提供与 Xdrop 服务交互的文件传输脚本,可从本地上传文件并获取分享链接,也可下载并在本地解密文件。

主要功能

  1. 01上传文件或目录并生成分享链接
  2. 02下载并本地解密分享文件
  3. 03设置过期时间和传输名称
  4. 04控制并行上传及输出格式

适用场景

  1. 01分享本地报告或归档文件
  2. 02从完整分享链接下载并解密文件

安装

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

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

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

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

详细介绍

使用此技能目录中随附的脚本。

可用脚本

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

环境要求:

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

上传

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

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

  • --quiet:抑制进度输出,保持标准输出干净
  • --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:抑制进度输出,保持标准输出干净
  • --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。
  • 当其他命令或调用方需要捕获标准输出时,请使用 --quiet。进度日志会输出到标准错误,但最终结果仍然重要。

防护措施

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

评论

支持 Markdown