v2ray官方文档给出了几个mac上的第三方客户端,使用过一段时间,也没有太大问题。不过鉴于别人维护的版本不一定及时更新,于是就自己动手基于v2ray-core打造适合自己的工具,可以随着官方版本更新,使用起来更灵活。注意:不是客户端哦,是工具,或者说一些脚本。个人使用,有兴趣的同学也可以拿来玩玩。
新增了另外一种更灵活的配置方案:v2ray-mac-doh
几个需求
下面是个人使用时感觉比较实用的几点。
开机自启
mac上不能像linux那样很方便的以service的形式实现自启动,这里采用了比较简单的方式,利用crontab的@reboot来达到自动启动的效果,虽然apple官方并不建议这样,但是个人感觉配置launchd略显繁琐,所以还是crontab这种比较适合。
打开系统自带终端,这点很关键,使用其他第三方的终端需要在系统偏好设置->安全性与隐私->隐私->完全磁盘访问权限赋予权限,系统自带终端无感,执行
crontab -e
增加一行,注意替换为你自己的path
@reboot /==YOUR PATH==/start.sh
保存退出即可,启动后ps下看不到v2ray进程,活动监视器可以看到,stop脚本可以正常关闭代理。
全局代理
由于最新版的mac自动代理不支持file文件的形式,所以pac文件需要以web形式提供,这里使用python来启动一个简单的http服务提供pac文件供系统使用。
如果不是wifi上网,可以自行修改。
过滤广告
v2ray强大的地方就是代理及过滤一步到位,此处使用自建的site.dat文件来达到此效果。
停止v2ray
为了方便更新配置啊等等,增加了一个stop脚本,可以无痛关闭v2ray代理。
from https://github.com/felix-fly/v2ray-mac
----
v2ray-mac-doh
此方案是在v2ray-mac基础上改进而来的,加入了dnsmasq及doh,将任务进行拆分,dnsmasq处理解析及广告屏蔽,doh预防污染,v2ray只处理流量转送。
安装及配置dnsmasq
brew install dnsmasq
vi /usr/local/etc/dnsmasq.conf
port=53
server=ISP_DNS
listen-address=0.0.0.0
no-resolv
conf-dir=/path-to-dnsmasq-config/,*.hosts
cache-size=1000
修改ISP_DNS为当地DNS或者其他公共DNS地址,修改conf-dir指向ad.hosts和gw.hosts文件所在目录
brew services restart dnsmasq
doh配置
mac上可以通过安装cloudflared来实现doh client的功能
curl https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-darwin-amd64.tgz | tar xzC /usr/local/bin
mkdir -p /usr/local/etc/cloudflared
cat << EOF > /usr/local/etc/cloudflared/config.yml
proxy-dns: true
proxy-dns-port: 1053
proxy-dns-upstream:
- https://1.1.1.1/dns-query
EOF
此处1.1.1.1为上级dns地址,可以使用红鱼提供的,替换即可
- 东亚: ea-dns.rubyfish.cn
- 美国西部: uw-dns.rubyfish.cn 建议使用自建的,和v2ray同server可以享受到cdn加速的效果
sudo cloudflared service install
测试下解析是否正确
dig +short @127.0.0.1 cloudflare.com AAAA 2400:cb00:2048:1::c629:d6a2 2400:cb00:2048:1::c629:d7a2
正确的话就可以启动v2ray了
./start.sh
配置v2ray开机自启动可以参考v2ray-mac,不再重复。
from https://github.com/felix-fly/v2ray-mac-doh
No comments:
Post a Comment