06 中转获取真实 IP 教程 - Pinxz/soga GitHub Wiki

一、tcp 或 tcp + tls 中转

HAProxy 中转适合以下协议

后端协议
VMess+tcp
VMess+tcp+tls
VLESS+tcp
VLESS+tcp+tls
Trojan

① soga 配置

soga 版本 >= 1.4.8-dev2

填写该配置用于接收 HAProxy 发送的客户端 IP,并重启 soga,填写后,直连将无法连接

proxy_protocol=true

② 安装 HAProxy

CentOS

yum install haproxy -y

Debian / Ubuntu

apt install haproxy -y

③ 编辑 haproxy 配置文件

vim /etc/haproxy/haproxy.cfg
# 第一个中转
frontend frontend_1     # 名称随意,不要有相同的名字
  bind 0.0.0.0:12345    # 中转机监听端口
  mode tcp
  default_backend backend_1   # 要中转到哪个落地的名字
backend backend_1       # 落地名字,不要有相同的名字
  mode tcp
  server server1 hk.xxx.com:12345 send-proxy-v2  # 填写落地的地址和端口,加上 send-proxy-v2 发送 IP 给 soga 后端

# 第二个中转
frontend frontend_2     # 名称随意,不要有相同的名字
  bind 0.0.0.0:23456    # 中转机监听端口
  mode tcp
  default_backend backend_2   # 要中转到哪个落地的名字
backend backend_2       # 落地名字,不要有相同的名字
  mode tcp
  server server2 jp.xxx.com:23456 send-proxy-v2  # 填写落地的地址和端口,加上 send-proxy-v2 发送 IP 给 soga 后端

# 可填写更多...

④ 重启 HAProxy

systemctl restart haproxy

# 设置开机自启
systemctl enable haproxy

ws 或 ws + tls 中转

待补充