在MACOS(darwin)中使用minivtun
每次brew用ss、proxychains-ng,这次改用minivtun。
编译安装参阅官网,不过这里需要额外编译一个路由器可用的。
华硕的rt-n66u用的merlin固件,MIPS的cpu。参考txchen、harv等,进行静态编译minivtun。
debian 8上编译,属于跨平台编译了,好在minivtun依赖少,装个qemu就能用tomatoware。
export CC=/mmc/bin/gcc AR=/mmc/bin/ar LD=/mmc/bin/ld CXX=/mmc/bin/g++ AR=/mmc/bin/ar RANLIB=/mmc/bin/ranlib
export prefix=/mmc/test/dists
export host=mipsel-buildroot-linux-uclibc
export PATH=/mmc/bin:$PATH
LIBRESSL=libressl-2.7.4
mkdir -p /mmc/test/{build,dists}
cd /mmc/test/build
wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${LIBRESSL}.tar.gz
tar xvzf ${LIBRESSL}.tar.gz
cd ${LIBRESSL}
LDFLAGS="-Wl,-static -static -static-libgcc -s" CFLAGS="-g0 -Os" CXXFLAGS="-g0 -Os" ./configure --prefix=$prefix/libressl --enable-shared=no --host=$host
make && make install
cd -
git clone https://github.com/rssnsj/minivtun.git
cd minivtun/src
LIBS="-lpthread -lm" LDFLAGS="-Wl,-static -static-libgcc -s -L/mmc/test/dists/libressl/lib" CFLAGS="-g0 -Os -I/mmc/test/dists/libressl/include" CXXFLAGS="-g0 -Os" make
单个文件比较大,可用upx压缩下。
直接把mips的版本放到merlin的/jffs下就能执行使用,前提得加载tun模块。
在mac使用上,编译之后主要是路由问题,可用shadowvpn-darwin脚本加chnroutes。
这里放着自用脚本以供参考。
https://github.com/fanyueciyuan/eazy-for-ss/tree/master/minivtun