Open hanxi opened 5 years ago
v2ray client的config.json配置可以贴出来学习下吗,我client配不好
我放弃 privoxy 的方法了,直接改用 v2ray 自带的国外ip走代理。
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "error"
},
"inbounds": [
{
"port": 8080,
"listen": "0.0.0.0",
"protocol": "http",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"settings": {
"auth": "noauth",
"udp": false
}
}
],
"outbounds": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "xxx.xxx.com",
"port": 443,
"users": [
{
"id": "xxxx-xxxxxxxxxxxxxxxxx",
"level": 1,
"alterId": 32
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"wsSettings": {
"path": "/ws"
}
}
},
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
}
],
"routing": {
"domainStrategy": "IPOnDemand",
"rules": [
{
"type": "field",
"outboundTag": "direct",
"domain": ["geosite:cn"]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:cn",
"geoip:private"
]
}
]
}
}
1. 什么是透明代理?
百科上这样说的
2. 我想用透明代理实现什么需求?
让家里的设备自动走统一的代理配置,只要在一台机器上配置代理客户端。使用透明代理实现的话,局域网的其他想走自动代理的机器只需要把网关和DNS设置为代理机的ip即可,这一步可以在路由器的DHCP里自动设置。但是我实测失败了,原因可能是我选的方案奇葩,我选的方案是在docker 里面部署代理机,代理客户端选的 v2ray。
用的方案就是这个 https://github.com/lisaac/tproxy-gateway
遇到个 v2ray 的报错没有解决。
其实还有其他方案可以尝试,比如用虚拟机的这套方案 https://github.com/icymind/VRouter
我不想再搞一套虚拟机,因为我的需求只是为了让局域网的机器可以方便的配置自动代理,然后我就换了一种方案。
3. 自动代理 PAC?
局域网的机器如果直接设置代理为 v2ray 客户端的端口 8080,就会全部走代理了。为了不需要在每台机器上都配置 PAC,就需要再加一层代理了,可以用 Privoxy 搭建。
网络结构是这样的:
这样一来,局域网的机器只需要把代理配置为 192.168.2.2:8081 即可。
v2ray server 安装在自己买的 VPS 上,安装方法网上教材很多很多。
v2ray client 和 privoxy 我是安装在 docker 里面。privoxy 的配置用的这个工具 zfl9/gfwlist2privoxy 把 gfwlist 转成
gfwlist.action
配置文件的。写了个脚本转完后重启 privoxy 容器,然后配置 crontab 自动每天做一次。可以参考我的 docker-compose.yml 配置:
PS: 如果想要配置带认证的代理,Privoxy 好像还不支持,可以考虑用 Squid 替代 Privoxy.