Xdrop

🔐 终端加密传输,一键安全分享

基于 Bun 的终端文件加密传输工具,支持上传生成安全分享链接、下载自动解密,适合开发者自动化敏感文件流转

收藏
9.8k
安装
3.7k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Xdrop 是一款面向终端用户的加密文件传输工具,通过 upload.mjsdownload.mjs 两个脚本实现端到端加密的上传下载流程。上传时指定 --server 和目标文件/目录,自动生成包含解密密钥的分享链接;下载时必须提供完整的 #k=... 密钥片段,脚本自动完成解密和本地保存。

显著优点

  • 终端原生体验:基于 Bun 运行时,无需图形界面,完美融入 CI/CD 和自动化脚本
  • 端到端加密:密钥仅存于 URL fragment,服务器无法解密内容
  • 灵活输出控制--quiet 静默模式便于管道处理,--json 结构化输出方便程序解析
  • 可配置过期时间:支持自定义分享链接有效期,降低长期暴露风险

潜在缺点与局限性

  • Bun 依赖:必须预装 Bun 运行时,Node.js 用户需额外安装
  • 密钥管理风险:完整分享链接包含解密密钥,一旦泄露即丧失保密性
  • 无内置身份认证:依赖服务器层的访问控制,脚本本身不提供用户验证机制
  • 网络可达性要求:上传下载均需目标服务器可访问,无法离线使用

适合人群

  • 需要在 CI/CD 流水线中安全传输构建产物的 DevOps 工程师
  • 偏好命令行工具、对图形界面传文件感到不便的开发者
  • 需要自动化敏感文件分享流程的技术团队

常规风险

  • 分享链接通过不安全渠道(如公共聊天)传输可能导致密钥泄露
  • 自定义 --api-url 指向不可信服务器时存在中间人攻击风险
  • 本地临时文件若未妥善清理可能造成残留敏感数据

安全解读

核心用法

Xdrop 是一个用于终端的安全加密文件传输技能。它包含两个核心脚本:上传和下载。通过上传脚本,可以将本地文件或目录上传到指定的 Xdrop 服务器,并生成一个包含加密密钥的分享链接。下载脚本则可以接收这个完整的分享链接,从服务器获取数据并在本地解密还原文件。该工具完全基于命令行运行,依赖 Bun 运行环境,并提供了丰富的标志参数,如使用 --quiet 抑制进度输出、--json 返回结构化数据、--expires-in 设置链接有效期以及 --output 指定下载目录。上传和下载的所有数据交换都通过 HTTP API 与用户指定的 Xdrop 服务器进行。

显著优点

1. 强大的安全性:该技能实现了真正的端到端加密(E2EE)。在文件上传至服务器之前,内容已在客户端使用 AES-GCM-256 算法加密,因此服务端始终无法接触明文数据,极大保障了数据隐私。
2. 代码质量优秀,依赖干净:代码经过审计,质量良好。它仅使用 Node.js 内置模块(如 fscrypto)和标准的 Web fetch API,实现了零外部依赖,完全消除了供应链攻击风险。

3. 完善的本地安全防护:内置的路径净化函数能有效防御目录遍历攻击,彻底过滤掉 ... 及各类危险字符,确保文件操作的本地安全性。

潜在缺点或局限性

1. 服务端安全潜在风险:该技能的网络请求目标完全由用户通过 --server 参数指定,代码本身不强制验证服务端的 TLS 证书有效性。尽管文件内容加密,但文件的元数据(如文件名、大小)仍有泄露给不可信服务端或在不安全的网络中被拦截的风险。
2. 缺少社区验证与许可证:作为一个来自独立开发者的 T3 来源项目,它缺乏公开的代码仓库和社区审查,降低了其长期维护性和可信度的预期。此外,项目未声明开源许可证,存在合规使用上的不确定性。

3. 依赖 Bun 运行环境:该技能强制要求使用 Bun 运行时,而不是更通用的 Node.js,这可能对未安装或不熟悉 Bun 的用户构成一定的使用门槛。

适合的目标群体

  • 注重隐私的技术用户:需要安全地通过自托管或第三方服务器分享敏感文件,且对命令行操作不排斥的开发者或高级用户。
  • 自动化工作流集成者:需要在脚本或自动化流程(如 CI/CD 管道)中集成加密文件传输功能,并能利用 --json 等标志来解析结果。
  • Xdrop 服务器管理员:自建了 Xdrop 服务端,需要一个官方的、轻量级的命令行客户端来测试功能或进行日常操作。

使用该技能可能存在的常规风险

  • 运营依赖风险:该技能高度依赖于一个外部的、用户自行提供的 Xdrop 服务器。服务器的可用性、性能和稳定性将直接影响文件的传输过程。
  • 网络环境风险:在上传和下载大文件时,脚本没有内置请求超时机制。在网络状况不佳或服务器无响应的情况下,操作可能会长时间挂起,需要用户手动中断。
  • 元数据泄露风险:虽然文件内容是加密的,但传输过程中的文件名、文件大小、MIME 类型等元数据是暴露的。在严格的信息安全场景下,这仍可能被对手利用进行流量分析。

Xdrop 内容

scripts文件夹
手动下载zip · 10.8 kB
download.mjstext/javascript
请选择文件