首页/新闻资讯/正文详情

NodeWarden 附件与 Send 文件分享指南:R2 与 KV 双模式、大小上限与一次性令牌安全

发布时间:2026/9/26 3:25:12 来源:云帆数科 栏目:资讯中心
NodeWarden 附件与 Send 文件分享指南:R2 与 KV 双模式、大小上限与一次性令牌安全
NodeWarden 附件与 Send 文件分享指南R2 与 KV 双模式、大小上限与一次性令牌安全【免费下载链接】nodewardenBitwarden-compatible server running on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/no/nodewardenNodeWarden 是一个运行在 Cloudflare Workers 上的 Bitwarden 兼容密码管理服务器除了管理密码库还内置了附件加密存储和Send 安全文件分享两大能力附件可加密挂到密码条目下Send 则能生成带密码保护、限时自动删除的分享链接。本文带你搞懂它的 R2 与 KV 双存储模式、文件大小上限以及一次性令牌是如何保护你的每一次上传和下载的。先搞懂附件Attachment和 Send 各适合什么场景功能用途谁能访问典型场景附件把文件加密后绑在某个密码条目下仅自己客户端用密码库密钥解密存银行卡照片、私密文档、密钥文件Send生成临时分享链接可设密码拿到链接 密码的外部接收者把文件一次性安全地发给别人两者底层共用同一套对象存储抽象层由 blob-store.ts 统一封装读写逻辑代码里通过存储绑定的名称自动识别当前是 R2 还是 KV 模式。存储模式怎么选R2 vs KV 一张表看懂部署时 NodeWarden 提供两套配置默认的 wrangler.toml 绑定 R2 桶ATTACHMENTS桶名nodewarden-attachmentsKV 模式则使用 wrangler.kv.toml 绑定 KV 命名空间ATTACHMENTS_KV部署命令改为npm run deploy:kv。对比项R2 模式默认KV 模式是否需要付费卡需要❌ 不需要单个附件 / Send 文件上限100 MB软限制可调25 MiBCloudflare KV 硬限制免费额度10 GB 存储1 GB 存储适合人群正式部署、大文件需求快速体验、小文件 小技巧即使同时绑定了 R2 和 KV服务端也会优先使用 R2见 blob-store.ts 中的getBlobStorageKind。KV 模式下载超限时会直接返回 413并在界面上提示文件过大。附件上传下载一次性令牌如何保护你的文件附件的上传和下载都不走登录态接口直接读写文件的方式而是采用短效 JWT 令牌 公开端点的设计核心逻辑在 attachments.ts。上传三步走先领令牌再直传创建元数据客户端先提交文件名和大小服务端生成附件记录并签发一个上传令牌返回一个带token参数的直传 URL见 direct-upload.ts 中的buildDirectUploadUrl凭令牌直传客户端拿着令牌把文件直接 POST 到公开端点服务端校验令牌归属是否匹配用户、密码条目、附件 ID 三重比对写入对象存储文件存入 R2/KV对象路径固定为{cipherId}/{attachmentId}并自动触发多端同步通知。这样做的好处是上传凭证只能用一次、且与具体文件一一绑定泄露也无法用于其他文件。下载更严格5 分钟有效 只能用一次当你请求附件下载信息时服务端签发一个有效期仅 300 秒5 分钟的下载令牌配置见 limits.ts 中的fileDownloadTokenTtlSeconds。下载请求还要经过一道更狠的关卡令牌带唯一 IDjti首次消费后记入数据库第二次使用同一令牌直接返回 401consumeAttachmentDownloadToken响应头强制X-Content-Type-Options: nosniff并对 Content-Type 做清洗防止浏览器把下载内容当成脚本执行。换句话说链接截屏发给别人没用——它 5 分钟后过期用过一次即作废。Send 文件分享大小上限、自动删除与访问控制Send 的创建、校验逻辑分布在 sends-private.ts自己的 Send和 sends-public.ts他人访问你的 Send共享规则在 sends-shared.ts。硬性上限清单创建前先看这里限制项数值说明文件大小100 MBR2/ 25 MiBKV超限直接返回 400/413删除日期最多距当前31 天不能无限期保留分享密码PBKDF2 10 万次迭代加盐哈希服务端不存明文密码访问次数可设maxAccessCount达到上限后链接立即失效 每个文件 Send 都必须设置删除日期——到期后链接自动 404文件随之从对象存储中清除这是到期即焚的核心保障。分享链接背后的三层防护AccessId 混淆链接里不是明文的 Send ID而是 UUID 的 Base64 编码形式无法简单枚举遍历密码限流带密码的 Send 会按客户端 IP 记录失败次数连续猜错会触发临时锁定429成功一次则清零计数短效令牌下载文件下载同样走令牌换 URL 的流程访问令牌有效期 300 秒sendAccessTokenTtlSeconds每次访问还会累加accessCount并实时通知创建者。⚠️ 注意NodeWarden 目前不支持邮箱验证Email Auth类型的 Send请求该方式会返回 501。分享安全主要依赖密码 删除日期 访问次数组合。安全使用建议清单✅ 正式部署优先选 R2 模式享受 100 MB 单文件上限与更大免费空间✅ 分享文件时必设密码 最短可行删除日期 访问次数上限三管齐下✅ 删除密码条目时其下所有附件会并发批量清理并发度 4见 attachments.ts 的deleteAllAttachmentsForCiphers不用担心存储残留✅ 所有 Send 的创建/删除/改密操作都会写入审计日志可在管理后台的日志中心回查。相关文件速查附件接口src/handlers/attachments.tsSend 共享规则src/handlers/sends-shared.ts对象存储抽象src/services/blob-store.ts直传与令牌 URL 构造src/utils/direct-upload.ts大小与时效配置src/config/limits.tsR2 部署配置wrangler.toml / KV 部署配置wrangler.kv.toml【免费下载链接】nodewardenBitwarden-compatible server running on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/no/nodewarden创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

AI Agent Harness故障演练方案:用TaoToken统一Key跑通混沌工程容错验证
AI Agent Harness故障演练方案:用TaoToken统一Key跑通混沌工程容错验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:12

2025亲测10款免费AI写小说工具:TaoToken统一Key接入DeepSeek/Kimi/豆包配置指南
2025亲测10款免费AI写小说工具:TaoToken统一Key接入DeepSeek/Kimi/豆包配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:12

大模型之Linux服务器部署大模型扒:TaoToken统一Key接入Cline的config.json骨架
大模型之Linux服务器部署大模型扒:TaoToken统一Key接入Cline的config.json骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:12

Python agntsmth-core 包实战案例与常见错误
Python agntsmth-core 包实战案例与常见错误

1. 引言agntsmth-core 是一个面向 Python 开发者的轻量级智能体(Agent)开发核心包,专注于提供简洁、可扩展的 Agent 运行时、工具调用框架和消息编排能力。它不依赖重型框架,适合在中小型项目中快速搭建基于大语言模型的自动化流程… · 2026/9/26 4:08:33

Python agntcy-iomapper 包详解与实战案例
Python agntcy-iomapper 包详解与实战案例

1. 引言agntcy-iomapper 是一个面向 Python 开发者的输入输出映射工具包,专注于在复杂数据处理流程中建立字段之间的映射关系。它通过声明式配置和灵活的转换规则,帮助开发者减少手写数据搬运代码,提升数据管道和接口对接的开发效率。本文将从… · 2026/9/26 4:08:33

MySQL进阶|游标与条件处理程序:存储过程逐行捕获异常
MySQL进阶|游标与条件处理程序:存储过程逐行捕获异常

🏠博客主页:小谢同学的小破站✍️本文由 小谢同学的小破站 原创,首发于 CSDN 💻☕JavaSE专栏:JavaSE📗JavaEE初阶专栏:JavaEE初阶📘JavaEE进阶专栏:JavaEE进阶&#x1f9… · 2026/9/26 4:08:33

小白程序员如何守住核心竞争力,拥抱AI新机遇(收藏版)
小白程序员如何守住核心竞争力,拥抱AI新机遇(收藏版)

面对大模型的快速发展,我们无需过度焦虑被替代。人类独有的情感与创造力是不可替代的核心竞争力。同时,积极拥抱AI,如成为AI应用开发工程师或大模型训练师,这些新兴岗位对编程要求不高,更看重行业理解和耐心&#xff0… · 2026/9/26 4:08:15

Harness工程:新手程序员轻松掌握大模型运行环境,收藏必备!
Harness工程:新手程序员轻松掌握大模型运行环境,收藏必备!

Harness工程是Agent的运行环境,负责工具权限、任务状态、检查、运行轨迹和预算,而非模型本身。通过优化外围配置,可显著提升大模型体验。文章以Claude Code为例,说明模型未变时,配置调整导致体验差异。重点介绍Harness… · 2026/9/26 4:08:15

拓客工具计费模式选型:按条付费与包年的成本测算方法
拓客工具计费模式选型:按条付费与包年的成本测算方法

拓客工具的计费模式选型,核心逻辑是先估算清楚自己的月均使用量。按条付费和包年付费,分别适合什么样的使用场景?按条付费更适合用量不确定、需求偏零散的场景,比如刚开始尝试企业获客软件,还没摸清楚自己每个月到底要… · 2026/9/26 4:08:15

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码