mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-20 13:00:39 +00:00
142 lines
4.9 KiB
Markdown
142 lines
4.9 KiB
Markdown
<p align="center">
|
|
<img src="./NodeWarden.png" alt="NodeWarden Logo" />
|
|
</p>
|
|
|
|
<p align="center">
|
|
A third-party Bitwarden-compatible server running on Cloudflare Workers.
|
|
</p>
|
|
|
|
[](https://workers.cloudflare.com/)
|
|
[](./LICENSE)
|
|
[](https://github.com/shuaiplus/NodeWarden/releases/latest)
|
|
[](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)
|
|
|
|
English: [`README.md`](./README.md)
|
|
|
|
> **Disclaimer**
|
|
> This project is for learning and communication 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
|
|
|
|
| Capability | Bitwarden | NodeWarden | Notes |
|
|
|---|---|---|---|
|
|
| Web Vault | ✅ | ✅ | **Original Web Vault interface** |
|
|
| Full sync `/api/sync` | ✅ | ✅ | 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** |
|
|
| Password hint (web) | ⚠️ Limited | ✅ | **No email required** |
|
|
| TOTP / Steam TOTP | ✅ | ✅ | Includes `steam://` support |
|
|
| Multi-user | ✅ | ✅ | Invite-based registration |
|
|
| Organizations / Collections / Member roles | ✅ | ❌ | Not implemented |
|
|
| Login 2FA | ✅ | ⚠️ Partial | Currently only user-level TOTP |
|
|
| SSO / SCIM / Enterprise directory | ✅ | ❌ | Not implemented |
|
|
|
|
---
|
|
|
|
## Tested Clients
|
|
|
|
- ✅ Windows desktop client
|
|
- ✅ Mobile app
|
|
- ✅ Browser extension
|
|
- ✅ Linux desktop client
|
|
- ⚠️ macOS desktop client not fully verified
|
|
|
|
---
|
|
|
|
## 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`.
|
|
|
|
| Storage | Card required | Single attachment / Send file limit | Free tier |
|
|
|---|---|---|---|
|
|
| R2 | Yes | 100 MB (soft limit, can be adjusted) | 10 GB |
|
|
| KV | No | 25 MiB (Cloudflare limit) | 1 GB |
|
|
|
|
> [!TIP]
|
|
> How to keep your fork updated:
|
|
> - Manual: open your fork on GitHub, click `Sync fork`, then `Update branch`
|
|
> - Automatic: go to your fork -> `Actions` -> `Sync upstream` -> `Enable workflow`; it will sync upstream automatically every day at 3 AM
|
|
|
|
## CLI Deploy
|
|
|
|
```powershell
|
|
git clone https://github.com/shuaiplus/NodeWarden.git
|
|
cd NodeWarden
|
|
|
|
npm install
|
|
npx wrangler login
|
|
|
|
# Default: R2 mode
|
|
npm run deploy
|
|
|
|
# Optional: KV mode
|
|
npm run deploy:kv
|
|
|
|
# Local development
|
|
npm run dev
|
|
npm run dev:kv
|
|
```
|
|
|
|
---
|
|
|
|
## Cloud Backup Notes
|
|
|
|
- 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
|
|
- 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
|
|
|
|
---
|
|
|
|
## Import / Export
|
|
|
|
Current supported import sources include:
|
|
|
|
- Bitwarden JSON
|
|
- Bitwarden CSV
|
|
- Bitwarden vault + attachments ZIP
|
|
- NodeWarden JSON
|
|
- Multiple browser / password-manager formats visible in the web import selector
|
|
|
|
Current supported export formats include:
|
|
|
|
- Bitwarden JSON
|
|
- Bitwarden encrypted JSON
|
|
- ZIP export with attachments
|
|
- NodeWarden JSON variants
|
|
- Full manual instance export from the backup center
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
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
|
|
|
|
---
|
|
|
|
## Star History
|
|
|
|
[](https://www.star-history.com/#shuaiplus/NodeWarden&type=timeline&legend=top-left)
|