Dream Hunter
eaeac8ebec
feat: 添加浏览器指纹黑名单功能 ( #757 )
...
* feat: 添加浏览器指纹黑名单功能
- 前端集成 @fingerprintjs/fingerprintjs 库自动采集浏览器指纹
- 在所有 API 请求中通过 x-fingerprint header 传递指纹信息
- 将指纹黑名单集成到现有的 IP 黑名单功能中
- 支持精确匹配和正则表达式模式匹配指纹
- 在 App.vue mount 时预初始化指纹,避免首次请求延迟
- 使用 Vue 全局状态缓存指纹,避免重复生成
- 管理后台新增指纹黑名单配置,与 IP/ASN 黑名单统一管理
- 后端在限流 API 请求前检查指纹黑名单,返回 403 阻止访问
技术细节:
- 指纹生成时间:50-300ms(一次性)
- 缓存命中:<1ms
- 请求开销:~20 字节/请求
- 支持最多 1000 条指纹黑名单规则
- 完善的错误处理,失败时不阻塞正常请求
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
* refactor: 优化浏览器指纹初始化逻辑
- 移除 App.vue 中的预初始化,改为在首次 API 调用时自动初始化
- 移除不必要的 clearFingerprintCache 函数
- 初始化失败时返回特殊值 'ERROR' 而非空字符串
- 失败值会被缓存,避免重复尝试失败
优势:
- 减少页面加载时的初始化开销
- 简化代码,去除不必要的函数
- 更清晰的错误标识
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-05 15:50:39 +08:00
Dream Hunter
a905ba5f06
feat: implement address password authentication feature ( #731 )
...
* feat: implement address password authentication feature
- Add password field to address table for storing hashed passwords
- Implement address authentication APIs (login, change password)
- Add automatic password generation for new addresses
- Support password login alongside credential login in frontend
- Add password management in account settings and admin panel
- Add ENABLE_ADDRESS_PASSWORD environment variable for feature control
- Update documentation and i18n support
- Enhance security with SHA-256 password hashing
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
* feat: upgrade dependencies
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-26 14:52:05 +08:00
Dream Hunter
3fbace871c
feat: add var DISABLE_CUSTOM_ADDRESS_NAME and CREATE_ADDRESS_DEFAULT_… ( #717 )
...
* feat: add var DISABLE_CUSTOM_ADDRESS_NAME and CREATE_ADDRESS_DEFAULT_DOMAIN_FIRST
* fix: enhance input validation with trim() for address creation
- Add trim() handling in newAddress() function to prevent whitespace issues
- Add trim() handling for address prefixes to ensure consistent formatting
- Add trim() handling in Telegram API address parsing for robustness
- Prevents edge cases with whitespace-only or padded input strings
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-04 21:04:42 +08:00
Dream Hunter
cc77bdf36d
feat: add ALWAYS_SHOW_ANNOUNCEMENT option ( #663 )
2025-06-09 19:06:49 +08:00
Dream Hunter
101a561894
feature: auto refresh user token when token exp in 7 days ( #644 )
2025-04-26 21:22:26 +08:00
Dream Hunter
7889d2edea
feat: |Worker| support multi language ( #584 )
2025-02-20 00:37:39 +08:00
Dream Hunter
3f81fbee6d
feat: announcement support html ( #566 )
...
* feat: announcement support html
* feat: update dependencies
2025-01-20 13:53:40 +08:00
Dream Hunter
92620cdedb
feat: add DISABLE_ANONYMOUS_USER_CREATE_EMAIL which only allow logi… ( #545 )
...
feat: add `DISABLE_ANONYMOUS_USER_CREATE_EMAIL` which only allow login user create email address
2025-01-05 18:51:48 +08:00
Dream Hunter
56104cd23a
fix: UI tab active icon wrong position ( #416 )
2024-08-17 01:46:40 +08:00
Dream Hunter
c969c4b082
fix: DISABLE_ADMIN_PASSWORD_CHECK still show admin password modal ( #406 )
2024-08-14 22:52:45 +08:00
Dream Hunter
ac31042e69
feat: add EMAIL_KV_BLACK_LIST ( #394 )
2024-08-11 20:34:10 +08:00
Dream Hunter
5faae8796d
feat: add ADMIN_USER_ROLE for user access admin panel ( #363 )
2024-07-27 22:04:18 +08:00
Dream Hunter
60dda7e3fe
feat: add ANNOUNCEMENT ( #357 )
2024-07-22 13:01:38 +08:00
Dream Hunter
75c48beb3b
feat: add USER_ROLES && admin pages search when keybord enter && auto trim ( #348 )
...
* feat: add USER_ROLES
* feat: admin pages search when keybord enter && auto trim
* feat: update version to v0.6.0
2024-07-14 19:57:43 +08:00
Dream Hunter
00c671cf14
feat: logo click 5 time to admin page && fix: 401 cannot show auth modal ( #335 )
2024-07-06 20:21:21 +08:00
Dream Hunter
881e66e484
feat: add DOMAIN_LABELS for chinese domain label ( #322 )
2024-06-28 22:25:06 +08:00
Dream Hunter
0db611bb3e
feat: add MIN_ADDRESS_LEN && MAX_ADDRESS_LEN ( #304 )
2024-06-06 21:44:22 +08:00
Dream Hunter
9725407c77
feat: add s3 attachment ( #291 )
2024-06-01 20:08:42 +08:00
Dream Hunter
1f8edbc295
feat: add TITLE in worker for custom website title ( #276 )
2024-05-26 16:21:27 +08:00
Dream Hunter
ca00a877ad
feat: telegram bot TelegramSettings && webhook ( #244 )
...
* feat: telegram bot TelegramSettings
* feat: webhook
2024-05-18 14:02:18 +08:00
Dream Hunter
6bb6fa8298
feat: remove mailV1Alert && fix mobile showSideMargin ( #236 )
2024-05-14 14:44:47 +08:00
Dream Hunter
a5b5335137
feat: add about page ( #235 )
2024-05-14 13:25:27 +08:00
Sunset Mikoto
cdc5c5202b
fix: typos ( #221 )
2024-05-10 21:23:59 +08:00
Dream Hunter
b7308587c6
feat: admin search mailbox && fix generateName multi dot && user jwt exp in 30 days && UI globalTabplacement && useSideMargin ( #214 )
...
* fix: generateName multi dot && user jwt exp in 30 days
* feat: support admin search mailbox
* fix: DELETE mail bug(should be raw_mails)
* feat: UI add globalTabplacement
* feat: UI add useSideMargin option
2024-05-09 18:43:09 +08:00
Dream Hunter
1fa56dfe98
feat: add UserLogin ( #209 )
2024-05-08 23:14:44 +08:00
Dream Hunter
f63c4ebd9c
feat: add CF Turnstile when new address ( #200 )
2024-05-04 23:14:23 +08:00
Dream Hunter
32ce446a27
feat: add COPYRIGHT ( #183 )
2024-04-30 22:58:28 +08:00
Dream Hunter
23d1709ca1
feat: support admin create address && add ENABLE_USER_CREATE_EMAIL config ( #175 )
2024-04-29 00:09:53 +08:00
Dream Hunter
08a3d4ce0e
feat: add ENABLE_USER_DELETE_EMAIL && ENABLE_AUTO_REPLY && modify fetchAddressError i18n && UI: show autoRefreshInterval ( #169 )
2024-04-27 23:16:18 +08:00
Dream Hunter
f624fe5b58
feat: add adminContact && DEFAULT_SEND_BALANCE ( #162 )
2024-04-26 00:21:43 +08:00
Dream Hunter
b8f0fa49cf
feat: init send mail ( #113 )
...
* feat: init send mail
* feat: init send mail
2024-04-12 13:26:42 +08:00
Dream Hunter
def400eb09
feat: use rust mail-parser ( #104 )
...
* feat: imp worker v2
* feat: add rust mail-parser
* feat: imp frontend v2
* feat: imp frontend v2
* feat: update doc
* feat: add mailV1Alert
* feat: remove unused
2024-04-09 14:58:19 +08:00
Dream Hunter
9ce706fad1
feat: add admin account search && delete account for user ( #96 )
...
* feat: add admin account search && delete account for user
* feat: add admin account search && delete account for user
2024-04-04 14:30:07 +08:00
Dream Hunter
a8e961caf4
feat: UI: move account releated code to header.vue ( #84 )
2024-03-31 16:16:15 +08:00
Dream Hunter
97a1f0a968
feat: attachment viewing function ( #58 )
2024-01-13 23:57:52 +08:00
Dream Hunter
95ae65dc03
feat: add auto reply ( #49 )
...
* feat: add auto reply
* feat: add auto reply
* feat: update readme
* feat: add auto reply
2023-12-18 21:41:15 +08:00
Dream Hunter
bf6374af52
feat: add admin query emails ( #39 )
...
* feat: add NPagination
* feat: admin query emails
2023-12-12 16:33:54 +08:00
Dream Hunter
795f256bde
fix: loading forever ( #35 )
2023-11-27 18:00:49 +08:00
Dream Hunter
5cfc78d70d
feat: add admin panel ( #31 )
...
* feat: add admin panel
* feature: update limit
2023-10-09 10:03:15 -05:00
Dream Hunter
68cb005dd3
fix: do not show auth when input wrong auth code ( #23 )
2023-09-09 17:00:20 +08:00
Dream Hunter
a395b951e8
feat: add auth mode and refactor frontend ( #21 )
2023-09-09 16:00:10 +08:00