ubuntu源安装的libev版本太低,故编译安装最新版libuv:
wget https://github.com/libuv/libuv/archive/v1.33.1.tar.gz
tar zxvf v1.33.1.tar.gz
cd libuv-1.33.1/
./autogen.sh
./configure --prefix=/usr/local/libuv
make && make install
安装ipt2socks,类似于redsocks,支持ipv6。
git clone https://github.com/zfl9/ipt2socks.git
cd ipt2socks/
make INCLUDES="-I/usr/local/libuv/include" LDFLAGS="-L/usr/local/libuv/lib"
echo '/usr/local/libuv/lib' > /etc/ld.so.conf.d/libuv.conf
ldconfig
使用:
ipt2socks -b 0.0.0.0 -l 7070 -s 127.0.0.1 -p 1080 -R -T
更新:
由于系统自带的libuv大版本和自编译的一样,启动ipt2socks会优先加载系统自带的libuv库,可以在systemd启动脚本中使用LD_LIBRARY_PATH变量指定libuv库位置:
LD_LIBRARY_PATH="/usr/local/libuv/lib/"