Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 7 additions & 1 deletion Surge/Advertising/HongGuo.sgmodule
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

# 域名来源:https://github.com/bluee1111/egern-hongguo-adblock/blob/main/hongguo-adblock.yaml(MIT)
# 埋点与广告 API 条目来源:https://github.com/k6nfmm7dbr-commits/hongguo-lite(MIT)
# 核对日期:2026-10-16。上游为 Egern 格式,此处改写为 Surge [Rule] 语法,域名集保持一致。
# 核对日期:2026-10-28。按上游逐项核对并收窄为 Surge [Rule],保留正片、图片与 API 例外。
# 其他来源、最后提交日期与取舍:../Readme.md「红果模块与来源核对」。
#
# 保留上游的必要例外,必须写在本模块的 REJECT 之前:
# 正片 v*-reading-video*.qznovelvod.com / v*-reading-videocdn*.qznovelvod.com
Expand Down Expand Up @@ -52,6 +53,9 @@ DOMAIN-SUFFIX,pangolin-sdk-toutiao1.com,REJECT
DOMAIN-SUFFIX,pglstatp-toutiao.com,REJECT
DOMAIN-SUFFIX,pglstatp-toutiao-b.com,REJECT
DOMAIN-SUFFIX,pangolin-sdk-toutiao-b.com,REJECT
# hongguo-lite 的 pangolin 关键词覆盖这两个 DSP 域;使用后缀限定匹配边界。
DOMAIN-SUFFIX,pangolin-dsp-toutiao.com,REJECT
DOMAIN-SUFFIX,pangolin-dsp-toutiao-b.com,REJECT
DOMAIN-SUFFIX,pangle.io,REJECT
DOMAIN-WILDCARD,api-access.pangolin-sdk-toutiao*.com,REJECT
DOMAIN-WILDCARD,log-api.pangolin-sdk-toutiao*.com,REJECT
Expand All @@ -66,6 +70,8 @@ DOMAIN,is-lq.snssdk.com,REJECT
DOMAIN-WILDCARD,mon*-misc-lq.fqnovel.com,REJECT
DOMAIN-WILDCARD,mon*-misc.fqnovel.com,REJECT
DOMAIN-WILDCARD,rtlog*-applog-lq.fqnovel.com,REJECT
# 收窄上游 applog.fqnovel.com 关键词;README 交叉核对了 log3 / log5。
DOMAIN-WILDCARD,log*-applog.fqnovel.com,REJECT

# ── 红果 / 番茄系广告投放接口 ────────────────────────────────────────────────
# 只匹配 ads*-normal,不扩大到 ads*.zijieapi.com,避免误杀正常接口。
Expand Down
25 changes: 25 additions & 0 deletions Surge/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,28 @@ FINAL,Proxy

> ⚠️ `DOMAIN-SET` 与 `RULE-SET` 文件格式不同,不能互换。AI / Ozon 的 `.Extra.list` 补集仍使用 `RULE-SET`。完整订阅示例见 [`Ruleset/readme.md`](Ruleset/readme.md),格式定义以 [Surge 官方手册](https://manual.nssurge.com/)为准。

## 红果模块与来源核对

[`HongGuo.sgmodule`](Advertising/HongGuo.sgmodule) 可单独启用,无需 MITM 或证书。
2026-10-28 补入 `pangolin-dsp-toutiao.com`、`pangolin-dsp-toutiao-b.com` 两个域名后缀,
以及 `log*-applog.fqnovel.com` 上报规则。依据是
[hongguo-lite 的拦截清单及交叉核对说明](https://github.com/k6nfmm7dbr-commits/hongguo-lite/blob/main/README.md);
将其宽泛关键词收窄,补齐独立使用时的缺口。既有正片、图片、登录与评论例外保持原样。

以下日期为关键规则文件最后提交的香港日期,核对时间为 2026-10-28,不代表设备实测结果:

| 来源 | 文件最后提交 | 许可核对 | 可参考的增量与限制 |
|---|---|---|---|
| [egern-hongguo-adblock](https://github.com/bluee1111/egern-hongguo-adblock/blob/main/hongguo-adblock.yaml) | 2026-10-09 | 仓库 MIT | 现有主来源,保留 reading-ad 与正片 CDN 的区分。 |
| [hongguo-lite](https://github.com/k6nfmm7dbr-commits/hongguo-lite/blob/main/surge/hongguo-lite.sgmodule) | 2026-10-06 | 仓库 MIT | 本次三条规则的依据;Plus 版路径拦截需要 MITM。 |
| [LoonKissSurge 番茄规则](https://github.com/QingRex/LoonKissSurge/blob/main/Surge/番茄小说去广告.sgmodule) | 2025-11-14 | 未发现模块统一许可证;README 要求遵循原作者许可 | 可交叉核对 log3/5、rtlog3/5 上报;含风控、登录与直播相关拦截,不宜整份合入。 |
| [HongGuo-Surge-Native](https://github.com/doovvip/sublink-worker2/blob/main/surge-modules/HongGuo-Surge-Native.sgmodule) | 2026-09-05 | 仓库 MIT | 纯域名部分已有覆盖;额外路径拦截、下载/画质响应脚本需要 MITM,后两者上游仍标为实验。 |
| [zqzess FanQieNovel](https://github.com/zqzess/rule_for_quantumultX/blob/master/Surge/Module/FanQieNovel.sgmodule) | 2024-03-06 | 未发现仓库许可证 | 可作历史交叉核对;含 zijieapi 关键词、bytedance.com 整域及视频域拦截,不建议直接导入。 |
| [fanqienovel-adguardhome-rules](https://github.com/gitlawyercan/fanqienovel-adguardhome-rules/blob/main/fanqienovel.txt) | 2026-10-05 | 文件头及 README 声明 MIT,未发现所链接的 LICENSE 文件 | 重点参考正片、登录、评论白名单;额外统计/素材域和直播、风控拦截需请求记录验证,不自动搬入。 |

本次仅补入上述三条域名规则;其余来源用于交叉核对,不引入远程脚本、VIP 改写或证书固定绕过。
离线测试验证新规则、非目标域名边界、既有 DIRECT 和 reading-ad 首条命中;不能替代 Surge 内核或真机播放测试。
域名规则可能影响共用这些域名的其他字节系应用;拦截广告和上报也可能影响金币/奖励入口。
设备上应复测冷启动、连续播放、切集、封面、登录和评论,并查看实际命中记录。
与通用 Advertising 模块组合时,仍需留意其 pre-matching 规则;普通 DIRECT 无法覆盖提前命中的 REJECT。

13 changes: 13 additions & 0 deletions tools/tests/test_surge_rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,19 @@ def hongguo_policy(host):


class SurgeArtifactTests(unittest.TestCase):
def test_hongguo_standalone_dsp_and_applog(self):
for host in ("pangolin-dsp-toutiao.com", "pangolin-dsp-toutiao-b.com",
"api.pangolin-dsp-toutiao.com", "api.pangolin-dsp-toutiao-b.com",
"log0-applog.fqnovel.com", "log3-applog.fqnovel.com",
"log5-applog.fqnovel.com", "log99-applog.fqnovel.com"):
with self.subTest(host=host):
self.assertEqual(hongguo_policy(host), "REJECT")
for host in ("pangolin-dsp-toutiao.com.example.org", "notpangolin-dsp-toutiao.com",
"pangolin.example.com", "api3-applog.fqnovel.com",
"log3-applog.fqnovel.com.example.org", "login.fqnovel.com"):
with self.subTest(host=host):
self.assertIsNone(hongguo_policy(host))

def test_hongguo_ads_reject_before_cdn_fallback(self):
for part in ("reading-ad", "bd-daily-reading-ad", "se-daily-reading-ad", "se-sjy-daily-reading-ad"):
for prefix in ("v1", "v6", "v99"):
Expand Down
Loading