dns-worker 1.1.2 → 1.1.3-canary.09117ba
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.
- package/.env.serverfull +14 -1
- package/README.md +29 -7
- package/dist/serverfull.mjs +100 -73
- package/dist/serverfull.mjs.map +4 -4
- package/package.json +13 -4
- package/static/assets/AccountView-C-Ss6_fl.js +4 -0
- package/static/assets/AnalyticsView-h-iatgZx.js +2 -0
- package/static/assets/DestinationMap-5y9nlbl_.js +1 -0
- package/static/assets/FilteringView-CMhYmtNS.js +1 -0
- package/static/assets/LogsView-CyuWfyp8.js +5 -0
- package/static/assets/RulesView-BedDBLUu.js +1 -0
- package/static/assets/SettingsView-BzmSuxWJ.js +1 -0
- package/static/assets/SetupView-CSXiuWi_.js +1 -0
- package/static/assets/{SwipeableDrawer-B81ANpsc.js → SwipeableDrawer-Ds0f8Ay4.js} +1 -1
- package/static/assets/{TrendChart-CCR1W3fC.js → TrendChart-q82ehc4e.js} +1 -1
- package/static/assets/browser-DaEGnZD0.js +1 -0
- package/static/assets/date-C7uf7hyg.js +1 -0
- package/static/assets/de-DE-CokZ6JQx.js +12 -0
- package/static/assets/es-ES-DJmG3iqt.js +12 -0
- package/static/assets/fr-FR-CEXn2aGB.js +12 -0
- package/static/assets/{getFlagEmoji-DRubsb7D.js → getFlagEmoji-DiZiGyWX.js} +1 -1
- package/static/assets/index-CAQAqmEK.css +2 -0
- package/static/assets/index-CVmzXWLq.js +17 -0
- package/static/assets/ja-JP-pQaNV6_k.js +12 -0
- package/static/assets/ko-KR-BWS-OJTH.js +12 -0
- package/static/assets/ru-RU-mENCue3k.js +12 -0
- package/static/assets/services-BOhWfip3.js +1 -0
- package/static/assets/vendor-i18next-cO7FDf_e.js +1 -0
- package/static/assets/{vendor-react-BmoHsW1x.js → vendor-react-BNdvqHuD.js} +1 -1
- package/static/assets/{vendor-ui-core-CY_WyMIf.js → vendor-ui-core-VafIkVkV.js} +1 -1
- package/static/assets/vendor-utils-CnVXi31Q.js +9 -0
- package/static/assets/vi-VN-BldsxLNZ.js +12 -0
- package/static/assets/zh-CN-D0wb4-3c.js +12 -0
- package/static/assets/zh-TW-DJk_CLBF.js +12 -0
- package/static/index.html +6 -6
- package/static/sw.js +1 -1
- package/static/assets/AccountView-p5jSjMAE.js +0 -4
- package/static/assets/AnalyticsView-BywwDzah.js +0 -2
- package/static/assets/AuthView-qoUKd5PS.js +0 -2
- package/static/assets/DestinationMap-9Yc54Mdj.js +0 -1
- package/static/assets/FilteringView-Bs3__NpV.js +0 -1
- package/static/assets/LogsView-B-U9oaxB.js +0 -5
- package/static/assets/QRCodeCanvas-DQ-xNuwF.js +0 -2
- package/static/assets/RulesView-B2kL1QhI.js +0 -1
- package/static/assets/SettingsView-DTGI6eSd.js +0 -1
- package/static/assets/SetupView-DE9MM-32.js +0 -1
- package/static/assets/browser-Dc5iKjY4.js +0 -1
- package/static/assets/date-CpvuBM37.js +0 -1
- package/static/assets/de-DE-kDnumQOF.js +0 -12
- package/static/assets/es-ES-CqKS7vHl.js +0 -12
- package/static/assets/fr-FR-BRcdpT35.js +0 -12
- package/static/assets/index-Bheo8y3N.css +0 -2
- package/static/assets/index-dXN_pYn1.js +0 -16
- package/static/assets/ja-JP-C5jk6SuH.js +0 -12
- package/static/assets/ko-KR-z38NtMFa.js +0 -12
- package/static/assets/ru-RU-Bicx52lz.js +0 -12
- package/static/assets/services-BVnEJBDq.js +0 -1
- package/static/assets/vendor-i18next-BKUzkAKP.js +0 -1
- package/static/assets/vendor-utils-BWSB0jGn.js +0 -9
- package/static/assets/vi-VN-CvS_mTAu.js +0 -12
- package/static/assets/zh-CN-B0nRgJTD.js +0 -12
- package/static/assets/zh-TW-lc_SSoVI.js +0 -12
- /package/static/assets/{formatCountryName-CSBD8pP8.js → formatCountryName-JTcoEopY.js} +0 -0
package/.env.serverfull
CHANGED
|
@@ -58,14 +58,27 @@ SERVERFULL_ECH_ENABLED=true
|
|
|
58
58
|
SERVERFULL_ECH_FRONTING_DOMAIN=cloudflare-ech.com
|
|
59
59
|
|
|
60
60
|
# ------------------------------------------------------------------------------
|
|
61
|
-
# Database Configuration /
|
|
61
|
+
# Database Configuration / 数据库配置 (Local SQLite 或远程 Turso / libSQL)
|
|
62
62
|
# ------------------------------------------------------------------------------
|
|
63
|
+
# Database service backend / 数据库后端服务选择 (D1 / Turso / File)
|
|
64
|
+
# Serverless (Cloudflare Workers) mode defaults to D1; Serverfull mode defaults to File.
|
|
65
|
+
# Serverless 模式下默认使用 D1,Serverfull 模式下默认使用 File (本地 SQLite)。
|
|
66
|
+
# Options / 可选值: D1, Turso, File
|
|
67
|
+
DATABASE_SERVICE=File
|
|
68
|
+
|
|
63
69
|
# Local SQLite database file path / 本地 SQLite 数据库文件存储路径
|
|
64
70
|
# Default: Linux: /var/lib/dns-worker/dns_worker.sqlite, Windows: %ProgramData%\DNS-Worker\dns_worker.sqlite
|
|
65
71
|
# 默认值: Linux 使用 /var/lib/dns-worker/dns_worker.sqlite, Windows 使用 %ProgramData%\DNS-Worker\dns_worker.sqlite
|
|
66
72
|
# Automatically applies all migrations on startup / 启动时自动执行表结构初始化与迁移
|
|
67
73
|
# SERVERFULL_DB_PATH=
|
|
68
74
|
|
|
75
|
+
# Turso (libSQL) Remote Database / 远程 Turso 分布式数据库配置 (选填)
|
|
76
|
+
# When configured, DNS Worker automatically switches from local SQLite to Turso and runs schema migrations.
|
|
77
|
+
# 当配置了 TURSO_DATABASE_URL 与 TURSO_AUTH_TOKEN 时,系统将自动使用 Turso 远程数据库替代本地 SQLite。
|
|
78
|
+
# Supports both libsql:// and https:// URLs (e.g. libsql://your-db-org.turso.io)
|
|
79
|
+
# TURSO_DATABASE_URL=libsql://your-db-org.turso.io
|
|
80
|
+
# TURSO_AUTH_TOKEN=your_turso_jwt_auth_token_here
|
|
81
|
+
|
|
69
82
|
# ------------------------------------------------------------------------------
|
|
70
83
|
# Default Profile Routing / 默认解析配置路由
|
|
71
84
|
# ------------------------------------------------------------------------------
|
package/README.md
CHANGED
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
[](LICENSE)
|
|
11
|
+
[](https://www.npmjs.com/dns-worker)
|
|
12
|
+
[](https://hub.docker.com/r/hugokoo/dns-worker)
|
|
11
13
|
[](https://workers.cloudflare.com/)
|
|
12
14
|
[](https://nodejs.org/)
|
|
13
15
|
[](https://csrc.nist.gov/pubs/fips/203/final)
|
|
14
16
|
[](https://obein.github.io/DNS-Worker/)
|
|
15
|
-
[-brightgreen.svg)](https://obein.github.io/DNS-Worker/deployment/matrix/)
|
|
16
18
|
|
|
17
19
|
</div>
|
|
18
20
|
|
|
@@ -20,10 +22,11 @@
|
|
|
20
22
|
|
|
21
23
|
## 📖 Introduction
|
|
22
24
|
|
|
23
|
-
**DNS Worker** is a privacy-first protective DNS resolution system built
|
|
25
|
+
**DNS Worker** is a privacy-first protective DNS resolution system with built-in ad & malicious domain blocking, powered by an innovative **Dual-Engine Architecture**:
|
|
24
26
|
|
|
25
|
-
- **☁️ Edge Serverless Mode**: Run on Cloudflare Workers across 300+ edge locations worldwide with D1 database, enjoying zero maintenance.
|
|
26
|
-
- **🖥️ 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** (TLS SNI routing for Android Private DNS), and local SQLite.
|
|
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
|
+
- **🖥️ 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
|
+
- **🗄️ 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.
|
|
27
30
|
|
|
28
31
|
> 📚 **User Documentation**
|
|
29
32
|
> 👉 [**https://obein.github.io/DNS-Worker/**](https://obein.github.io/DNS-Worker/)
|
|
@@ -42,11 +45,30 @@ dns-worker
|
|
|
42
45
|
# Web Dashboard: http://localhost:10080
|
|
43
46
|
```
|
|
44
47
|
|
|
48
|
+
#### Standalone Server via Docker (Bun LTS)
|
|
49
|
+
```bash
|
|
50
|
+
# Run container with HTTPS (443), DoT (853), classic DNS (53), and TLS certificates
|
|
51
|
+
docker run -d \
|
|
52
|
+
--name dns-worker \
|
|
53
|
+
--restart unless-stopped \
|
|
54
|
+
-p 53:53/udp \
|
|
55
|
+
-p 853:853/tcp \
|
|
56
|
+
-p 80:80/tcp \
|
|
57
|
+
-p 443:443/tcp \
|
|
58
|
+
-v dns_worker_data:/var/lib/dns-worker \
|
|
59
|
+
-v dns_worker_config:/etc/dns-worker \
|
|
60
|
+
-v /etc/letsencrypt:/etc/ssl/dns-worker:ro \
|
|
61
|
+
hugokoo/dns-worker:latest
|
|
62
|
+
|
|
63
|
+
# Web Dashboard: https://your-domain-or-ip (HTTP on port 80 auto-redirects to HTTPS 443)
|
|
64
|
+
```
|
|
65
|
+
|
|
45
66
|
### Key Highlights
|
|
46
|
-
- ⚡ **Full-Stack Protocols**: UDP 53, DoT 853, DoH (HTTP/2 & HTTP/3
|
|
67
|
+
- ⚡ **Full-Stack Protocols**: UDP 53, DoT 853 (DoQ RFC 9250 compatible), DoH (HTTP/2 & HTTP/3 compatible), ECH & DDR (RFC 9460).
|
|
68
|
+
- 🗄️ **Multi-Database Engines**: Easily switch between `D1`, `Turso`, and `File` backends via the `DATABASE_SERVICE` environment variable, eliminating D1 free-tier quota limits.
|
|
47
69
|
- 🛡️ **Post-Quantum Zero-Knowledge E2EE**: NIST FIPS 203 **P256-MLKEM768** hybrid lattice cryptography + Hardware Passkeys (WebAuthn).
|
|
48
70
|
- 🚀 **Local-First Architecture**: Embedded in-browser WebAssembly SQLite + OPFS for instant 0ms log analytics and charting.
|
|
49
|
-
- 🛡️ **Granular Protection**:
|
|
71
|
+
- 🛡️ **Granular Protection & Ad Blocking**: Built-in ad and malicious domain blocking, wildcard filtering, Bloom filter accelerated blocklist subscriptions, custom overrides, and ECH fronting.
|
|
50
72
|
|
|
51
73
|
---
|
|
52
74
|
|
|
@@ -72,7 +94,7 @@ dns-worker
|
|
|
72
94
|
|
|
73
95
|
DNS Worker stands on the shoulders of modern open-source infrastructure and cryptography:
|
|
74
96
|
|
|
75
|
-
- **Compute & Runtime**: [Node.js](https://nodejs.org/) (native `node:sqlite`) / [Bun](https://bun.sh/) (>= 1.4.0) & [Cloudflare Workers](https://workers.cloudflare.com/) + [D1 Database](https://developers.cloudflare.com/d1/)
|
|
97
|
+
- **Compute & Runtime**: [Node.js](https://nodejs.org/) (native `node:sqlite`) / [Bun](https://bun.sh/) (>= 1.4.0) & [Cloudflare Workers](https://workers.cloudflare.com/) + [D1 Database](https://developers.cloudflare.com/d1/) / [Turso Database](https://turso.tech/) (libSQL)
|
|
76
98
|
- **User Interface**: [React](https://github.com/facebook/react), [Blueprint](https://github.com/palantir/blueprint) & [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss)
|
|
77
99
|
- **Documentation**: [Astro](https://astro.build/) & [Starlight](https://starlight.astro.build/) (lightning-fast, zero-JS static documentation)
|
|
78
100
|
- **Cryptography & Storage**: [NIST FIPS 203](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM-768) & [wa-sqlite](https://github.com/rhashimoto/wa-sqlite) (WASM + OPFS Local-First driver)
|