Surge 自定义配置教程

采用精简主配置加功能模块的架构设计,实现 Surge 代理分流、广告拦截与自定义规则。

Surge 自定义配置教程

一、整体架构:主配置 + 模块

本配置采用 "精简主配置 + 功能模块" 的架构设计。核心思路:

Custom_Surge.conf                    ← 主配置:路由分流逻辑(哪些流量走哪个策略)
  ├── module/ad-block.sgmodule             ← 广告拦截(完整版)
  ├── module/ad-block-lite.sgmodule        ← 广告拦截(macOS 精简版)
  ├── module/custom-rules.sgmodule         ← 自定义域名规则
  ├── module/private.sgmodule              ← MITM 域名
  ├── module/tailscale.sgmodule            ← Tailscale DNS 映射
  ├── module/jpark.sgmodule                ← 停车/生活 App 广告拦截
  ├── module/lg.sgmodule                   ← VIF 排除路由(投屏/局域网发现)
  └── module/hide-qbittorrent.sgmodule     ← 隐藏 BT 客户端流量

为什么广告拦截不在主配置里? 因为完整版和精简版的拦截规则数量差异大,模块化可以按设备性能选择性启用,而主配置保持通用。


二、[General] 基础设置

日志级别

loglevel = warning

仅记录警告及以上级别日志,减少性能开销。调试时可改为 verbose

DNS 配置

dns-server = system,119.29.29.29,223.5.5.5

使用系统 DNS + 腾讯 DNSPod + 阿里 DNS 作为解析服务器,均为国内公共 DNS,解析国内域名速度最佳。

hijack-dns = 8.8.8.8:53,8.8.4.4:53,1.1.1.1:53,1.0.0.1:53

劫持发往 Google DNS 和 Cloudflare DNS 的请求,由 Surge 统一处理,避免 DNS 泄露。

always-real-ip = dns.msftncsi.com, *.msftconnecttest.com, *.srv.nintendo.net, *.stun.playstation.net, stun.*, ...

对于游戏、视频通话、网络连通性检测等需要真实 IP 的场景,跳过 Surge 的 Fake IP 机制,直接返回真实解析结果。覆盖 Microsoft NCSI、Nintendo、PlayStation、Twilio STUN、Syncthing、Battle.net、NTP 等。

GeoIP 数据库

geoip-maxmind-url = https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-only-cn-private.mmdb

使用 Loyalsoldier 维护的精简版 GeoIP 数据库(仅中国 + 内网),体积小、更新频繁。配合末尾的 GEOIP,CN,DIRECT 规则,实现兜底的国内直连判断。

跳过代理

skip-proxy = 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, 162.14.0.0/16, fc00::/7, fe80::/10, localhost, *.local, *.ts.net, captive.apple.com, passenger.t3go.cn, *.ccb.com, wxh.wo.cn, *.abcchina.com, *.abcchina.com.cn
exclude-simple-hostnames = true
read-etc-hosts = true
  • 内网地址(127.0.0.0/8192.168.0.0/1610.0.0.0/8172.16.0.0/12
  • Tailscale 网段(100.64.0.0/10)、腾讯内网(162.14.0.0/16
  • IPv6 本地地址(fc00::/7fe80::/10
  • Tailscale 域名(*.ts.net)、Apple 强制门户(captive.apple.com
  • 银行/运营商:建行(*.ccb.com)、联通(wxh.wo.cn)、农行(*.abcchina.com
  • exclude-simple-hostnames:不含点号的主机名(如 localhost)自动绕过
  • read-etc-hosts:读取系统 /etc/hosts 文件中的映射

连通性测试

internet-test-url = http://wifi.vivo.com.cn/generate_204
proxy-test-url = http://cp.cloudflare.com/generate_204
proxy-test-udp = cp.cloudflare.com@1.1.1.1
test-timeout = 3
  • internet-test-url:检测本机是否有网络连接(国内网站,响应快)
  • proxy-test-url:检测代理节点 TCP 是否通畅(Cloudflare,全球 CDN)
  • proxy-test-udp:检测代理节点 UDP 是否通畅(向 1.1.1.1 发起 DNS 查询)
  • 3 秒超时,快速淘汰慢节点

网络共享

http-listen = 0.0.0.0:8888
socks5-listen = 0.0.0.0:8889
wifi-access-http-port = 8888
wifi-access-socks5-port = 8889
allow-wifi-access = true
proxy-restricted-to-lan = true

开放 HTTP/SOCKS5 代理端口,允许同一局域网下的其他设备通过本机代理上网。proxy-restricted-to-lan 确保只有局域网设备可以连接,防止外部访问。

外部控制 API

external-controller-access = dler@0.0.0.0:6170
http-api = dler@0.0.0.0:6171
http-api-web-dashboard = true

启用 Surge 的外部控制接口和 Web Dashboard,可通过浏览器或第三方工具远程管理 Surge。密码为 dler

杂项

show-error-page-for-reject = false
block-quic = all-proxy
udp-policy-not-supported-behaviour = DIRECT
udp-priority = true
wifi-assist = false
  • show-error-page-for-reject:被 REJECT 的请求不显示错误页面,静默处理
  • block-quic:阻断所有需要走代理的 QUIC 流量,强制回落到 TCP。QUIC 基于 UDP,多数代理协议对 UDP 支持不佳,阻断后确保流量被正确路由
  • udp-policy-not-supported-behaviour:当代理不支持 UDP 时直连(而非丢弃)
  • udp-priority:优先使用 UDP 传输(提升实时性)
  • wifi-assist:关闭 Wi-Fi 辅助(不在 Wi-Fi 不佳时自动切蜂窝)

[Replica] 请求隐藏

[Replica]
hide-apple-request = true
hide-crash-reporter-request = true
hide-udp = false
keyword-filter-type = blacklist

控制 Surge 的请求查看器(Dashboard)中哪些流量被隐藏:

  • 隐藏 Apple 系统级请求和崩溃报告,减少噪音
  • UDP 流量不隐藏(方便调试代理 UDP 支持)
  • keyword-filter-type = blacklist:关键词过滤采用黑名单模式

三、[Proxy Group] 策略组设计

主策略

Proxy = select,🇭🇰 HK,🇼🇸 TW,🇸🇬 SG,🇺🇲 US,🇯🇵 JP

手动选择出口地区的总入口。所有需要代理的流量如果没有特定策略,最终走这里。

服务策略(可独立控制出口)

AI / Media / TikTok / Apple / GitHub / Telegram / Tunnel

每个服务都可以独立选择 Proxy(跟随主策略)、DIRECT(直连)或指定地区。例如:

  • AI → 选 🇺🇲 US,因为 Claude/OpenAI 通常需要美国节点
  • TikTok → 选不同地区可以看不同地区内容
  • Telegram → 可选就近节点降低延迟

金融策略

Crypto / PayPal / Stripe

金融服务单独隔离,避免频繁切换节点触发风控。

工具策略

Speed = select,DIRECT,Proxy

Speedtest 测速默认直连(测的是本地 ISP 速度),也可切换为代理(测代理线路速度)。

地区节点组

🇭🇰 HK = smart, include-all-proxies=1, policy-regex-filter=(?!.*(Game))(港|Hong|HK), interval=600, timeout=2, evaluate-before-use=true
  • smart:自动选择延迟最低的节点
  • include-all-proxies=1:包含所有订阅中的节点
  • policy-regex-filter:用正则匹配节点名中的地区关键词,同时排除 Game 专用节点((?!.*(Game))
  • evaluate-before-use=true:使用前先测速,避免选中已失效节点

四、[Rule] 规则分层——优先级是核心

Surge 规则采用 "先匹配先生效" 原则,顺序至关重要。本配置分为 10 个逻辑层:

 优先级高 ↑
 ┌──────────────────────────────────────────┐
 │ (Module pre-matching: 广告拦截)          │  ← 模块注入,最先执行
 ├──────────────────────────────────────────┤
 │ 1. 国内直连  (Apple/MS CDN, 国内媒体,   │  ← 国内服务快速放行
 │              SteamCN)                    │
 │ 2. AI       (Claude, OpenAI 等)         │
 │ 3. 流媒体    (Netflix, TikTok, YouTube,  │
 │              GlobalMedia)                │
 │ 4. 服务      (Apple, GitHub, Mail,       │
 │              Telegram)                   │
 │ 5. 金融      (Crypto, PayPal, Stripe)    │
 │ 6. 工具      (Speedtest)                 │
 │ 7. CDN & 下载                            │
 │ 8. 国内域名   (China 全量列表)            │
 │ 9. IP 规则    (广告 IP 拦截)              │
 │10. 兜底       (海外代理, LAN, GEOIP,     │
 │               FINAL)                     │
 ├──────────────────────────────────────────┤
 │ (Module: custom-rules 自定义规则)         │  ← 模块注入的普通规则
 └──────────────────────────────────────────┘
 优先级低 ↓

设计逻辑

  1. 国内直连最先:Apple/Microsoft CDN、国内媒体、Steam 国区等高频流量立即放行,减少不必要的规则匹配
  2. 服务分流在中间:AI、流媒体、金融等需要指定出口的服务精确匹配
  3. CDN 和下载统一走代理:海外 CDN 和软件下载通常需要代理加速
  4. 国内域名兜底:使用 blackmatrix7 的 China_All_No_Resolve 大规则集,覆盖绝大多数国内域名
  5. 多层兜底Proxy_All_No_Resolve 捕获已知海外域名 → LAN 直连局域网 → GEOIP,CN,DIRECT 确保国内 IP 直连 → FINAL 兜底所有剩余

extended-matching 标记

所有 RULE-SETDOMAIN-SET 规则均带有 extended-matching 标记:

RULE-SET,https://...,DIRECT,extended-matching

此标记启用扩展匹配模式,允许规则集内使用更多规则类型(如 URL-REGEXUSER-AGENT 等),确保与 Sukka 等规则集的完整兼容。

关键规则说明

RULE-SET,https://cdn.jsdelivr.net/.../Mail/Mail.list,Tunnel,extended-matching

邮件服务走 Tunnel 策略,与 SSH 共用通道,确保邮件协议(IMAP/SMTP)通过稳定的代理连接。

RULE-SET,https://cdn.jsdelivr.net/.../Proxy/Proxy_All_No_Resolve.list,Proxy,extended-matching

GEOIP 兜底之前,先用 blackmatrix7 的海外域名列表精确匹配已知需要代理的域名,减少对 GeoIP 数据库的依赖。

FINAL,Proxy,dns-failed

终极兜底:所有未被任何规则匹配的流量走代理。dns-failed 参数表示 DNS 解析失败时也交给代理处理(由远端 DNS 解析),这对于被 DNS 污染的域名至关重要。


五、广告拦截模块——与主配置的配合

广告拦截完全剥离到模块中,按使用场景选择启用。

两个广告模块对比

模块 适用场景 规则数量 拦截策略
ad-block.sgmodule iOS / 需要完整拦截 完整(6 条规则集) 按类型区分 REJECT/REJECT-DROP
ad-block-lite.sgmodule macOS / 追求精简 精简(4 条规则集) 统一 REJECT

ad-block.sgmodule(完整版)

DOMAIN-SET,...AWAvenue-Ads-Rule...,REJECT,extended-matching,pre-matching       # 秋风广告规则
RULE-SET,.../sogouinput.conf,REJECT-DROP,extended-matching,pre-matching        # 搜狗输入法遥测
DOMAIN-SET,.../reject.conf,REJECT,extended-matching,pre-matching               # 广告域名集
RULE-SET,.../reject.conf,REJECT,extended-matching,pre-matching                 # 广告规则集
RULE-SET,.../reject-no-drop.conf,REJECT-NO-DROP,extended-matching,pre-matching # 需返回空响应的拦截
RULE-SET,.../reject-drop.conf,REJECT-DROP,extended-matching,pre-matching       # 可静默丢弃的拦截

拦截策略遵循 Sukka 的分类设计,而非一刀切:

策略 含义 适用场景
REJECT 返回空响应 通用广告域名(默认策略)
REJECT-DROP 静默丢弃,不返回响应 搜狗输入法遥测、可安全丢弃的追踪请求
REJECT-NO-DROP 必须返回空响应,不能丢弃 某些 API 调用,App 期望收到响应才能继续

ad-block-lite.sgmodule(macOS 精简版)

DOMAIN-SET,...AWAvenue-Ads-Rule...,REJECT,extended-matching,pre-matching  # 秋风广告规则
DOMAIN-SET,.../reject.conf,REJECT,extended-matching,pre-matching          # 广告域名集
RULE-SET,.../reject.conf,REJECT,extended-matching                         # 广告规则集
RULE-SET,.../reject.conf,REJECT,extended-matching,pre-matching            # 广告规则集(pre-matching)

精简版去掉了搜狗输入法、reject-no-dropreject-drop 等细分规则集,仅保留核心广告域名拦截,适合对规则数量敏感的 macOS 环境。

pre-matching 的关键作用

带有 pre-matching 标记的规则会在 所有主配置规则之前 被评估。这意味着:

请求进入 Surge
  ↓
① pre-matching 规则(模块中的广告拦截)  ← 广告在这里就被杀死
  ↓ (未命中)
② 主配置 [Rule] 按顺序匹配              ← 正常流量在这里分流
  ↓ (未命中)
③ 模块中的非 pre-matching 规则
  ↓ (未命中)
④ FINAL 兜底

为什么广告拦截要 pre-matching?

  • 广告请求不需要进入路由分流逻辑,越早拦截越省资源
  • 避免广告域名意外命中其他规则(如某广告 CDN 域名被 CDN 规则集匹配走了代理)
  • 性能优化:Surge 对 pre-matching 规则使用优化的数据结构,匹配速度更快

规则源

来源 内容 规模
ruleset.skk.moe (Sukka) 广告域名、隐私追踪、恶意软件、钓鱼 数万条,高质量维护
AWAvenue-Ads-Rule (秋风) 中国区特色广告规则 国内 App 广告覆盖好

两者互补:Sukka 的规则偏国际化和全面,秋风的规则专注国内 App 和网站广告。


六、custom-rules.sgmodule 自定义规则模块

自定义规则以模块形式加载,引用 private/ 目录下的规则列表:

RULE-SET,.../private/direct.list,DIRECT,extended-matching     # 自定义直连
RULE-SET,.../private/proxy.list,Proxy,extended-matching       # 自定义代理
RULE-SET,.../private/ssh.list,Tunnel,extended-matching        # SSH 端口走 Tunnel 策略

模块引用的列表

文件 策略 典型内容
direct.list DIRECT Plex 本地、NAS、微信/飞书/QQ 音乐进程、ToDesk、cloudflared、国内 SSH
proxy.list Proxy Plex 远程、Google 广告平台、Apple 广告 API、PostHog、morelogin
ssh.list Tunnel DEST-PORT,22 — 所有 SSH 流量走 Tunnel 策略

private/ 目录下其他列表

以下列表存在于 private/ 目录但未被模块直接引用,作为规则储备或被其他配置使用:

文件 内容
reject.list Parallels 许可证验证域名、luckydogsoft
ai.list Claude 域名和进程
tail.list Tailscale 网段(100.64.0.0/10)、WireGuard 内网
apple.list iTunes、Apple 广告归因 API

direct.list 特殊规则

AND,((DEST-PORT,22), (GEOIP, CN))

复合规则:目标端口为 22(SSH)且目标 IP 属于中国的流量直连。这样国内服务器的 SSH 不走代理,海外服务器的 SSH 走 Tunnel 策略(由 ssh.list 中的 DEST-PORT,22 兜底)。


七、功能模块详解

tailscale.sgmodule — Tailscale DNS 映射

[Host]
*.ts.net = server:100.100.100.100    # MagicDNS 通配解析

# 设备静态映射
mbp.ts.net = 100.66.162.49
rog.ts.net = 100.112.83.96
xlxds.ts.net = 100.75.210.125
minis.ts.net = 100.65.162.49

将 Tailscale 域名解析交给 MagicDNS(100.100.100.100),并为常用设备配置静态 IP 映射,省去每次查询 DNS 的开销。

jpark.sgmodule — 停车/生活 App 拦截

[Rule]
DOMAIN,csg.jparking.cn,REJECT         # 停车场广告
DOMAIN,psbg.jparking.cn,REJECT
DOMAIN,e.jparking.cn,REJECT
DOMAIN,cw.jparking.cn,REJECT
URL-REGEX,"^https://sytgate\.jslife\.com\.cn/...",REJECT-TINYGIF   # JSLife 广告 API
URL-REGEX,^https://etgw\.jparking\.cn/data-report-gateway/...,REJECT-DROP  # 数据上报

[MITM]
hostname = %APPEND% sytgate.jslife.com.cn, etgw.jparking.cn

拦截 JParking(捷停车)和 JSLife(江苏一号通)的广告域名和数据上报接口。由于需要匹配 URL 路径,必须配合 MITM 解密 HTTPS 流量。

lg.sgmodule — VIF 排除路由

[General]
tun-excluded-routes = %INSERT% 239.255.255.250/32, 224.0.0.167/32

将 SSDP(239.255.255.250)和 MDNS 相关(224.0.0.167)的组播地址排除在 Surge 的 TUN 接口之外。这些地址用于局域网设备发现(如 LG ThinQ 智能家电、AirPlay 投屏、LocalSend 文件传输),必须绕过 VPN 隧道才能正常工作。

hide-qbittorrent.sgmodule — 隐藏 BT 流量

通过注入 [Replica] 配置,在 Surge Dashboard 中隐藏 BT 客户端相关的所有请求:

  • 隐藏 BT 客户端 User-Agent(qBittorrent、Transmission、aria2 等)
  • 隐藏 BT 客户端进程名
  • 隐藏 BT 常用端口(6881-6889、9091、51413 等)
  • 隐藏 Tracker 和种子相关域名
  • 隐藏 BT 关键词(torrent、magnet、announce 等)
  • 隐藏种子文件 Content-Type

private.sgmodule — MITM 域名

[MITM]
hostname = %APPEND% *.local, *.socloud.ltd, *.zcode.ltd, *.imagedelivery.net, appevent.cc, *.artbest.pro, *.xet.tech, *.nevercode.net, *.webscraping.ai, *.instagram.com, *.swiftaikit.com

追加需要 HTTPS 解密的域名列表,用于需要 URL 级别规则匹配或内容修改的场景。


八、[Host] DNS 分流

大厂分流 DNS

RULE-SET:.../sukka_local_dns_mapping/alibaba.conf = server:223.5.5.5       # 阿里 → 阿里 DNS
RULE-SET:.../sukka_local_dns_mapping/tencent.conf = server:119.29.29.29    # 腾讯 → DNSPod
RULE-SET:.../sukka_local_dns_mapping/bilibili.conf = server:119.29.29.29   # B站 → DNSPod
RULE-SET:.../sukka_local_dns_mapping/xiaomi.conf = server:119.29.29.29     # 小米 → DNSPod
RULE-SET:.../sukka_local_dns_mapping/bytedance.conf = server:180.184.2.2   # 字节 → 火山 DNS
RULE-SET:.../sukka_local_dns_mapping/baidu.conf = server:180.76.76.76      # 百度 → 百度 DNS
RULE-SET:.../sukka_local_dns_mapping/qihoo360.conf = server:101.198.198.198 # 360 → 360 DNS

为什么要这样做? 国内大厂通常在自家 DNS 上部署了 CDN 调度逻辑。用阿里 DNS 解析阿里域名,能被调度到最近的 CDN 节点,延迟更低、速度更快。用错 DNS 可能被调度到远端节点。

规则集使用 Sukka 维护的 sukka_local_dns_mapping 系列配置,自动匹配各厂域名。

手动 DNS 映射

# 网易系
*.163.com = server:119.29.29.29
*.126.com = server:119.29.29.29
*.126.net = server:119.29.29.29
*.127.net = server:119.29.29.29
*.netease.com = server:119.29.29.29

# 京东
jd.com = server:119.29.29.29
*.jd.com = server:119.29.29.29

Sukka 规则集未覆盖的大厂域名,手动指定 DNS 服务器。网易和京东统一走 DNSPod。

热点登录与局域网

# 热点登录 → 系统 DNS
RULE-SET:.../hotspot_captive_portal.conf = server:system

# 局域网 → 系统 DNS
RULE-SET:.../lan_with_realip.conf = server:system
RULE-SET:.../lan_without_real_ip.conf = server:system
*.m2m = server:system                # M2M 设备
injections.adguard.org = server:system  # AdGuard 本地
local.adguard.org = server:system
*.bogon = server:system               # 保留域名
*.local = server:system               # mDNS 本地域名
*.lan = server:system                 # 路由器管理域名
*.arpa = server:system                # 反向 DNS
  • 热点登录页:酒店/机场 Wi-Fi 的强制门户页面必须用系统 DNS 才能正确弹出
  • 局域网设备:使用 Sukka 的 LAN 映射规则集,将所有内网域名交给系统 DNS(通常是路由器 DHCP 分配的)
  • 特殊域名.local(mDNS)、.lan(路由器)、.arpa(反向解析)等均走系统 DNS

九、[MITM] HTTPS 解密

skip-server-cert-verify = true
h2 = true
hostname-disabled = gateway.icloud.com,gateway.icloud.com.cn,weather-data.apple.com,buy.itunes.apple.com
  • skip-server-cert-verify:跳过服务端证书验证(配合自签 CA 使用)
  • h2 = true:启用 HTTP/2 协议的 MITM,确保现代网站的请求能被正确解密和分析
  • hostname-disabled:列出 不进行 MITM 的域名。iCloud 网关、天气数据、iTunes 购买等敏感服务跳过解密,避免证书绑定(Certificate Pinning)导致连接失败

主配置中还包含 ca-passphraseca-p12(Base64 编码的自签 CA 证书),首次使用需在 iOS/macOS 上信任该证书。

其他模块(如 private.sgmodulejpark.sgmodule)通过 %APPEND% 追加需要解密的域名。


十、模块系统工作原理

%APPEND%%INSERT%

模块中的配置通过指令注入主配置的 任意 字段:

# private.sgmodule — 追加 MITM 域名
[MITM]
hostname = %APPEND% *.local, *.instagram.com, ...

# lg.sgmodule — 插入排除路由到最前面
[General]
tun-excluded-routes = %INSERT% 239.255.255.250/32, 224.0.0.167/32

# hide-qbittorrent.sgmodule — 追加 Replica 隐藏配置
[Replica]
hide-user-agent = %APPEND% *qBittorrent*, *BitTorrent*, ...
  • %APPEND%:追加到主配置对应字段的末尾
  • %INSERT%:插入到主配置对应字段的开头

重要:如果不使用这些指令而直接赋值(hostname = foo.com),会 覆盖 主配置的值,导致其他配置失效。

模块可以注入到 [General][Rule][Host][MITM][Replica] 等任意配置段。

模块加载顺序

在 Surge 中,模块的 [Rule] 会按加载顺序插入到主配置规则之后(除非标记了 pre-matching)。因此:

  1. 广告拦截模块的 pre-matching 规则 → 最高优先级
  2. 主配置 [Rule] 中的规则 → 按配置文件中的顺序
  3. 模块中的非 pre-matching 规则 → 在主配置之后

推荐的模块启用组合

iOS 设备:

  • ad-block.sgmodule — 完整广告拦截
  • custom-rules.sgmodule — 自定义分流
  • private.sgmodule — MITM 域名
  • jpark.sgmodule — 停车 App 广告拦截(如使用捷停车)

macOS 设备:

  • ad-block-lite.sgmodule — 精简广告拦截(或 ad-block.sgmodule 完整版)
  • custom-rules.sgmodule — 自定义分流
  • private.sgmodule — MITM 域名
  • hide-qbittorrent.sgmodule — 隐藏 BT 流量(如使用 BT 客户端)
  • tailscale.sgmodule — Tailscale 设备映射(如使用 Tailscale)
  • lg.sgmodule — 投屏/局域网发现(如使用 LG 智能家电或 LocalSend)

十一、请求的完整生命周期

一个域名请求从进入 Surge 到最终被处理的完整流程:

用户请求 api.anthropic.com
  │
  ├─ skip-proxy 检查 → 不在列表中,继续
  │
  ├─ [Host] DNS 分流 → 无匹配,使用默认 DNS
  │
  ├─ pre-matching 规则(广告模块)→ 不是广告域名,继续
  │
  ├─ [Rule] 主配置规则按顺序匹配:
  │   ├─ 1. 国内直连?→ 不匹配
  │   ├─ 2. AI?→ skk.moe/ai.conf 命中!→ 策略 = AI
  │   └─ (后续规则不再评估)
  │
  ├─ AI 策略组当前选择 → 🇺🇲 US
  │
  ├─ 🇺🇲 US smart 策略 → 自动测速选最快的美国节点
  │
  └─ 通过选中的代理节点发出请求

十二、维护指南

添加新域名到现有策略

直接编辑 private/ 下对应的 .list 文件,push 到 GitHub 即可。Surge 会在下次更新规则集时自动拉取。

添加全新服务策略

  1. [Proxy Group] 中添加新策略组
  2. [Rule] 的对应编号区域添加 RULE-SET(记得带 extended-matching
  3. 如有专用域名列表,创建 private/servicename.list 并在 custom-rules.sgmodule 中引用

添加新的功能模块

  1. module/ 目录下创建 .sgmodule 文件
  2. 使用 #!name=#!desc= 设置模块名称和描述
  3. 使用 %APPEND% / %INSERT% 注入配置,避免覆盖主配置
  4. 在 Surge 中手动启用该模块

外部规则集更新

本配置依赖的外部规则集均通过 CDN URL 引用,由上游维护者更新。Surge 会定期自动刷新。主要来源:

  • Sukka (skk.moe):广告拦截、CDN、AI、国内域名、DNS 分流映射等
  • blackmatrix7:各服务专用规则(Netflix、GitHub、Telegram、Mail 等)
  • AWAvenue:国内广告规则补充