返回全部 Skills

xdrop

开发工具

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

110.6k

下载量

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:抑制进度输出,保持 stdout 清洁
  • --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:抑制进度输出,保持 stdout 清洁
  • --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。
  • 当其他命令或调用者需要捕获 stdout 时,请使用 --quiet。进度日志默认输出到 stderr,但最终结果仍然重要。

护栏

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