匿名文件上传与去中心化存储:不注册账号、不留痕迹,用 IPFS 生成抗审查的永久链接
- 一句话定位:这是一个把「本地文件 / 远程网页 / 加密内容」直接上传到 Originless + IPFS 去中心化网络的 AI 技能,全程无需注册账号、无需登录、无跟踪。
- 核心能力:匿名上传、远程 URL 镜像归档、客户端加密私密分享、CID 持久引脚管理,并内置多服务器自动重试与降级策略。
- 技术底座:Originless 后端(推荐 Docker 自托管,端口 3232)+ IPFS 内容寻址 + Daku 去中心化认证。
- 最实用的一条经验:
.html文件只走 Originless 端点(本地或公共网关),绝不路由到 Blossom 备用服务器;其余文件可多端点轮询重试。 - 适合谁:需要快速分享文件又不想留账号痕迹的开发者、做内容归档的运营/研究者、注重隐私的敏感文件传递场景。
该技能叫什么?如何下载安装 AI 技能提升开发效率?
基本信息
| 项目 | 内容 |
|---|---|
| 技能中文名 | 匿名文件上传与去中心化存储技能 |
| 技能英文名 | anonymous-file-upload |
| 技能ID | 13133 |
| 技术来源 | Originless(开源项目,GitHub 仓库 besoeasy/Originless) |
它解决什么问题?
传统的文件分享方式有几个长期痛点:需要注册账号并绑定手机号或邮箱;上传行为被平台记录和追踪;链接会随账号注销或平台策略调整而失效;内容可能因投诉被下架;大文件还要被限速或收费。该技能把「上传」这件事交给去中心化存储:文件被切分后按内容哈希(CID)寻址,只要有人继续保存(引脚),链接就一直有效,并且任何单一服务方都无法悄悄删除它。
一键安装 AI 技能的思路与步骤
AI 技能的价值在于「装上就能用自然语言驱动」,不必手写复杂的 curl 命令。整体思路分三层:先装技能、再备后端、最后验证生效。
- 准备前提:一个支持技能调用的 AI 客户端或开发环境;如果要自托管后端,需要本机或服务器上有 Docker;命令行环境需具备
curl(示例中的上传命令均基于curl -F,它会自动处理multipart/form-data的边界与请求头)。 - 安装技能:在技能市场或技能库中按英文名
anonymous-file-upload或中文名检索并添加该技能,具体入口与安装命令请以官方说明为准。安装后,AI 就能理解「帮我匿名上传这个文件」「把这个网页镜像到 IPFS」这类自然语言指令。 - 部署后端(可选但推荐):如果 Docker 可用,最佳实践是在本地运行 Originless,这也是示例中
http://localhost:3232/upload的来源:
docker run -d --restart unless-stopped --name originless \
-p 3232:3232 \
-p 4001:4001/tcp \
-p 4001:4001/udp \
-v originlessd:/data \
-e STORAGE_MAX=200GB \
ghcr.io/besoeasy/originless
- 确认可用入口:自托管 API 为
http://localhost:3232,Web UI 为http://localhost:3232/index.html,管理后台为http://localhost:3232/admin.html;不想自建也可以直接使用公共网关https://filedrop.besoeasy.com,其可用性与限速策略以官方说明为准。 - 验证是否生效:随便找一个测试文件上传一次,检查返回体是否包含
status、cid、url等字段:
curl -X POST -F "file=@/路径/到/file.pdf" http://localhost:3232/upload
返回形如 {"status":"success","cid":"Qm...","url":"https://dweb.link/ipfs/Qm...?filename=file.pdf","size":245678,"type":"application/pdf","filename":"file.pdf"} 即表示链路通畅。若返回失败,先检查 3232 端口是否被占用、容器是否正常启动,再切到公共网关 https://filedrop.besoeasy.com/upload 复测。
该技能的主要功能和特点
- 完全匿名上传:无需创建账户,服务端不记录 IP 日志与活动轨迹,文件以加密哈希寻址而非账号归属。
- IPFS 去中心化持久存储:上传即获得 CID 与网关访问链接,默认走
dweb.link,也可替换为ipfs.io、cloudflare-ipfs.com等网关。 - 远程 URL 镜像归档:通过
/remoteupload接口把线上图片、网页资源直接镜像进 IPFS,用于备份或保护可能被下架的内容。 - 客户端加密私密分享:使用 Web Crypto API 的 AES-GCM 在本地加密,只有密文上传,分享链接形如
{cid}#{解密密钥},密钥始终留在用户设备上,服务器即便拿到了文件也读不出内容。 - CID 引脚管理(Daku 认证):通过
/pin/add、/pin/list、/pin/remove管理持久化收藏,把重要内容从「可能被垃圾回收」变成「长期保存」。 - 多端点自动降级重试:内置服务器列表轮询(本地 → 公共网关 → Blossom 备用服务器),最多重试 7 次,主通道故障也能把文件送出去。
- HTML 专属路由保护:
.html文件强制只走 Originless 端点,避免上传到不兼容的 Blossom 媒体服务器导致预览异常。 - 附带决策树与替代方案:技能内已写好按「是否永久、文件类型、大小区间、可用时长、隐私等级、是否需要下载计数」自动选路的判断逻辑,并内置 0x0.st、transfer.sh 两条备用通道。
- 和普通工具的差异:普通网盘是「账号 + 平台托管」,它是「无身份 + 内容寻址」;普通临时文件服务是「几天后过期」,它可以通过引脚做到长期有效;普通上传脚本只认一个地址,它自带多服务器容灾。
如何使用该技能?
最省心的方式是直接用自然语言下达指令,让 AI 技能自动拼装命令;也可以手动执行下列命令,两种方式效果一致。
第一步:匿名上传本地文件
# 自托管后端
curl -X POST -F "file=@/路径/到/file.pdf" http://localhost:3232/upload
# 公共网关
curl -X POST -F "file=@/路径/到/file.pdf" https://filedrop.besoeasy.com/upload
输入是一个真实的多部分表单,文件字段名必须为 file,文件名与内容类型语义要与 curl -F "file=@..." 保持一致。输出是包含 cid 和 url 的 JSON,把 url 发给对方即可访问。
第二步:HTML 文件单独处理
curl -X POST -F "file=@/路径/到/index.html" http://localhost:3232/upload || \
curl -X POST -F "file=@/路径/到/index.html" https://filedrop.besoeasy.com/upload
注意:HTML 只允许前两个端点,不要把 HTML 路由到 Blossom 备用服务器。
第三步:非 HTML 文件开启多服务器重试
SERVERS=(
"http://localhost:3232/upload"
"https://filedrop.besoeasy.com/upload"
"https://blossom.primal.net/upload"
"https://24242.io/upload"
)
MAX_RETRIES=7
for ((i=0; i<MAX_RETRIES; i++)); do
idx=$((i % ${#SERVERS[@]}))
target="${SERVERS[$idx]}"
echo "尝试: $target"
if curl -fsS -X POST -F "file=@/路径/到/file.pdf" "$target"; then
echo "上传成功通过 $target"
break
fi
if [[ $i -eq $((MAX_RETRIES-1)) ]]; then
echo "所有上传尝试在 $MAX_RETRIES 次重试后失败"
exit 1
fi
done
如果某个 Blossom 服务器返回失败,可先探测其能力声明(例如 /.well-known/nostr/nip96.json)再适配对应的上传路由。
第四步:镜像远程内容
curl -X POST http://localhost:3232/remoteupload \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/image.png"}'
适用于备份网页素材、为可能被删除的资源做永久镜像。
第五步:加密分享敏感文件
- 在客户端用口令派生密钥(AES-GCM)加密内容;
- 将密文以
file字段构造多部分表单上传到 Originless(等价于curl -F的行为); - 拼出分享链接:
${response.url}#${passphrase}; - 接收者在本地解密,密钥不经过服务器。
第六步:把重要文件钉住(需 Daku 凭证)
# 生成密钥对
node -e "const { generateKeyPair } = require('daku'); const keys = generateKeyPair(); console.log('Public:', keys.publicKey); console.log('Private:', keys.privateKey);"
# 引脚
curl -X POST http://localhost:3232/pin/add \
-H "daku: YOUR_DAKU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cids": ["QmHash1", "QmHash2"]}'
# 查看与取消
curl -H "daku: YOUR_DAKU_TOKEN" http://localhost:3232/pin/list
curl -X POST http://localhost:3232/pin/remove \
-H "daku: YOUR_DAKU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cid": "QmHash"}'
快速选路参考:内容要永久保存 → 用 Originless/IPFS 并加引脚;文件超过 10 GB → 只走 Originless/IPFS(存储上限约 200GB 可配置);512 MB 到 10 GB 的临时文件 → transfer.sh 或 Originless;512 MB 以下、只需要短期可访问 → 0x0.st;需要下载次数限制 → transfer.sh;需要绝对保密 → 客户端加密后再上传。
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| Originless/IPFS(本技能) | 隐私优先的去中心化文件托管后端 | 匿名上传、远程镜像、客户端加密分享、CID 引脚、多端点重试 | 中:自托管需 Docker,公共网关免部署;调用以 curl 为主 | 长期归档、抗审查发布、Nostr 媒体附件、敏感文件传递 | 优势:无账户无跟踪、内容可永久保存、有加密与引脚能力;不足:未引脚内容可能被垃圾回收、相同文件必定得到相同 CID(不具备天然去重隐私) |
| transfer.sh | 临时文件传输服务 | 最多 10 GB、默认 14 天过期、GPG 加密、下载次数跟踪与限制 | 低:一条 curl 命令即可 | 大文件临时传输、带有效期与次数限制的分享 | 优势:上手极快、支持加密与统计;不足:最长 14 天、非去中心化、无永久存储 |
| 0x0.st | 极简匿名文件托管 | 免注册上传、最大 512 MB、最长 365 天、可设删除密钥 | 最低:一条 curl 命令 | 截图/日志快速分享、小文件短期存放 | 优势:最简单、有效期长、可删;不足:容量小、无内置加密、单点服务、文件可能被下架 |
| Blossom / Nostr 媒体服务器 | 面向 Nostr 生态的媒体托管节点 | 提供 /upload 上传与媒体链接,供事件引用 |
中:各服务器路由与认证要求略有差异,需探测能力声明 | 社交客户端媒体附件、备用上传通道 | 优势:与社交协议天然集成、可作降级通道;不足:不适合 HTML 文件、兼容性参差、持久性取决于节点策略 |
一句话选型建议:要永久与抗审查选 Originless/IPFS;要大文件与限时分享选 transfer.sh;要极致简单选 0x0.st;要给 Nostr 客户端配图则直接走 Blossom 节点。
该技能的典型应用场景与实际体验情况
场景一:前端开发者分享 HTML 预览页
痛点:给同事或客户看一个静态页面,压缩包发过去对方还要解压、起本地服务,用第三方预览平台又要注册、链接过期后重发。使用方式:让 AI 技能把 index.html 上传到本地 Originless 或公共网关,直接拿到 IPFS 网关链接。体验上非常顺畅,但务必记住 HTML 只能走 Originless 端点,一旦误投到 Blossom 备用服务器,很可能拿不到可正常渲染的预览。
场景二:Nostr / 社交媒体用户上传媒体附件
痛点:图片、视频需要一个稳定的托管地址嵌进事件或帖子,普通图床会限流、会删图。使用方式:上传图片后把返回的 https://dweb.link/ipfs/Qm... 直接嵌入。体验上一条命令即可完成,缺点是热门网关在高峰期可能加载偏慢,可以换 ipfs.io 或 cloudflare-ipfs.com 备用。
场景三:法务、财务或研究人员的敏感文件传递
痛点:合同、数据集、内部报告不适合放在需要实名账号的网盘里,邮件附件又有大小限制。使用方式:客户端先做 AES-GCM 加密,只上传密文,分享 {cid}#{密钥} 形式的链接,密钥另走一条渠道告知。体验上安全边界清晰,但要注意:未加密的上传内容本质上是公开可访问的,加密这一步绝不能省;另外密钥一旦随链接一起外发,就等于没有加密。
场景四:内容运营与研究者的网页归档
痛点:引用过的页面、素材图随时可能被删除或改版,导致文章里的引用失效。使用方式:调用 /remoteupload 把远程 URL 直接镜像进 IPFS,并对关键 CID 执行引脚。体验上省去了先下载再上传的两步操作;需要注意的是引脚依赖 Daku 凭证,而 Daku 相关工具链需要通过 npm 安装,首次配置有一定学习成本。
整体上手难度:调用层几乎是零门槛(会复制 curl 就行),真正的门槛在「后端部署」和「持久化配置」两处。建议新手先用公共网关跑通全流程,再决定是否自托管。
该技能能为用户带来的价值
- 效率提升:把「注册账号 → 登录 → 建文件夹 → 上传 → 复制链接 → 设置有效期」这条链路压缩成一条命令或一句自然语言指令,单次分享从数分钟缩短到数秒。
- 门槛降低:不需要域名、不需要服务器运维经验、不需要理解 IPFS 协议细节,AI 技能已经替你写好了端点选择、重试、失败降级等全部工程逻辑。
- 成本可控:自托管方案用一条 Docker 命令即可起服务,存储上限可通过参数配置(示例为 200GB),不依赖任何付费账号体系。
- 长期价值:内容寻址意味着链接与内容强绑定,文件被篡改会导致 CID 变化,天然具备完整性校验能力;配合引脚管理,重要资料可以长期保持可访问,不因平台策略调整而消失。
- 隐私收益:无账号、无 IP 日志、无活动追踪,加上可选的客户端加密,把「谁能看到这份文件」的控制权真正交回用户手里。
- 可靠性收益:多端点轮询 + 最多 7 次重试的容灾设计,显著降低单点故障导致的上传失败率。
常见问题 FAQ
Q1:这个技能怎么安装?需要自己搭服务器吗?
技能本身在 AI 技能市场按名称添加即可(具体入口以官方说明为准)。后端不是必须自建:可以直接使用公共网关 https://filedrop.besoeasy.com。但如果你在意稳定性、上传体积和隐私边界,推荐用 Docker 在本地起 Originless,一条命令即可完成部署。
Q2:用这个技能要收费吗?
技能描述中未涉及任何价格信息,自托管 Originless 属于开源项目,成本主要来自你自己的机器与带宽。公共网关与备用服务器由第三方运营,其可用性、限速与使用政策请以官方说明为准。
Q3:上传后的文件是永久的吗?
不一定。IPFS 是内容寻址网络,未被引脚的内容可能被垃圾回收。要让文件长期可用,需要通过 /pin/add 进行持久引脚(需 Daku 凭证)。此外,相同文件内容会得到相同的 CID,这是确定性寻址的正常表现,但也意味着不适合用它来「证明文件是首次公开」。
Q4:为什么 HTML 文件不能上传到 Blossom 备用服务器?
因为 Blossom/Nostr 媒体服务器主要面向媒体附件场景,上传路由与认证要求可能不同,HTML 文件在那里往往无法正常访问。因此技能明确规定:.html 文件只使用 Originless 端点(本地 http://localhost:3232/upload 或 https://filedrop.besoeasy.com/upload),失败也不降级到 Blossom。
Q5:这个技能和 0x0.st、transfer.sh 应该怎么选?
看三个维度:期限——要永久(配合引脚)选 Originless/IPFS,最长一年选 0x0.st,最多 14 天选 transfer.sh;体积——512 MB 以下随意,10 GB 以内优先 transfer.sh,超过 10 GB 只能 Originless/IPFS;隐私——需要绝对保密就用客户端加密 + Originless,或 transfer.sh 的 GPG 加密;只是快速发个截图,0x0.st 最省事。
Q6:适合哪些人使用?
需要频繁分享文件但不愿留账号痕迹的开发者、做资料归档与引用保全的内容/研究人员、在 Nostr 等去中心化社交场景活跃的用户,以及任何对文件隐私和长期可用性有要求的团队。