AnXray 是由“世界”(nekohasekai)开发的一款兼容 Shadowsocks,ShadowsocksR,Xray 等协议的 Android 端代理工具,具有兼容性强,省电等特点,为此,如何在 7x24 环境下同时使用 AnXray 和 AdGuard 过滤广告就是本文要说明的内容。
声明:本人使用 Nekohasekai 开发的 AnXray,并不代表本人已经认同或者接受其任何在政治、性别或者是开源自由软件等话题上的一切观点。
环境
手机: Google Pixel 3 日版
系统: Android Pie(9) 已解锁 Bootloader 并刷入 Magisk
软件: AdGuard for Android + AnXray 0.4 RC06
配置 AnXray
首先,在 AnXray 里,【设置->运行模式】,改为“仅代理”。
接着向下滑动,记住“入站设置”部分的“SOCKS5 代理端口”和“本地 DNS 端口”的值。
这样, AnXray 的配置操作就完成了。
安装 Magisk 模块
Android 7版本及以上的系统,不再信任用户级的证书,只信任系统级的证书。如果您需要录制App的HTTPS请求,需要App开启网络安全配置,让App信任用户级的证书。
AdGuard 的 HTTPS 过滤功能同样需要安装用户证书,为此,你需要某种手段才能将用户级的证书转换为系统级的证书。
在 Magisk 模块仓库里找到 Move Certificates 模块,安装并重启。
设置 AdGuard
先在【设置 - 高级 - 低级设置】里找到pref.excluded.packages
这一项,拉到最后,添加io.nekohasekai.anXray
,也就是 AnXray 的包名。
然后回到设置,在【网络 - HTTPS 过滤】中安装证书(可能你在第一次打开 AdGuard for Android 的时候已经安装过了),如果 Move Certificates 模块工作正常的话,你就可以在系统的【安全性与位置信息 - 隐私设置 - 加密与凭据 - 信任的凭据】(不同的手机品牌和不同的系统进入方法不一样)中看到 AdGuard Personal CA 了。
接着,我们需要在 AdGuard 中添加 AnXray 的本地代理和 AnXray 的 DNS 代理(可选)。
回到 AdGuard,在【设置 - 网络 - 代理设置】中添加 AnXray 的代理,服务器就是手机自身,因此填 127.0.0.1 就可以了,端口请参考前几步在 AnXray 设置中见到的端口,添加完就可以打开代理了。
你还可以在设置的【DNS 过滤 - 选择 DNS 服务器】中添加 AnXray 代理的本地 DNS 服务器。
接着,只要回到 AdGuard 的主页,打开保护,AnXray 和 AdGuard 都应该可以正常工作了。
疑难解答
- 为什么我打不开 Play 商店/YouTube/打开一些网站提示证书有问题?
请检查加密与凭据中的用户凭据里能不能看得到 AdGuard 的证书,如果有的话请删掉这个证书,否则 Android 会默认使用用户证书,导致 HTTPS 不受信任。
(待补充)
参考
[1] 不必二选一!AdGuard 去除广告与 Clash 网络代理同时进行
[2] AdGuard常见问题Q&A
本文遵循 CC BY-SA-NC 4.0 协议,严禁转载至任何墙内平台,转载和引用请务必注明出处。