之前用 smartdns+ssrp 来解决,后来发现过于复杂。
简单的方法 还是用 openclash 或者 passwall2。但是openclash 规则设置过于繁琐。所以我这里简单的用passwall2 来实现。
本文停止更新,新文章优化解决方案:
passwall2 方案简单容易且靠谱
https://dev.leiyanhui.com/openwrt/passwall2
ssrp+smartdns 略微麻烦
https://dev.leiyanhui.com/openwrt/ssr_doh
openclash 自由 强大
https://dev.leiyanhui.com/openwrt/openclash
如果可以接受openclash的繁琐,还是建议openclash,自由,强大 :
本文基于 passwall2
实现目标
1、国内不走代理,dns走doh到阿里云,境外ip全部走代理,doh用cloudflare 2、可以指定部分域名走 或者 不走 代理
配置passwall2
可能需要卸载smartdns,然后安装luci-app-passwall2
关闭其他代理工具。
节点订阅 配置好,以及自动更新 订阅 启动切换 等等
配置代理环境
基本配置 mian 这个地方 Node 选分流总节点
其他看情况自己配置,他自带了一个Direct规则,内置的国内dns 还有常用的苹果 微软等规则。这个选直连,其他的看自己需求 包括奈飞 和去广告 还有国内那个 china等等。
最关键的是 下面那个 其他或者叫做* 默认 这行是配置好首选节点
这就完成了 基本的上网环境
全局doh配置
基本设置,dns直连dns,选doh选阿里云。远程 DNS 协议 同样设置 选cf。
完毕
自定义两个规则
passwall2 自带的规则 基本上可以满足日常使用。不需要额外定制。但是有一些特殊的情况。
强制走代理的域名
新建以规则名称my_proxy
拖到 最前面,编辑内容。
域名这个地方,有说明,我这里 以本站为例,输入下面两行任意一行都是可以的
|
|
返回,基本设置,给 my_proxy 配置一个线路
强制不走代理的域名
新建以规则名称my_direct
拖到 最前面my_proxy
之前,编辑内容。
|
|
返回,基本设置,给 my_direct 设置为直连
测试
可能需要重启浏览器 或者清理本机缓存,打开 test-ipv6.com 查看自己的ip 不在是梯子的ip, 还有:http://checkipv6.dyndns.com http://checkip.dyndns.com/
ping dev.leiyanhui.com 也应该返回国外的ip段(gitbub.io),用国内在线ping 工具返回国内ip(阿里云) 打开网站查看 dev.leiyanhui.com 查看证书是le的 也就是强制走了代理。国内的是亚洲诚信的证书
进阶ip直连
直连doh的ip,可以查看之前的文章 末尾 https://dev.leiyanhui.com/openwrt/ssr_doh
配合smartdns
smartdns 支持预更新dns等功能 支持ttl缓存等等 如果性能够用可能会舒服一些更方便一些。
如果需要,可以另外搭建smartdns 到docker,这里设置为smartdns的地址即可。