From b6b7e46f798606ffb83e0117f5a3a3f66b6cf5e6 Mon Sep 17 00:00:00 2001 From: shuaiplus <2327005759@qq.com> Date: Sun, 29 Mar 2026 01:00:33 +0800 Subject: [PATCH] feat: Update README --- README.md | 29 ++++++++++++++++++----------- README_EN.md | 49 ++++++++++++++++++++++++------------------------- nodewarden.wiki | 1 + 3 files changed, 43 insertions(+), 36 deletions(-) create mode 160000 nodewarden.wiki diff --git a/README.md b/README.md index 062106d..e4c814c 100644 --- a/README.md +++ b/README.md @@ -52,19 +52,26 @@ English: [`README_EN.md`](./README_EN.md) ## 网页部署 - -1. Fork 本仓库。若本项目对你有帮助,欢迎点个 Star。 -2. 打开 [Workers](https://dash.cloudflare.com/?to=/:account/workers-and-pages/create) ➜ `Continue with GitHub` ➜ 选择你 Fork 后的仓库(`NodeWarden`)➜ 下一步 ➜ (默认使用 R2 存储;若未开通,可用 KV 来代替,将**部署命令**改为 `npm run deploy:kv`)➜ 部署 ➜ 打开生成的链接 - - | 储存 | 是否需绑卡 | 单个附件/Send文件上限 | 免费额度 | - |---|---|---|---| - | R2 | 需要 | 100 MB(软限制可更改) | 10 GB | - | KV | 不需要 | 25 MiB(Cloudflare限制) | 1 GB | +1. Fork `NodeWarden` 仓库到自己的 GitHub 账号 +2. 进入 [Cloudflare Workers 创建页面](https://dash.cloudflare.com/?to=/:account/workers-and-pages/create) +3. 选择 `Continue with GitHub` +4. 选择你刚刚 Fork 的仓库 +5. 保持默认配置继续部署 +6. 如果你打算用 KV 模式,把部署命令改成 `npm run deploy:kv` +7. 等部署完成后,打开生成的 Workers 域名 +8. 根据页面提示设置`JWT_SECRET` ,不建议临时乱填。这个值直接关系到令牌签发安全,正式环境至少使用 32 个字符以上的随机字符串。 > [!TIP] -> 同步方法(更新仓库): ->- 手动:打开你 Fork 的 GitHub 仓库,看到顶部同步提示后,点击 `Sync fork` ➜ `Update branch` ->- 自动:进入你的 Fork 仓库 ➜ `Actions` ➜ `Sync upstream` ➜ `Enable workflow`,会在每天凌晨 3 点自动同步上游。 +> 默认R2与可选KV的区别: +> | 储存 | 是否需绑卡 | 单个附件/Send文件上限 | 免费额度 | +> |---|---|---|---| +> | R2 | 需要 | 100 MB(软限制可更改) | 10 GB | +> | KV | 不需要 | 25 MiB(Cloudflare限制) | 1 GB | + + +## 更新方法: +- 手动:打开你 Fork 的 GitHub 仓库,看到顶部同步提示后,点击 `Sync fork` ➜ `Update branch` +- 自动:进入你的 Fork 仓库 ➜ `Actions` ➜ `Sync upstream` ➜ `Enable workflow`,会在每天凌晨 3 点自动同步上游。 diff --git a/README_EN.md b/README_EN.md index 73e379b..0d01131 100644 --- a/README_EN.md +++ b/README_EN.md @@ -5,32 +5,31 @@

A third-party Bitwarden-compatible server running on Cloudflare Workers.

- [![Powered by Cloudflare](https://img.shields.io/badge/Powered%20by-Cloudflare-F38020?logo=cloudflare&logoColor=white)](https://workers.cloudflare.com/) [![License: LGPL-3.0](https://img.shields.io/badge/License-LGPL--3.0-2ea44f)](./LICENSE) [![Latest Release](https://img.shields.io/github/v/release/shuaiplus/NodeWarden?display_name=tag)](https://github.com/shuaiplus/NodeWarden/releases/latest) [![Sync Upstream](https://github.com/shuaiplus/NodeWarden/actions/workflows/sync-upstream.yml/badge.svg)](https://github.com/shuaiplus/NodeWarden/actions/workflows/sync-upstream.yml) - [Release Notes](./RELEASE_NOTES.md) | [Report an Issue](https://github.com/shuaiplus/NodeWarden/issues/new/choose) | [Latest Release](https://github.com/shuaiplus/NodeWarden/releases/latest) +中文说明:[`README.md`](./README.md) -English: [`README.md`](./README.md) - -> **Disclaimer** -> This project is for learning and communication purposes only. Please back up your vault regularly. +> **Disclaimer** +> +> This project is for learning and discussion purposes only. Please back up your vault regularly. +> > This project is not affiliated with Bitwarden. Please do not report NodeWarden issues to the official Bitwarden team. --- -## Feature Comparison with Official Bitwarden Server +## Feature Comparison with the Official Bitwarden Server | Capability | Bitwarden | NodeWarden | Notes | |---|---|---|---| | Web Vault | ✅ | ✅ | **Original Web Vault interface** | -| Full sync `/api/sync` | ✅ | ✅ | Optimized for official clients | +| Full sync `/api/sync` | ✅ | ✅ | Compatibility optimized for official clients | | Attachment upload / download | ✅ | ✅ | Cloudflare R2 or KV | | Send | ✅ | ✅ | Supports both text and file Sends | | Import / Export | ✅ | ✅ | Supports Bitwarden JSON / CSV / **ZIP import with attachments** | -| **Cloud Backup Center** | ❌ | ✅ | **Supports scheduled backups with WebDAV / E3** | +| **Cloud Backup Center** | ❌ | ✅ | **Scheduled backup to WebDAV / E3** | | Password hint (web) | ⚠️ Limited | ✅ | **No email required** | | TOTP / Steam TOTP | ✅ | ✅ | Includes `steam://` support | | Multi-user | ✅ | ✅ | Invite-based registration | @@ -46,19 +45,20 @@ English: [`README.md`](./README.md) - ✅ Mobile app - ✅ Browser extension - ✅ Linux desktop client -- ⚠️ macOS desktop client not fully verified +- ⚠️ macOS desktop client has not been fully verified yet --- ## Web Deploy -1. Fork this repository. If this project helps you, please consider giving it a Star. -2. Open [Workers](https://dash.cloudflare.com/?to=/:account/workers-and-pages/create) -> `Continue with GitHub` -> select your forked repository (`NodeWarden`) -> `Next` -> deploy. - R2 is used by default. If R2 is unavailable for your account, you can use KV instead by changing the **deploy command** to `npm run deploy:kv`. +1. Fork this repository. If this project helps you, consider giving it a Star. +2. Open [Workers](https://dash.cloudflare.com/?to=/:account/workers-and-pages/create) -> `Continue with GitHub` -> select your forked repository (`NodeWarden`) -> continue. +3. R2 is used by default. If R2 is not enabled on your account, you can use KV instead by changing the **deploy command** to `npm run deploy:kv`. +4. Deploy and open the generated URL. | Storage | Card required | Single attachment / Send file limit | Free tier | |---|---|---|---| -| R2 | Yes | 100 MB (soft limit, can be adjusted) | 10 GB | +| R2 | Yes | 100 MB (soft limit, adjustable) | 10 GB | | KV | No | 25 MiB (Cloudflare limit) | 1 GB | > [!TIP] @@ -71,7 +71,6 @@ English: [`README.md`](./README.md) ```powershell git clone https://github.com/shuaiplus/NodeWarden.git cd NodeWarden - npm install npx wrangler login @@ -92,13 +91,13 @@ npm run dev:kv - Remote backup supports **WebDAV** and **E3** - When `Include attachments` is enabled: - - the ZIP still contains only `db.json` and `manifest.json` - - real attachment files are stored separately under `attachments/` - - later backups reuse existing attachments by stable blob name instead of uploading everything again +- the ZIP still contains only `db.json` and `manifest.json` +- actual attachment files are stored separately under `attachments/` +- later backups reuse existing attachments by stable blob name instead of re-uploading everything every time - During remote restore: - - required attachment files are loaded from `attachments/` - - missing attachments are skipped safely - - skipped attachments do not leave broken rows in the restored database +- required attachment files are loaded from `attachments/` on demand +- missing attachments are skipped safely +- skipped attachments do not leave broken rows in the restored database --- @@ -110,7 +109,7 @@ Current supported import sources include: - Bitwarden CSV - Bitwarden vault + attachments ZIP - NodeWarden JSON -- Multiple browser / password-manager formats visible in the web import selector +- Multiple browser / password-manager formats available in the web import selector Current supported export formats include: @@ -130,9 +129,9 @@ LGPL-3.0 License ## Credits -- [Bitwarden](https://bitwarden.com/) - original design and clients -- [Vaultwarden](https://github.com/dani-garcia/vaultwarden) - server implementation reference -- [Cloudflare Workers](https://workers.cloudflare.com/) - serverless platform +- [Bitwarden](https://bitwarden.com/) - Original design and clients +- [Vaultwarden](https://github.com/dani-garcia/vaultwarden) - Server implementation reference +- [Cloudflare Workers](https://workers.cloudflare.com/) - Serverless platform --- diff --git a/nodewarden.wiki b/nodewarden.wiki new file mode 160000 index 0000000..a27c3eb --- /dev/null +++ b/nodewarden.wiki @@ -0,0 +1 @@ +Subproject commit a27c3ebbe37ecc6f04aa16703598aad4d12290dc