mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-20 21:00:41 +00:00
7d5681665f
- Updated the deployment script to build the web application before deploying. - Upgraded Wrangler dependency from 4.61.1 to 4.69.0. feat: add import item limit and request body size limit - Introduced a new limit for the maximum total items allowed in a single import (5000). - Set a hard body size limit for JSON API endpoints (25 MB). feat: validate KDF parameters during registration and password change - Added validation for KDF parameters to ensure compliance with Bitwarden's minimum requirements. - Enhanced error handling for invalid KDF parameters during user registration and password change. feat: clean up R2 files on user deletion - Implemented cleanup of R2 files associated with user attachments and sends before deleting user metadata. feat: verify folder ownership when creating or updating ciphers - Added checks to ensure that users cannot reference folders owned by other users when creating or updating ciphers. fix: handle corrupted cipher data gracefully - Improved error handling when retrieving ciphers from the database to avoid crashes due to corrupted data. feat: increment send access count atomically - Added a method to atomically increment the access count for sends and return whether the update was successful. fix: enforce request body size limits - Implemented checks to reject oversized request bodies for non-file upload paths. fix: update error handling for database initialization - Enhanced error logging for database initialization failures while providing a generic message to clients. feat: enhance security with Content Security Policy - Added a Content Security Policy to the web application to improve security against XSS attacks. fix: remove plaintext TOTP secret from localStorage - Updated the TOTP enabling process to remove the plaintext secret from localStorage after it is stored on the server. fix: ensure only PBKDF2 hash is sent for public send access - Modified the public send access payload to ensure only the PBKDF2 hash is sent, never the plaintext password.
54 lines
1.4 KiB
JSON
54 lines
1.4 KiB
JSON
{
|
|
"name": "nodewarden",
|
|
"version": "1.1.0",
|
|
"description": "Minimal Bitwarden-compatible server running on Cloudflare Workers",
|
|
"author": "shuaiplus",
|
|
"license": "LGPL-3.0",
|
|
"main": "src/index.ts",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "npm run web:build && wrangler dev -c wrangler.toml",
|
|
"dev:worker": "wrangler dev -c wrangler.toml",
|
|
"web:dev": "vite --config webapp/vite.config.ts",
|
|
"web:build": "vite build --config webapp/vite.config.ts",
|
|
"web:typecheck": "tsc -p webapp/tsconfig.json --noEmit",
|
|
"deploy": "npm run web:build && wrangler deploy"
|
|
},
|
|
"keywords": [
|
|
"bitwarden",
|
|
"vaultwarden",
|
|
"cloudflare",
|
|
"workers",
|
|
"password-manager"
|
|
],
|
|
"cloudflare": {
|
|
"bindings": {
|
|
"JWT_SECRET": {
|
|
"description": "Use a strong random string (32+ characters recommended)"
|
|
},
|
|
"DB": {
|
|
"description": "D1 database for storing vault data"
|
|
},
|
|
"ATTACHMENTS": {
|
|
"description": "R2 bucket for storing file attachments"
|
|
}
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@cloudflare/workers-types": "^4.20260131.0",
|
|
"@preact/preset-vite": "^2.10.3",
|
|
"@types/node": "^25.2.3",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^7.3.1",
|
|
"wrangler": "^4.69.0"
|
|
},
|
|
"dependencies": {
|
|
"@tanstack/react-query": "^5.90.21",
|
|
"lucide-preact": "^0.575.0",
|
|
"preact": "^10.28.4",
|
|
"qrcode-generator": "^2.0.4",
|
|
"wouter": "^3.9.0"
|
|
}
|
|
}
|