最近被跟踪广告弄的有些烦了,突然想到可以用自己的服务器来实现一个没什么实际价值的代理玩玩。虽然这样也拦不住广告,但是应该可以看到和云服务器地域相关的新广告了(

客户端方面有一大堆现成的,主要是进行服务端的搭建。

防火墙这里先打开一个端口备用。

接着开启内核模块,lsmod | grep bbr 发现服务器上的内核功能真的少,这个默认是没开的(即使是我主力 6.8 内核也是)所以直接追加重载就好了。

bbr 是网络加速用的,对于小水管来说完全没有用,这里顺便开了

不同系统可能有差异,特别是服务器可能连内核转发都没有开启,这里一起打开了

echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf

sudo tee -a /etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
EOF

sudo sysctl -p

如果文件不存在那可能是一个同名文件夹,比如 /etc/sysctl.d//etc/sysctl.conf 这样

然后验证一下,有输出就没问题了。

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
sysctl net.ipv4.ip_forward

接下来可以开始搭建服务端了,这里选择 gost 来作为服务器,这种服务直接容器化运行就好了,顺带一提最新的 docker 稍微修改了一下配置文件,现在不应该添加 version 了(不过服务器仍然是老掉牙的版本保持原来的就好啦)。

由于需要进行流量加密,所以需要用到 SSL 证书。本来是想用反代服务器来做,因为这样我就可以只保留一份证书。结果机房网关过不去所以还是得选择本身的加密(国内机房特色,如果是一般 VPS 不会有这种问题)。

既然如此干脆就按照 haoel 提供的方法来,在浏览器中使用插件并且配置好后就可以正常使用了(完全没有实用价值就是了

不过这样不太好,因为是非标端口号。不过由于是传统的 HTTP 流量所以应该可以直接进行一个简单的反代。不过这里失败了,回头再来找原因。

        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

            proxy_pass http://proxy;
        }

随便找了一个站测试了一下,也证明是有效的,当然网速也是奇慢的。

image.png

北京郑州

image.png