为什么需要透明代理?
科学上网工具(Clash、V2Ray 等)需要每台设备单独配置,手机、电视、IoT 设备不方便装软件。mihomo(原 Clash Meta) 作为透明代理网关,让全网设备自动走代理,无需单独配置。
实际效果:
- ✅ 全网设备自动科学上网
- ✅ 手机/电视/IoT 无需装软件
- ✅ 智能分流(国内直连、国外代理)
- ✅ 路由器 DNS 指向即可生效
- ✅ RESTful API 管理
技术架构
|
|
部署步骤
第一步:创建项目目录
|
|
第二步:编写 docker-compose.yml
|
|
第三步:准备配置文件
在 ./config/ 目录下创建 config.yaml:
|
|
第四步:启动容器
|
|
第五步:验证服务
|
|
客户端配置
方案一:系统代理(每台设备)
在设备的网络设置中配置代理:
- HTTP 代理:
http://NAS-IP:7890 - SOCKS5 代理:
socks5://NAS-IP:7891
方案二:路由器透明代理(全网)
- 在路由器中设置 DNS 为 mihomo 所在设备 IP
- 配置 iptables 规则(需要 OpenWrt 等第三方固件)
- 或使用 mihomo 的 TProxy 模式
方案三:WiFi 代理(手机)
手机 WiFi 设置中配置代理:
- 服务器:NAS IP
- 端口:7890
- 类型:HTTP
订阅管理
自动更新订阅
在配置中添加订阅源:
|
|
手动更新
|
|
API 管理
mihomo 提供 RESTful API:
|
|
Web 管理面板
访问 http://NAS-IP:9090/ui 可以使用 Web 管理界面,或使用第三方面板:
- Yacd:
http://yacd.haishan.me - Metacubexd:
http://metacubexd.pages.dev
连接地址填:http://NAS-IP:9090
分流规则详解
规则类型
| 类型 | 说明 | 示例 |
|---|---|---|
| DOMAIN | 精确域名 | DOMAIN,google.com,Proxy |
| DOMAIN-SUFFIX | 域名后缀 | DOMAIN-SUFFIX,google.com,Proxy |
| DOMAIN-KEYWORD | 域名关键词 | DOMAIN-KEYWORD,google,Proxy |
| IP-CIDR | IP 段 | IP-CIDR,8.8.8.8/32,Proxy |
| GEOIP | GeoIP 数据库 | GEOIP,CN,DIRECT |
| MATCH | 兜底规则 | MATCH,Proxy |
常用规则集
|
|
性能优化
开启 TCP Fast Open
|
|
调整并发连接数
|
|
使用 Sniffer 嗅探
|
|
坑
⚠️ OrbStack 代理注入:OrbStack 会注入 http_proxy=http://127.0.0.1:7897,必须在 compose 中显式清空代理环境变量,否则容器内网络异常。
⚠️ 端口冲突:如果 Mac 上有其他代理软件(如 ClashX),会占用 7890 端口,需要先关闭或改端口。
⚠️ 配置文件格式:YAML 对缩进敏感,必须用空格,不能用 Tab。
⚠️ 订阅更新:机场订阅链接有时效性,过期后需要重新获取。
验证
|
|
