通过KoolProxy的透明代理去广告,支持HTTPS。
如果想要实现透明代理去广告的功能,需要通过VPN进行接入,支持OpenVPN(公网),PPTP(内网)两种VPN进行接入。支持过滤规则的自动更新(Koolproxy自带的功能)
OpenVPN服务端配置文件位置:/etc/openvpn/server.conf OpenVPN客户端.ovpn文件位置:/root PPTP服务端配置文件:/etc/pptpd.conf PPTP用户名密码文件:/etc/ppp/chap-secrets KoolProxy CA证书位置: /usr/bin/koolproxy/data/certs 证书下载:连接VPN后浏览器访问110.110.110.110即可下载
HTTPS的CA证书位置:/usr/bin/koolproxy/data/certs/ca.crt 开启HTTPS的话需要安装到系统中或者浏览器里
启动VPN服务端
OpenVPN协议:
OpenVPN需开放7000 UDP端口,适用于远程、公网、国内服务器、云等等。 客户端的.ovpn文件在容器的/root目录下,免费提供10个客户端文件。也可以通过浏览器访问容器80端口下载。注意需要修改.ovpn文件中的remote后IP为你的服务器IP
开启HTTPS模式:
docker run -itd --privileged=true -p 0.0.0.0:7000:7000/udp alexzhuo/koolproxy /usr/bin/koolproxy/start_koolproxy_https.sh
仅过滤80端口模式:
docker run -itd --privileged=true -p 0.0.0.0:7000:7000/udp alexzhuo/koolproxy /usr/bin/koolproxy/start_koolproxy.sh
PPTP协议:
启动方式和OpenVPN协议相似,但是需要映射tcp协议的1723端口
开启HTTPS模式:
docker run -itd --privileged=true alexzhuo/koolproxy /usr/bin/koolproxy/start_koolproxy_https.sh
仅过滤80端口模式:
docker run -itd --privileged=true alexzhuo/koolproxy /usr/bin/koolproxy/start_koolproxy.sh
注意,如果你客户端在连接PPTP服务器的时候出现了“错误619”(windows)并且在服务器宿主机上使用tcpdump发现如下提示protocol 47 unreachable
那么应该是没有开启GRE协议引起的,此时需要在宿主机上开启GRE协议和1723端口(网上有说开启47端口的都是胡说八道)
只需一条指令:modprobe ip_nat_pptp
如果还是protocol 47 unreachable,那么再试试下面这个 iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to 容器IP
需要同时部署alexzhuo/shadowsocks2vpn这个容器。 假设alexzhuo/shadowsocks2vpn容器的IP为192.168.0.2,本容器的IP为192.168.0.3,那么需要进行如下的策略路由
在koolproxy容器上执行:
route add default gw 192.168.0.1
#默认就有,一般不要随便修改,否则无法NAT
iptables -t mangle -A OUTPUT -s 192.168.0.3 -p tcp ! --sport 1723 -j MARK --set-mark 66
#把所有tcp流量打上标记,方便路由,因为openvpn使用udp协议,openvpn服务端的流量发给客户端是正常的,-s 192.168.0.3是因为openVPN的客户端流量10.8.0.2会在NAT之前被路由掉无法回来,所以只标记NAT之后的流量;! --sport 1723是防止PPTP协议被NAT了。
ip rule add fwmark 66 table 66#让被标记66的流量走系统默认路由表之外指定的路由表
ip route add default via 192.168.0.2 dev eth0 table 66
#建立自己自定义的路由表,ID为66,该路由表的默认网关为192.168.0.2(另一台docker容器),default可以换成0.0.0.0/0,或者其他目的地址
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.0.2:53
转发DNS请求到SS容器,把DNS解析的工作交给dnsmasq
在SS虚拟机上执行
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -p tcp -j REDIRECT --to-ports 12345
Content type
Image
Digest
Size
116.2 MB
Last updated
over 9 years ago
docker pull alexzhuo/koolproxy