返回全部 Skills

xdrop

开发工具

当用户想要从终端通过 Xdrop 服务器发送或获取文件、要求自动化加密的 Xdrop 共享链接工作流、提供 Xdrop 的 `/t/:transferId#k=...` 链接以本地下载并解密、或者需要使用 Xdrop CLI 标志(例如 `--quiet`、`--json`、`--expires-in`、`--output` 或 `--api-url`)时,即使未明确提及技能名称,也应使用此技能。

110.7k

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add xixu-me/skills --skill xdrop

skill.md

name: xdrop
description: 当用户想要从终端通过 Xdrop 服务器发送或获取文件、要求自动化加密的 Xdrop 共享链接工作流、提供 Xdrop 的 `/t/:transferId#k=...` 链接以本地下载并解密、或者需要使用 Xdrop CLI 标志(例如 `--quiet`、`--json`、`--expires-in`、`--output` 或 `--api-url`)时,即使未明确提及技能名称,也应使用此技能。

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

可用脚本

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

环境要求:

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

上传

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

在相关情况下优先使用以下标志:

  • --quiet:抑制进度输出,保持标准输出干净
  • --json:返回 transferIdshareUrlexpiresAt
  • --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:返回 transferIdoutputRoot 和保存的文件路径
  • --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
  • 下载时保持完整的分享链接片段不变。
  • 除非用户明确要求,否则不要通过手动即席命令绕过脚本内置的路径清理或传输清理行为。