Commit Graph
15 Commits
Author SHA1 Message Date
ao gong 112374e2a1 test(gen-script): lock in to_rule() inline-# handling with regression tests
CI / lite (push) Successful in 3s
新增 2 个 test method 覆盖 b4a4769 修复的边界 case:
- test_to_rule_strips_inline_hash_comment_before_classifying_no_resolve
  锁定带 inline # 注释的条目(本次修复的真实场景)
  + 验证注释里出现 'no-resolve' / ',DIRECT' 字符串不被误处理
- test_to_rule_preserves_canonical_forms
  锁定 happy path(纯规则、带 no-resolve、带行尾空白)

为让 test_checked_in_router_projections_match_the_rule_source 通过,
同步重生成 router/direct-plain.txt 和 router/direct-rules.yaml。
这俩投影文件自 907fe9d 起就 stale 14+ 条规则(国内 LLM、UGREEN、
Steam 段全没同步),本次连同 b4a4769 的修复一起补齐。

测试结果:python3 -m unittest discover -s tests
  Ran 9 tests in 0.028s — OK
2026-09-05 13:40:50 +08:00
ao gong b4a4769dcf fix(gen-script): strip inline '#' comment before classifying no-resolve suffix
CI / lite (push) Failing after 4s
to_rule() 在判断 entry.endswith(',no-resolve') 之前没有剥掉行尾 # 注释,
导致带 inline 注释的条目走 else 分支,把注释当成 entry 一部分拼进去,
最终生成出 mihomo 解析失败的规则:

  'IP-CIDR,162.254.192.0/18,no-resolve   # Akamai Steam CDN 主段,DIRECT'

修法:
- to_rule() 先 split('#', 1)[0].rstrip() 剥注释再判断
- direct.yaml 第 91 行 inline 注释挪到独立行(避免再次踩坑)

验证:gen_clash_verge_script.py 重跑后 Script.js 第 49 行已变成
  'IP-CIDR,162.254.192.0/18,DIRECT,no-resolve',
Clash Verge 重启内核后订阅配置校验失败消失。
2026-09-05 13:32:48 +08:00
ao gong 907fe9d46a direct: add Steam global pass (community/store/CDN/Valve nets)
CI / lite (push) Failing after 4s
2026-09-05 11:56:06 +08:00
ageorge156 854b8e1cdd fix: keep OneDrive on direct routing (#7)
CI / lite (push) Successful in 9s
## 变更

- 将 `OneDrive.exe` 设为全局 `DIRECT`,优先于供应商 Microsoft 规则
- 为 Clash Verge 全局脚本补充国内可达的阿里 DNS / 腾讯 DNS DoH fallback
- 同步更新路由器规则投影与跨平台生成说明

## 验证

- `python -m unittest discover -s tests -v`:7 项通过
- mihomo DNS API 成功解析 OneDrive 目标
- 实际日志确认 `OneDrive.exe -> skydrive.wns.windows.com:443` 命中 `ProcessName(OneDrive.exe)` 并使用 `DIRECT`

Reviewed-on: http://192.168.50.2:3000/ageorge156/vpn-rules/pulls/7
2026-08-30 16:55:17 +08:00
ageorge156 de26a0edc0 chore: adopt shared runtime contract (#6)
CI / lite (push) Successful in 3s
2026-08-24 19:46:55 +08:00
ageorge156 32694d0776 Merge pull request 'fix(ci): publish offline lite verification' (#5) from codex/module-spec-pilot-20260820 into main
CI / lite (push) Successful in 2s
Reviewed-on: #5
2026-08-20 20:25:01 +08:00
George Berkshire b1885cace8 fix(ci): publish offline lite verification
CI / lite (pull_request) Successful in 6s
2026-08-20 20:22:52 +08:00
George Berkshire 80a5199150 test: add reproducer for missing lite CI contract 2026-08-20 20:22:15 +08:00
George Berkshire ac93ea1b03 feat(architecture): publish VPN rules module metadata 2026-08-20 20:21:41 +08:00
George Berkshire 87e103b5cf test: add reproducer for VPN rules module metadata 2026-08-20 20:21:01 +08:00
ageorge156 baf1699f25 feat: 新增无 - 前缀的纯文本规则列表(router/direct-plain.txt + 生成器) (#4)
CI / check (push) Successful in 6s
2026-08-19 21:03:48 +08:00
ageorge156 804007096f feat: 增加 LM Studio 与绿联 SyncSpace 直连规则(lmstudio.ai + syncthing.net) (#3)
CI / check (push) Successful in 2s
2026-08-19 20:51:28 +08:00
ageorge156 2df8593e8b feat: 增加 HuggingFace 镜像直连规则(hf-mirror.com + cdn.hf.co) (#2)
CI / check (push) Successful in 7s
2026-08-19 20:05:04 +08:00
ageorge156 f58e8c3603 feat: 路由器手动粘贴版直连规则生成器(router/direct-rules.yaml) (#1)
CI / check (push) Successful in 8s
2026-08-19 16:53:11 +08:00
George Berkshire 25fcdf0701 feat: vpn 全局直连规则真源(rule-provider)+ Clash Verge 脚本生成器
CI / check (push) Successful in 3s
v0.1.0
2026-08-19 16:46:26 +08:00