dns-worker 1.1.3 → 1.1.4-canary.9ff8559

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.env.serverfull +3 -0
  2. package/README.md +11 -5
  3. package/dist/serverfull.mjs +71 -64
  4. package/dist/serverfull.mjs.map +4 -4
  5. package/migrations/0058_add_idx_kem_keys_created_at.sql +3 -0
  6. package/package.json +4 -5
  7. package/static/assets/AccountView-CVqM49FF.js +4 -0
  8. package/static/assets/{AnalyticsView-h-iatgZx.js → AnalyticsView-CdMxSJPm.js} +2 -2
  9. package/static/assets/{DestinationMap-5y9nlbl_.js → DestinationMap-DYPQPrpn.js} +1 -1
  10. package/static/assets/{FilteringView-CMhYmtNS.js → FilteringView-DnSDokeJ.js} +1 -1
  11. package/static/assets/{LogsView-CyuWfyp8.js → LogsView-Dy2CgweL.js} +4 -4
  12. package/static/assets/{RulesView-BedDBLUu.js → RulesView-DYUN5LiV.js} +1 -1
  13. package/static/assets/{SettingsView-BzmSuxWJ.js → SettingsView-D-u2Wgxt.js} +1 -1
  14. package/static/assets/{SetupView-CSXiuWi_.js → SetupView-D659Vgyp.js} +1 -1
  15. package/static/assets/{TrendChart-q82ehc4e.js → TrendChart-DmAYAuwW.js} +1 -1
  16. package/static/assets/date-Bh9cxBZp.js +1 -0
  17. package/static/assets/{de-DE-CokZ6JQx.js → de-DE-Dk_ABu1g.js} +1 -1
  18. package/static/assets/{es-ES-DJmG3iqt.js → es-ES-CGq-6mE4.js} +1 -1
  19. package/static/assets/{fr-FR-CEXn2aGB.js → fr-FR-5fNp9cTH.js} +1 -1
  20. package/static/assets/{index-CVmzXWLq.js → index-CXPqlmSb.js} +6 -6
  21. package/static/assets/index-CbbrI5Ms.css +2 -0
  22. package/static/assets/{ja-JP-pQaNV6_k.js → ja-JP-sU2bUnAu.js} +1 -1
  23. package/static/assets/{ko-KR-BWS-OJTH.js → ko-KR-YmYAf_gG.js} +1 -1
  24. package/static/assets/{ru-RU-mENCue3k.js → ru-RU-CmwF1PaV.js} +1 -1
  25. package/static/assets/services-Cc0Uqlqe.js +1 -0
  26. package/static/assets/{vi-VN-BldsxLNZ.js → vi-VN-DeWEAi1d.js} +1 -1
  27. package/static/assets/{zh-CN-D0wb4-3c.js → zh-CN-J66D0cFH.js} +1 -1
  28. package/static/assets/{zh-TW-DJk_CLBF.js → zh-TW-DKZz8Fe6.js} +1 -1
  29. package/static/index.html +2 -2
  30. package/static/sw.js +1 -1
  31. package/static/assets/AccountView-C-Ss6_fl.js +0 -4
  32. package/static/assets/date-C7uf7hyg.js +0 -1
  33. package/static/assets/index-CAQAqmEK.css +0 -2
  34. package/static/assets/services-BOhWfip3.js +0 -1
package/.env.serverfull CHANGED
@@ -143,6 +143,9 @@ MAX_LIST_DOMAINS=500000
143
143
  # In-memory retention time for profile bloom filters (in milliseconds) / 内存中缓存布隆过滤器有效时长 (毫秒)
144
144
  BLOOM_MEM_TTL=600000
145
145
 
146
+ # In-memory retention time for profile config (in milliseconds) / 内存中缓存配置文件设置的有效时长 (毫秒)
147
+ CONFIG_MEM_TTL=300000
148
+
146
149
  # Timeout threshold when downloading upstream blocklists (in milliseconds) / 下载外部规则列表超时阈值 (毫秒)
147
150
  SYNC_TIMEOUT_MS=30000
148
151
 
package/README.md CHANGED
@@ -27,6 +27,7 @@
27
27
  - **☁️ Edge Serverless Mode**: Run on Cloudflare Workers across 300+ edge locations worldwide with D1 database, enjoying zero maintenance and high-availability DoH (HTTP/2 & HTTP/3 compatible).
28
28
  - **🖥️ Standalone Server Mode (Serverfull)**: Run completely free of Cloudflare on your own VPS, Linux home server, or Windows machine, with native **UDP 53**, **DoT 853** (DoQ compatible with TLS SNI routing for Android Private DNS), and local SQLite.
29
29
  - **🗄️ Flexible Multi-Database Storage (D1 / Turso / File)**: Native support for multiple storage engines. In addition to Cloudflare D1 (Serverless) and local SQLite files (Serverfull), it natively supports **Turso** (distributed cloud SQLite). Switching `DATABASE_SERVICE` to Turso completely relieves the daily quota constraints of Cloudflare D1's free tier (5M reads / 100k writes daily), effortlessly handling high-throughput DNS query logs.
30
+ - **🔀 Multi-Profile & Multi-Access Points**: Flexible policy isolation and device routing. Create isolated profiles for different users, family members, or environments, and derive dedicated sub-access points with unique tokens for granular device-level filtering, independent statistics, and personalized overrides.
30
31
 
31
32
  > 📚 **User Documentation**
32
33
  > 👉 [**https://obein.github.io/DNS-Worker/**](https://obein.github.io/DNS-Worker/)
@@ -65,6 +66,7 @@ docker run -d \
65
66
 
66
67
  ### Key Highlights
67
68
  - ⚡ **Full-Stack Protocols**: UDP 53, DoT 853 (DoQ RFC 9250 compatible), DoH (HTTP/2 & HTTP/3 compatible), ECH & DDR (RFC 9460).
69
+ - 🔀 **Multi-Profile & Multi-Access Points**: Create separate protection profiles for different users or scenarios, and derive unlimited sub-access points with independent routing tokens for granular per-device identification, filtering, and analytics.
68
70
  - 🗄️ **Multi-Database Engines**: Easily switch between `D1`, `Turso`, and `File` backends via the `DATABASE_SERVICE` environment variable, eliminating D1 free-tier quota limits.
69
71
  - 🛡️ **Post-Quantum Zero-Knowledge E2EE**: NIST FIPS 203 **P256-MLKEM768** hybrid lattice cryptography + Hardware Passkeys (WebAuthn).
70
72
  - 🚀 **Local-First Architecture**: Embedded in-browser WebAssembly SQLite + OPFS for instant 0ms log analytics and charting.
@@ -72,19 +74,23 @@ docker run -d \
72
74
 
73
75
  ---
74
76
 
75
- ## 🖼️ Preview
77
+ ## 🔎 Quick Look
76
78
 
77
79
  | Analytics & Insights | Destinations Map |
78
80
  |:---:|:---:|
79
81
  | ![Analytics](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-stats.webp) | ![Destinations](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-stats_dest.webp) |
80
82
 
81
- | Rules Configuration | Filter Subscriptions |
83
+ | Multi-Access Points & Endpoints | Rules Configuration |
82
84
  |:---:|:---:|
83
- | ![Rules](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-rules.webp) | ![Filters](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-filter.webp) |
85
+ | ![Access Points](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-endpoints.webp) | ![Rules](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-rules.webp) |
84
86
 
85
- | Query Logs | Mobile Responsive |
87
+ | Filter Subscriptions | Query Logs |
86
88
  |:---:|:---:|
87
- | ![Query Logs](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-log.webp) | ![Mobile Stats](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-mobile_stats.webp) |
89
+ | ![Filters](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-filter.webp) | ![Query Logs](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-log.webp) |
90
+
91
+ | Mobile Responsive | Mobile Logs |
92
+ |:---:|:---:|
93
+ | ![Mobile Stats](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-mobile_stats.webp) | ![Mobile Log](https://raw.githubusercontent.com/Obein/DNS-Worker/main/docs/screenshots/dns.obex-mobile_log.webp) |
88
94
 
89
95
  > 💡 For live demonstrations and endpoints setup, visit your Web Dashboard after launch or refer to the [Official Documentation](https://obein.github.io/DNS-Worker/).
90
96