Android 同时代理与回家
问题在于Android允许至多1个虚拟网卡被激活。
解决问题的核心是利用代理应用成熟的流量路由功能,路由流量到专门回家的节点。
原生节点
- 部署任意的代理节点在家中
- 内网穿透。测试可行。
- 撰写代理的节点源文件,如Clash的代理提供者文件
- 在代理的主配置加入此节点源,路由规则
Clash 代理提供者
yaml
proxies:
- {name: 🇨🇳 Reality, type: vless, server: example.com, port: 1234, reality-opts: {public-key: xxx}, client-fingerprint: chrome, uuid: xxx, tls: true, tfo: false, flow: xtls-rprx-vision, skip-cert-verify: false, servername: example.com, network: tcp}
- { name: 🇨🇳 Hysteria, type: hysteria2, server: example.com, port: 5678, ports: 12300-12600, udp: true, skip-cert-verify: true, sni: example.com, password: xxx, up: 50, down: 100, lazy: false }
- {name: 🇨🇳 主路由 WG, type: wireguard, server: example.com, port: 2233, ip: 192.168.9.10, public-key: xxx, private-key: xxx, udp: false, health-check: false }
- {name: "🇨🇳 SSH", type: ssh, server: example.com, port: 22, username: xxx, password: xxx }Clash 配置文件
yaml
proxy-providers:
回家_node:
type: http
url: "https://file.example.com/path/to/home-node.yml"
health-check:
url: &test-url http://192.168.7.1:9090/version
proxy-groups:
- name: 🔰 节点选择
type: select
proxies:
- 回家
- name: 回家
type: select
proxies:
- DIRECT
use:
- 回家_node
url: *test-url
rules:
- IP-CIDR,192.168.7.0/24,回家,no-resolve
- ...EasyTier
- 对Androidd EasyTier 的配置做如下修改。
这将实现ET提供一个Socks入口,允许Clash路由回家的流量到ET; 不再激活ET自身的虚拟网卡。
toml
socks5_proxy = "socks5://0.0.0.0:11014"
[flags]
no_tun = true- 添加代理节点到节点源中
yaml
proxies:
- {name: "🇨🇳 EasyTier", type: socks5, server: 127.0.0.1, port: 11014, udp: true}Root
以下是基于 root 的代理模块的流行项目,基于项目活跃度排序。
一旦 Root, 便可不受Android的虚拟网卡上限为1的限制。甚至可利用 root 权限实现透明代理(Transparent Proxy)
Surfing (GitMetaio/Surfing)
- 描述:一个专注于简化 Clash/mihomo 服务的 Magisk/KernelSU/APatch 模块,支持透明代理模式(REDIRECT、TPROXY、TUN 和混合模式)。它以 Clash.Meta 为核心,提供自动订阅更新、应用黑/白名单、LAN 共享和 Web 面板管理。适合初学者快速部署系统级代理。
- 要求:Android 8+(推荐 10+),需 root 和 Magisk 等框架;支持 SurfingTile 应用(需 root)控制服务。
- 流行度:1.9k stars, 129 forks
- 仓库:https://github.com/GitMetaio/Surfing
Box for Magisk (Box for Root / BFR)
- 描述:一个多工具代理模块,支持 Clash、sing-box、v2ray、hysteria 和 xray 等核心,实现 root 下的透明代理。Clash 模式下可配置订阅、规则和代理组,支持网络服务控制和可选的 BFR Manager 应用管理。
- 要求:root 权限,兼容 Magisk/KernelSU/APatch;配置通过 /data/adb/box/settings.ini 文件。
- 流行度:2.3k stars, 234 forks
- 仓库:https://github.com/taamarin/box_for_magisk
Box4Magisk
- 描述:一个部署多代理核心的模块,包括 Clash/mihomo,支持透明代理模式(REDIRECT、TPROXY、TUN 和混合)。可按接口(WiFi、热点)、应用或 GID 过滤流量,支持 DNS 劫持、中国 IP 绕过和日志记录。Clash 模式下通过 bin_name=clash 配置核心。
- 要求:root 权限,需手动下载核心二进制文件放置于 /data/adb/box/bin/;内核需支持相关网络模块。
- 流行度:1.7k stars, 268 forks
- 仓库:https://github.com/CHIZI-0618/box4magisk
Clash Meta For Android
- 描述:Clash.Meta 的 Android GUI 客户端。虽然不严格要求 root,但可在 root 设备上结合上述模块(如 Surfing)增强功能,例如系统级流量路由、热点共享和 VPN 热点应用。本身提供 TUN 模式代理,支持多种协议和规则配置。
- 要求:Android 5.0+(推荐 7.0+),多架构支持;root 可选,用于高级功能。
- 流行度:35.3k stars, 2.3k forks(整体 Clash Android 项目中最流行)。
- 仓库:https://github.com/MetaCubeX/ClashMetaForAndroid
WireGuard for Android
- 描述:官方的 WireGuard Android 客户端。在拥有 root 权限且设备内核支持的情况下,它可以切换为内核模块(Kernel Module)模式。该模式会直接在 Linux 底层网络栈建立
wg0等原生虚拟卡,不再占用 Android 系统的 VpnService 接口。这意味着你可以同时运行代理客户端(如 Clash 占用 VpnService)和 WireGuard(走内核网卡直连回家庭内网),实现两者的完美共存。 - 要求:root 权限;Android 设备内核必须支持 WireGuard(Linux 内核 5.6+ 原生自带,或通过刷入自定义内核/内核模块获得支持)。若内核不支持,即使设备已 root,也只能回退使用 VpnService 式。
- 流行度:1.4k stars, 505 forks
- 仓库:https://github.com/WireGuard/wireguard-android
注意事项
- 安装方法:这些项目需 root 设备,使用 Magisk Manager 等安装 ZIP 模块。
- 基于 root:root 允许透明代理绕过应用级限制,实现全系统流量控制,而非仅 VPN 模式。
搜索时间:2026/03/14