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