【教程】从零做一个 Edge 机场分流扩展:轻松访问Google / YouTube

【教程】从零做一个 Edge 机场分流扩展:轻松访问Google / YouTube

时间煮雨-Master
2026-10-12 / 0 评论 / 8 阅读 / 正在检测是否收录...

Edge 机场分流扩展 · 使用教程

让浏览器按规则分流:访问 Google / YouTube 走机场节点,访问百度 / B站走直连。

不需要启动 Clash Verge、v2rayN 等客户端界面,代理在后台静默运行,开机自启。


一、效果预览

配置完成后:

访问走向
google.com、youtube.com、github.com 等机场节点
baidu.com、bilibili.com、taobao.com直连(不消耗流量)
你没添加过的任意网站直连
内网地址(192.168.x.x / 10.x.x.x / localhost)直连

二、文件说明

整个方案是两层:浏览器扩展负责「哪些网站走代理」,本地内核负责「真正的连接加密」。

airport-proxy-router/
│
├─ manifest.json            扩展清单(Edge 加载时读取)
├─ autostart.vbs            开机自启入口(静默,无窗口)
├─ start.bat                手动启动代理
├─ stop.bat                 手动停止代理
├─ README.md                简要说明
│
├─ src/                     【扩展本体】
│   ├─ background.js          后台:拉订阅、生成 PAC、下发代理设置
│   ├─ options.html / .js     设置页(配置出口、订阅、分流规则)
│   ├─ popup.html / .js       工具栏弹窗(开关、切换节点)
│   ├─ ui.css                 样式
│   └─ lib/
│       ├─ storage.js         配置读写
│       ├─ subscription.js    订阅拉取(自动处理客户端识别)
│       ├─ parser.js          订阅解析(Clash YAML / base64 / sing-box)
│       ├─ rules.js           分流决策
│       ├─ matcher.js         规则匹配
│       └─ outbound.js        本地代理端口探测
│
├─ tools/                   【本地代理】
│   ├─ gen-config.mjs         订阅 → 内核配置
│   ├─ start-proxy.ps1        启动内核(后台运行)
│   ├─ stop-proxy.ps1         停止内核
│   └─ runtime/               运行数据(约 28MB)
│       ├─ config.yaml          内核配置(订阅内容)
│       ├─ geoip.metadb         地理数据库(分流用)
│       ├─ geosite.dat         域名数据库(分流用)
│       ├─ geoip.dat           地理数据库
│       └─ mihomo.log           运行日志(排查问题看这里)
│
├─ icons/                   扩展图标
└─ test/                    回归测试(105 项,普通使用可忽略)

你需要关心的只有 3 个文件:

文件用途
start.bat双击启动代理
stop.bat双击停止代理
扩展目录本身加载到 Edge

三、准备工作

3.1 检查 mihomo 内核

需要一个 mihomo.exe(Clash Meta 内核)。
如果你装过 v2rayN / Clash Verge 之类的客户端,它通常自带,位置例如:

F:\v2rayN-windows-64-SelfContained\bin\mihomo\mihomo-windows-amd64-compatible.exe
C:\Users\<你>\AppData\Local\Programs\clash-verge\resources\mihomo.exe
如果路径和上面不同:打开 tools\start-proxy.ps1,改文件开头的 $Mihomo 参数即可。

没有内核的话,去 mihomo 的 GitHub Releases 下载 mihomo-windows-amd64 即可。

3.2 检查 Node.js

生成配置需要 Node.js(18 以上):

node -v
# 输出 v18.x.x 或更高即可

四、安装步骤

第 1 步:拉订阅并启动代理

把整个 airport-proxy-router 文件夹放好(建议放纯英文路径,例如 D:\edge-ext\)。

然后打开命令行,执行:

cd /d D:\edge-ext\airport-proxy-router\tools

# 把 <订阅链接> 换成你自己的机场订阅地址
start-proxy.ps1 -SubUrl "https://你的机场/api/v1/client/subscribe?token=xxxx"

提示:如果提示「禁止运行脚本」,改用:

powershell -ExecutionPolicy Bypass -File .\start-proxy.ps1 -SubUrl "你的订阅链接"

正常输出:

拉取订阅中...
  UA=clash-verge/v1.5.11 -> 70 个节点,其中 68 个真实
已生成 config.yaml
  节点数: 70
  本地端口: 7890
启动 mihomo(后台运行,无窗口)...
代理已就绪
  本地端口  127.0.0.1:7890  (SOCKS5 + HTTP 混合)
  控制接口  127.0.0.1:9090
  进程 PID  12345

测试节点连通性...
  Google 连通性: 204 OK

看到 204 OK 就说明代理通了。

以后启动(已经生成过配置)直接双击 start.bat 就行,不用带参数。

第 2 步:设置开机自启

让代理在你登录后自动在后台启动,无需任何操作。

打开 PowerShell,执行(复制整段):

$startup = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup"
$ws = New-Object -ComObject WScript.Shell
$sc = $ws.CreateShortcut("$startup\AirportProxy.lnk")
$sc.TargetPath = 'wscript.exe'
$sc.Arguments = '"D:\edge-ext\airport-proxy-router\autostart.vbs"'
$sc.WorkingDirectory = 'D:\edge-ext\airport-proxy-router'
$sc.WindowStyle = 7
$sc.Save()
Write-Host '开机自启已设置'
路径要和你的实际位置一致。用 autostart.vbs 而不是直接指向脚本,是为了完全静默,不会弹黑框。

验证:按 Win+R 输入 shell:startup,应该能看到 AirportProxy.lnk。

取消自启:把那个快捷方式删掉即可。

第 3 步:加载浏览器扩展

  1. 打开 Edge,地址栏输入 edge://extensions/
  2. 打开左下角「开发人员模式」开关
  3. 点「加载解压缩的扩展」
  4. 选择 airport-proxy-router 文件夹
  5. 扩展出现在列表中,确认没有「错误」标记
Chrome 用户:地址改成 chrome://extensions/,步骤一样。

第 4 步:配置扩展

点扩展图标 → 「高级设置」,按下面设置:

① 代理出口

项值
出站地址127.0.0.1
端口7890
类型SOCKS5

点「自动探测本机代理端口」会自动填好。然后点「保存并应用」。

② 订阅节点

如果第 1 步已经拉过订阅,这里会显示节点列表;否则在这里粘贴订阅链接,点「添加并更新」。

③ 分流模式

选「智能分流」(默认,推荐)。

模式行为
智能分流国外站点走代理,国内站点和未匹配的走直连
仅规则只有你自己写的规则走代理,其余全部直连
全局所有站点都走代理

④ 保存

点「保存并应用」,状态栏应显示:

分流已生效 · 出口 SOCKS5 127.0.0.1:7890

五、验证是否成功

方法 1:直接访问

打开 https://www.google.com,能正常显示就成功了。

方法 2:命令行验证

# 走代理访问 Google(应返回 204)
curl.exe -s -x socks5h://127.0.0.1:7890 -o NUL -w "%{http_code}" https://www.google.com/generate_204

# 走代理访问百度(应返回 200)
curl.exe -s -x socks5h://127.0.0.1:7890 -o NUL -w "%{http_code}" https://www.baidu.com/

方法 3:看日志

Get-Content D:\edge-ext\airport-proxy-router\tools\runtime\mihomo.log -Tail 20

正常的话能看到浏览器进程名(msedge.exe):

level=info msg="[TCP] 127.0.0.1:57932(msedge.exe) --> www.google.com:443 match DomainKeyword(google) using 节点选择[新加坡01]"
level=info msg="[TCP] 127.0.0.1:57934(msedge.exe) --> www.gstatic.com:443 match DomainSuffix(gstatic.com) using 节点选择[新加坡01]"
level=info msg="[TCP] 127.0.0.1:57940(msedge.exe) --> www.baidu.com:443 match DomainSuffix(baidu.com) using DIRECT"

最后一行 DIRECT 说明百度走了直连 —— 分流正常工作。


六、日常使用

操作方法
启动电脑后自动运行,无需操作
临时关闭分流点扩展图标 → 关闭「启用代理分流」开关
完全停止代理双击 stop.bat
手动启动代理双击 start.bat
更新节点扩展设置页 → 订阅行 → 点「更新」
切换出口节点扩展弹窗 → 选择节点(需在内核侧配置)

自定义分流规则

设置页 → 「分流模式」下方 → 「自定义规则」:

想做的事填法
让某网站走代理匹配 *.example.com,动作选「走代理」
让某网站永远直连匹配 *.example.com,动作选「直连」

还支持这些写法:

*.example.com              该域名及其所有子域
example.com                只匹配这个域名
https://site.com/api/*     只匹配该路径下的请求

「强制直连域名」里可以加内网域名,例如 *.corp.internal。


七、常见问题

浏览器打不开 Google

按顺序检查:

① 代理本身通不通

curl.exe -s -x socks5h://127.0.0.1:7890 -o NUL -w "%{http_code}" https://www.google.com/generate_204
  • 返回 204 → 代理正常,问题在扩展(继续 ②)
  • 返回 000 → 代理本身不通(跳到 ④)

② 扩展设置对不对

设置页确认:出口端口是 7890、类型 SOCKS5、模式「智能分流」、开关已打开。

③ 扩展是否真的在控制代理

设置页按 F12 打开控制台,粘贴:

chrome.proxy.settings.get({}).then(p => console.log(p.levelOfControl, p.value.mode))

应该输出 controlled_by_this_extension pac_script。

如果是 system,说明被其他代理扩展抢占了 —— 关掉 ZeroOmega / SwitchyOmega 之类的扩展。

④ 代理不通怎么办

看日志:

Get-Content D:\edge-ext\airport-proxy-router\tools\runtime\mihomo.log -Tail 30
日志里出现原因处理
failed to get the second response节点不通换个节点重试
全是 error 没有 using节点全挂更新订阅
空文件内核没启动双击 start.bat 重新启动

订阅更新失败

设置页会显示错误信息。常见原因:

提示原因
HTTP 404 / HTTP 403订阅链接失效或流量用尽
所有客户端标识都未取到真实节点机场限制了客户端类型
长时间无响应订阅域名被墙

打开百度变慢了

说明百度也在走代理。检查分流模式是否为「智能分流」,以及有没有误加规则。

关掉命令行窗口后代理还在吗

在的。 代理是独立后台进程,与窗口无关。

只有这几种情况会停止:重启电脑(自启会自动拉起)、手动双击 stop.bat、任务管理器结束 mihomo 进程。

怎么彻底卸载

  1. 删除启动文件夹里的 AirportProxy.lnk
  2. 双击 stop.bat 停止代理
  3. edge://extensions/ 里删除扩展
  4. 删除 airport-proxy-router 文件夹

八、进阶:换机场 / 换节点

换机场订阅

重新执行一次带 -SubUrl 的命令即可覆盖配置:

cd /d D:\edge-ext\airport-proxy-router\tools
start-proxy.ps1 -SubUrl "新的订阅链接"

指定使用某个节点

编辑 tools\runtime\config.yaml,找到 proxy-groups 里的 🚀 节点选择,
把 proxies 列表顺序调整为你想优先用的节点,然后重启代理。

或者打开 http://127.0.0.1:9090(内核的 Web 控制面板地址)在界面里切换。


九、命令速查

# 启动代理(首次需带订阅链接)
cd /d D:\edge-ext\airport-proxy-router\tools
start-proxy.ps1 -SubUrl "订阅链接"

# 之后启动
start-proxy.ps1

# 停止
stop-proxy.ps1

# 查看运行状态
curl.exe -s http://127.0.0.1:9090/version

# 查看日志
Get-Content .\runtime\mihomo.log -Tail 30

# 测试代理连通性
curl.exe -s -x socks5h://127.0.0.1:7890 -o NUL -w "%{http_code}" https://www.google.com/generate_204

十、运行要求

项要求
系统Windows 10 / 11
浏览器Edge 或 Chrome(Chromium 116+)
Node.js18 以上(仅生成配置时用,不常驻)
代理内核mihomo(约 30MB)
磁盘占用约 30MB(主要是 geo 数据库)
内存占用约 50–100MB(内核运行时)

十一、项目文件(蓝奏云盘,提示需要会员,请把浏览器改成电脑模式)

本教程基于 Edge 154 / Node 24 实测。

0

评论 (0)

取消