Skip to content

v0.8.0 · 崩了能自己回来 · 统计卡 · 上游不再依赖 gost

Choose a tag to compare

@Lithivm Lithivm released this 16 Oct 06:57
· 11 commits to main since this release

三件事:崩了能自己回来 · 看得到谁在占通道 · 上游不再依赖 gost

这一版是三块一起上的(v0.7.1 → v0.8.0)。

一、被外部结束 / 崩溃之后自动拉起(服务形态)

包装成 Windows 服务的机器(nethub.exe -service-install)以前被杀掉就一直是死的,没人知道。
现在服务形态会由 SCM 自动重启:5 秒后第一次、30 秒后第二次,而且带熔断 ——
如果程序是因为配置坏了"起来就崩",不会无限重启把客户的网络反复搞断。

日志里也会留一句"上次未正常退出(pid N)"并在托盘弹一条提示,不用去猜它是不是重启过。

GUI 形态(计划任务自启)没有这个保障:计划任务的失败重试对"进程被外部结束"实测不生效
(Task Scheduler 的语义限制,不是我们没做)。长期无人值守的机器本来就该用服务形态。

二、新的「统计」卡:回答"这段时间谁在占通道"

在「连接」页下半部分(没有新开页签,页签带不该长):

  • 三组数字:连接数(含还开着的 / 失败)、流量(↑ 发送 ↓ 接收)、时长(这组数字覆盖了多久);
  • 按目标与按应用两个维度各一张表(同一个连接两边都进,合计相等),
    域名能认出来就并到域名那一行,点表头换列序;
  • 「复制」一下把整张表带走(制表符分隔,直接贴进表格);「清零」从头再数;
  • 口径只有一个:累计(本程序启动以来)—— 与「链」页的累计、顶栏流量图同一个起点,
    引擎重启不会清零(否则同一件事会有两个数)。

直连流量要算进来,得先在「连接」页打开「也统计直连流量的字节数」(关着时直连的包根本不进内核过滤器)。

三、上游协议扩展:内置更多协议,不再需要装 gost

以前上游只能是 socks5(+tls) / http(s) / socks4,要别的协议就得挂一个 gost 进程。
现在这些都在程序里了:

新增 写法
传输层 +tls / +ws / +wss(只认两段:socks5+wss 对,socks5+ws+tls 错)
shadowsocks ss://aes-256-gcm:口令@host:8388(传统 AEAD 四种 + 2022-blake3 三种,2022 的口令位置填 base64 的 PSK)
trojan trojan://口令@host:443(天生 TLS)
VLESS vless://uuid@host:443?security=tls&sni=…,也认 type=ws&path=/ws
VMess vmess://<base64(json)> 分享链接直接粘,或 vmess://uuid@host:443?security=tls
  • xray 分享链接可以直接粘(vmess://、vless://…?type=ws&security=tls)。
  • 从聊天工具里粘来的链接没做 URL 编码也认(凭据里的 + / = ? #、中文口令都能解析)。
  • 所有新协议都与真服务端对测过(ws/tls/ss 用 gost,trojan/vless/vmess/ss2022 用 xray-core),
    包括 110KB 分块、域名透传、凭据错、预热连接。

明确不做(写了会报错并告诉你怎么改,不会静默降级):VLESS 的 flow / Vision、REALITY / XTLS、
grpc / kcp / quic / h2 传输、VMess 的 alterId ≠ 0、shadowsocks 的老式流密码与 none/dummy、
ss2022 的多用户(EIH)与 UDP。

四、顺手修的

  • DNS 接管自检不再误报:电脑从睡眠唤醒、或刚换过网络时,自检会把"那几秒的 DNS 空窗"
    当成"我们把 DNS 答坏了"。现在按"我们到底发过包没有"归因、失败先复测 20 秒、
    网络刚变 30 秒内跳过。
  • 「统计」卡去掉了「本次运行 / 累计」的切换(只留累计),时长改成"这组数字覆盖了多久"。
  • 若干界面文案与自检修正(上游提示里带括号的写法会让自检误判等)。

安装 / 升级

  • 包:NetHub.zip(不含任何配置与日志;把 config.yaml.example 复制成 config.yaml 填自己的上游)
  • 已经在用的:直接覆盖 nethub.exe(config.yaml 保留),或者用「设置 → 关于 → 一键更新」。
  • 回滚:nethub.exe -rollback(旧程序保留为 nethub.exe.old)。
  • 一条 exe 两种形态,别混装:有人在用的机器用 GUI(界面里开「开机自启」→ 计划任务),
    服务器 / 无人登录用服务形态(nethub.exe -service-install)。

已知边界

  • UDP(QUIC 那一类)仍然只拦下不中继:本该走链的目标上的 HTTP/3 会被拦下并记一行 quic.block,
    应用回落到 TCP(那条路仍归我们管);单条规则可勾「不拦 QUIC」放行。
  • 只能 Windows x64;IPv6 主动不做(DNS 层把 AAAA 答空防应用绕过)。