Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a63ffd7
修复(tun): Block QUIC 在 smart 模式下对国外 QUIC 失效
Sway-Chan Jun 8, 2026
584bdd0
特性(naive): 修复订阅丢弃 naive 节点 + 完整支持 naive HTTP/3
Sway-Chan Jun 8, 2026
93702b6
修复(tun): 代理向 UDP 按"中继能力"统一 reject,修 naive 黑洞 + smart 配对
Sway-Chan Jun 8, 2026
d26f7c1
特性(tun): 节点域名绕过扩展到全部节点 + 收敛为 CDN 安全的纯域名规则
Sway-Chan Jun 8, 2026
61ece73
简化(tun): blockQuic 收敛为节点无关的 udp443 reject,删全-UDP reject + 节点分类
Sway-Chan Jun 8, 2026
1b81087
特性(切换): selector + clash_api 无缝热切换节点(默认优雅,开关控制中断)
Sway-Chan Jun 8, 2026
142a54b
特性(抗封): ECH + Multiplex + TLS Fragment + httpupgrade + Hy2 端口跳跃
Sway-Chan Jun 8, 2026
df4dccf
修复(review-r1): 独立 review + 实测发现的 11 处问题
Sway-Chan Jun 8, 2026
6b2a7ee
修复(review-r2): 整体/回归 review 发现的 6 处问题
Sway-Chan Jun 8, 2026
7d2f73a
特性(naive): 打包 libcronet 使 NaiveProxy 节点可用(PR-7)
Sway-Chan Jun 8, 2026
712c986
修复(review): PR-7 独立 review 的 2 HIGH + 5 MED
Sway-Chan Jun 8, 2026
132e4e7
修正(naive/mac): cronet 在 mac 为静态编入,修 hasCronetLib 误跳 naive
Sway-Chan Jun 8, 2026
d2c676f
文档(README): 补充无缝切换 / Block QUIC / 抗封 / NaiveProxy 说明
Sway-Chan Jun 8, 2026
2c18076
特性(核心更新): 预检 + 自动回滚 + 问题版本跳过 + 兼容版本带闸门
Sway-Chan Jun 8, 2026
c6fe428
修复(review): 核心更新健壮性独立 review 的 3 HIGH + 2 LOW
Sway-Chan Jun 8, 2026
7c503ca
统一(核心): sing-box linux/mac-arm64/win 升级 1.13.13(mac-x64 暂留 1.12.13)
Sway-Chan Jun 8, 2026
5722fc1
统一(核心): mac-x64 一并打包 sing-box 1.13.13(Intel naive 可用)
Sway-Chan Jun 8, 2026
43195ee
文档(README): mac x64 naive 可用、提供 x64 预构建包
Sway-Chan Jun 8, 2026
5c08a7b
特性(抗封 UI): 抗封字段共享渲染组件(EchField + MultiplexFields,含 flow 级 vision guard)
Sway-Chan Jun 9, 2026
e297163
特性(抗封 UI): 人工配置开放 ECH / Multiplex / httpupgrade / Hy2 端口跳跃
Sway-Chan Jun 9, 2026
b6232f6
重构(表单): 抽离 basic/tls/transport/reality 共享渲染组件
Sway-Chan Jun 9, 2026
13e9166
修复(P0): 版本解析统一 + ws early-data + 下载完整性校验 + naive 漂移提示
Sway-Chan Jun 9, 2026
f1fa9d1
加固(P1): 热切换键序无关比较 + 版本比较健壮 + 抑制闩兜底 + 订阅 SSRF/空结果/Host
Sway-Chan Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,6 @@ subscription-cache/
# Any local override configs
local.config.*
*.local.json

# NaiveProxy 核心库(由 npm run fetch:cronet 下载,打包时随 resources 打入;体积大不入库)
resources/*/libcronet.*
33 changes: 27 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
- ✅ 支持排除进程代理模式
- ✅ 跨平台支持(Windows / macOS / Linux(测试))
- ✅ 支持中英文语言切换
- ✅ 无缝切换节点(selector + clash_api 热切换,默认优雅不断流;可选「切换时中断现有连接」)
- ✅ Block QUIC(节点无关:reject 代理向 QUIC/UDP 443、逼浏览器回退 TCP,解决节点 UDP relay 不通导致的网页卡顿)
- ✅ 抗封增强:TLS Fragment(全局)/ ECH / Multiplex / httpupgrade / Hysteria2 端口跳跃(订阅自动识别,部分提供手动开关)
---

## 🖼 界面预览
Expand Down Expand Up @@ -68,7 +71,7 @@
打开 `.dmg` 并拖入 Applications

### macOS (Intel)
需要从源码构建
打开 `.dmg` 并拖入 Applications(已提供 Intel / x64 预构建包)

若 macOS 提示“软件已损坏”:

Expand All @@ -91,11 +94,7 @@ npm run package:win
npm run package:mac
```

macOS Intel 用户需要修改 `electron-builder.json`:

```json
"arch": ["x64"]
```
`package:mac` 默认构建 **arm64 + x64** 两个架构(见 `electron-builder.json` 的 `mac.target.arch`)。

---

Expand Down Expand Up @@ -127,6 +126,28 @@ macOS Intel 用户需要修改 `electron-builder.json`:

---

## 🛡 抗封 / 切换 / NaiveProxy 说明

### 无缝切换节点
默认采用 **selector + clash_api 热切换**:切换节点不重启核心、现有连接保留至自然关闭,新连接走新节点(优雅不断流)。高级设置中的「**切换时中断现有连接**」开关(默认关)开启后,切换会强制断开现有连接、立即在新节点重建。跨模式/端口/TUN/规则等改动仍会重启以应用。

### Block QUIC(高级设置)
开启后对**代理向的 QUIC(UDP 443)**执行 reject、逼浏览器回退 TCP,解决「节点 UDP relay 不通导致网页卡顿/断流」。**节点无关**,对所有协议一视同仁;hysteria2/tuic/naive 等以 QUIC 拨号的节点其**自身拨号不受影响**(受 fwmark 保护)。默认关。

### 抗封增强
- **TLS Fragment**(高级设置全局开关):切分 TLS ClientHello,规避基于 SNI 关键词的 DPI 阻断。对所有 TCP-TLS 节点生效;hysteria2/tuic/naive 自动排除(其 TLS 不在 TCP 层)。
- **ECH / Multiplex / httpupgrade / Hysteria2 端口跳跃**:从 **sing-box JSON 订阅自动识别并生效**(Multiplex 对 reality+vision 节点自动跳过;端口跳跃支持多段范围)。

### ⚠️ NaiveProxy(naive)核心库说明
naive 出站底层走 **Chromium 的 Cronet 网络库** 以获得与浏览器一致的指纹。各平台链接方式不同:

- **Linux / Windows**:cronet 走**动态库**(`libcronet.so` / `libcronet.dll`),需与核心同目录。打包时由 `npm run fetch:cronet` 从 [SagerNet/cronet-go](https://github.com/SagerNet/cronet-go/releases) 拉取并随安装包打入(体积大,不入库、CI/打包时拉取)。
- **macOS(arm64 与 x64)**:cronet 由 sing-box 核心二进制**静态编入**(CGO),naive **开箱即用、无需任何外部库**;两个架构均随安装包发布(核心统一 sing-box 1.13.13)。

> 在缺少 cronet 的平台/架构上,naive 节点会被**自动跳过**(不影响其它协议节点;若选中的正是 naive 节点会给出明确提示)。

---

## 🔧 技术栈

- Electron
Expand Down
Loading
Loading