使用方式
1. 下载软件
2. 关闭软件设置中的 DNS接管 和 域名嗅探接管

3. 修改软件外部资源中的 GeoIP和GeoSite 的链接 (使用其中一个即可)
- GeoIP-DAT 数据库:
https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat- GeoIP-MMDB 数据库:
https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb- GeoSite 数据库:
https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat- IP-ASN 数据库:
https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/GeoLite2-ASN.mmdb② Geo规则网址1(Loyalsoldier) / Geo规则网址2(Loyalsoldier)
- GeoIP-DAT 数据库:
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip.dat- GeoIP-MMDB 数据库:
无- GeoSite 数据库:
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat- IP-ASN 数据库:
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/GeoLite2-ASN.mmdb4.Mihomo Party的 GeoIP数据模式 选择dat

5.打开内核设置 -> 打开RTT延迟测试 + 打开TCP并发

6.使用surgio+github+Netify
实现自定义管理订阅链接,从而获取到自己整合的订阅链接,然后导入即可
Surgio的使用
7.配置文件的规范说明及编写方式教程
机场配置文件可以手动编写, 也可以从机场导入, 这里使用订阅管理平台导入自己的链接
8.本地规则配置文件
在rule_providers文件夹下,在文件中填写对应域名来管理节点的使用
...
userProxy:
type: file
behavior: classical
path: ./rule_providers/userProxy.yaml
userDirect:
type: file
behavior: classical
path: ./rule_providers/userDirect.yaml
userReject:
type: file
behavior: classical
path: ./rule_providers/userReject.yaml
...本地yaml规则配置文件的书写格式:
案例
payload:
- DOMAIN,voice.telephony.goog
- DOMAIN-SUFFIX,0emm.com
...9.配置Tun + 打开虚拟网卡
...
tun:
enable: true
device: kk
stack: mixed
dns-hijack:
- any:53
auto-route: true
auto-detect-interface: true
...10.系统代理和虚拟网卡只需要开一个就可以了
详细请看下面的 系统代理和虚拟网卡的区别
11. 将配置文件转移到软件目录
① 完全退出软件
② 进入软件的安装目录 (例如 D:\Resources\Sparkle)
③ 在该目录下新建一个文件夹, 命名为 data
④ 将 %USERPROFILE%\AppData\Roaming\sparkle\work 目录下的内容复制到 data 文件夹下, 并删除 work 文件夹
⑤ cmd 输入代码 mklink /J "%USERPROFILE%\AppData\Roaming\sparkle\work" "D:\Resources\Sparkle\data"
⑥ 重新启动软件, 此时所有配置文件、日志、Country.mmdb 等都会保存到 data 文件夹中, 而不是原来的 %USERPROFILE%\AppData\Roaming\sparkle\work
为什么要使用surgio+github+Netify?
1. 使用默认的订阅链接:
优点:
① 方便更新节点内容
② 机场链接直接使用
缺点:
① 规则写的不好,改起来太麻烦
② 机场多的话要来回切换,规则也各不相同
2. 使用覆写:
优点:
① 可以自己写规则文件,文件中只要更改订阅链接即可
② 合并了机场,使用了同样一个规则文件
缺点:
① 无法手动更新节点内容
② 手机上修改覆写中的规则太麻烦
③ 覆写使用的订阅链接只能是Clash的
3. 使用surgio生成的本地文件:
优点:
① 合并了机场,使用了同一个规则文件
② 能根据模板自动生成手机版和电脑版的规则文件
③ 能够使用V2ray类型的订阅链接生成订阅文件
缺点:
① 更新节点内容需要手动执行代码
② 只能在电脑上生成规则文件,修改规则模板和配置内容
4. 使用surgio+github+Netify获取到自己的订阅链接:
优点:
① 生成订阅链接,方便电脑和手机使用
② 设置了CICD每天节点内容都会在Netify上自动更新
③ 合并了机场,使用了同样一个规则文件
④ 能够使用V2ray类型的订阅链接生成订阅内容
缺点:
① 修改规则模板和配置内容,需要在电脑上修改,然后提交到github
② 部署流程复杂繁琐
流量传输流程:
打开Mihomo
① 只要开启代理,无论是直连还是代理
② 都会通过DNS解析服务来分析流量
③ 首先会通过nameserver-policy中的域名来进行解析
④ 首先会通过指定域名查询解析服务来进行解析,然后会通过geosite
⑤ 最后如果都解析不到那么会通过nameserver中的默认域名解析服务器来进行解析
没有打开Mihomo
① 系统直连
② 自动匹配推流规则
系统代理和虚拟网卡的区别?
系统代理
代理程序会在系统”约定”的特定位置(如注册表,系统变量等) 设置好代理程序监听请求的端口信息,进行网络请求的应用会自发性地尝试读取这部分信息,并将请求发送至代理程序. 不同操作系统的”约定”方式各异
系统代理更像是一种行业内的”约定”,并非所有程序都遵守这种非强制性的”约定”,最终采取哪种方式发生请求往往取决于开发人员的意愿
特点:
① 具有自发性,网络请求程序尝试使用”约定”配置或使用网络请求程序里额外指定的配置
② 不能代理UDP流量(如游戏数据包)
虚拟网卡(Tun模式)
代理程序会创建一张虚拟网卡,通过配置操作系统的路由将网络请求重定向到这张虚拟网卡,代理程序从虚拟网卡中读取并处理这些网络请求
与系统代理不同的是,该步骤发生在网络请求程序发出请求之后,因此这种方法不依赖开发人员的意愿
特点:
① 拦截和处理所有流量(TCP/UDP)重定向到本地的代理程序
② 网络请求程序无需额外配置
覆写使用方法
使用说明
仅在订阅链接不稳定,订阅链接频繁更换的情况下使用,这样可以将节点服务器保存到本地,从而不用频繁的去修改重构订阅平台了
使用时可以不订阅任何机场,已经选定了机场也没有关系,但覆写中也写入了这个机场那么会在列表中重复出现节点
覆写的模板尽量和surgio中的模板一致,仅将proxies:部分替换为覆写内容即可
只有在第一次获取链接的时候才会将文件保存到本地,之后更改链接也不会修改文件里的内容,需要先将原先保存的文件删除,才能能够重新拉取并保存新的订阅文件
文件保存目录在 .\data 或 %USERPROFILE%\AppData\Roaming\sparkle\work
覆写教程
关键部分
...
Balance: &Balance {type: load-balance, url: 'https://www.gstatic.com/generate_204', interval: 300, disable-udp: false, hidden: true, include-all: true}
# 覆写内容
Proxy_Config: &Proxy_Config {type: http, interval: 86400, health-check: {enable: true,url: "https://www.gstatic.com/generate_204", interval: 300}}
proxy-providers:
Jichang1: # 机场名称1
url: "" # 机场订阅链接1
<<: *Proxy_Config
override:
additional-prefix: "[Jichang1]" # 添加前缀,更好辨认
path: ./proxy_providers/Jichang1.yaml # 将机场1的节点信息保存到本地文件内
Jichang2: # 机场名称2
url: "" # 机场订阅链接2
<<: *Proxy_Config
override:
additional-prefix: "[Jichang2]" # 添加前缀,更好辨认
path: ./proxy_providers/Jichang2.yaml # 将机场2的节点信息保存到本地文件内
# 策略组
proxy-groups:
...分流规则的使用说明
匹配原则
从上到下顺序匹配
第一条匹配的规则生效
后续规则不再检查精确匹配优先
DOMAIN > DOMAIN-SUFFIX > DOMAIN-KEYWORD特殊规则在前
具体规则 → 通用规则 → 兜底规则性能考虑
常用规则放前面
复杂规则放后面
规则类型概览
| 规则类型 | 说明 | 示例 |
|---|---|---|
| DOMAIN | 完整域名匹配 | DOMAIN,www.google.com,🚀代理 |
| DOMAIN-SUFFIX | 域名后缀匹配 | DOMAIN-SUFFIX,google.com,🚀代理 |
| DOMAIN-KEYWORD | 域名关键词 | DOMAIN-KEYWORD,google,🚀代理 |
| IP-CIDR | IP地址段 | IP-CIDR,192.168.0.0/16,DIRECT |
| IP-CIDR6 | IPv6地址段 | IP-CIDR6,2001:db8::/32,DIRECT |
| GEOIP | 地理位置 | GEOIP,CN,DIRECT |
| SRC-IP-CIDR | 源IP地址 | SRC-IP-CIDR,192.168.1.0/24,DIRECT |
| SRC-PORT | 源端口 | SRC-PORT,7777,DIRECT |
| DST-PORT | 目标端口 | DST-PORT,80,DIRECT |
| PROCESS-NAME | 进程名称 | PROCESS-NAME,chrome.exe,🚀代理 |
| RULE-SET | 规则集 | RULE-SET,google,🚀代理 |
| MATCH | 兜底规则 | MATCH,🚀代理 |
GEOIP的作用
IP地址:123.56.78.90
↓ 查询GeoIP数据库
国家:CN(中国)
↓ 应用规则
策略:DIRECT(直连)语法: GEOIP,国家代码,策略,no-resolve

