proxyproto.nim
0.1.4
proxyproto 是一个轻量级库,可以帮助老化的程序处理代理协议。它同时支持 IPv4 和 IPv6。
适用于 Linux 和 macOS
有许多旧程序不支持代理协议(尤其是闭源程序)。当它们在负载均衡器或保留代理后面运行时,很难保留源 IP 地址。
proxyproto 拦截accept()
过程,并等待新的传入连接并侦听来自上游代理(即HAProxy、NGINX ..)的代理协议标头
一旦读取头,proxyproto 就会用上游代理提供的 IP 替换源 IP。
git clone --depth=1 https://github.com/ba0f3/proxyproto.nim.git proxyproto
cd proxyproto
nim c -d:release src/proxyproto
直接在接受传入连接的 nim 程序中使用
import proxyproto
对于现有程序,使用 LD_PRELOAD
$LD_PRELOAD =./src/libproxyproto.so nc -vkl -p 4444
[PROXY] initializing
[PROXY] hook accept OK
listening on [any] 4444 ...
给我买点啤酒 https://paypal.me/ba0f3