Updated on 2020-02-21
Step
D:\Work\Download\haproxy-2.1.3>
pacman -Syu
pacman -S --noconfirm --needed gcc make
make TARGET=cygwin USE_THREAD=1 CFLAGS='-s -Os' LDFLAGS='-static'
strip -sv haproxy.exe
端口复用
global
    daemon
defaults
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
frontend main
    bind *:1025
    use_backend ssh if { req.payload(0,3) -m bin 535348 }
    use_backend socks if { req.payload(0,3) -m bin 050100 050200 050300 }
    default_backend http
backend http
    server default 127.0.0.1:80
backend ssh
    server default 127.0.0.1:22
backend socks
    server default 127.0.0.1:1080
端口转发
Linux Iptables:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1025
Windows Netsh:
netsh interface portproxy show all
netsh interface portproxy add v4tov4 listenport=80 connectport=1025 connectaddress=127.0.0.1
netsh interface portproxy delete v4tov4 listenport=80