已用libev重写完毕,欢迎测试,个人测试暂未发现问题
iusearch opened this issue · comments
配合ss-tproxy使用时,不定时退出,估计是崩了,有coredump记录,我加debug符号再等一个看看
coredump.tar.gz
带符号的二进制和coredump
这个问题其实早有反馈。正在打算重构。
我早换了redsocks2,也挺好用
@yiguihai
等作者重构吧,我现在是脚本监控卡死或者crash就自动重启。三天能重启600多次。。。
不过基本能用我的最短一次是7分钟掉进程,其它的都是十几二十分钟才掉。强迫症的我很喜欢这个简单高效的程序,因为不用多配置nat表的规则了。但是现在的bug根本没法用,我只想用在K3上面。你知道怎么让脚本开机后持续运行吗?如果没有找到解决办法只能用会redsocks了
用一个shell脚本包装一下,如:
#!/bin/bash
while true; do
ipt2socks -s 127.0.0.1 -p 1080
done
然后开启自启这个脚本。
实在不行就用redsocks2吧,主要是我也没什么时间搞,也就周末一两天而已。
刚编译好 merlin 二进制的我看到这个 issuse 有点崩。。。
刚编译好 merlin 二进制的我看到这个 issuse 有点崩。。。
rip. 路由器不是透明代理有其他方案么
替代品很多,redsocks/redsocks2.
最近确实没时间搞。
最近确实没时间搞。
我很喜欢作者做这个东东的初衷,KISS
所以昨天晚上花了点时间,把这个工程用 go 重写了(又造轮子了), 代码不多,可能不超过500行,在我的 arch 跑了一晚上还好,不保证没BUG,周末准备放我的 merlin 上跑跑
最近确实没时间搞。
我很喜欢作者做这个东东的初衷,KISS
所以昨天晚上花了点时间,把这个工程用 go 重写了(又造轮子了), 代码不多,可能不超过500行,在我的 arch 跑了一晚上还好,不保证没BUG,周末准备放我的 merlin 上跑跑
连go版本都来了…… @zfl9 情何以堪,赶紧努力,哈哈。
其实我那天也是憋这个bug好久,redsocks2 的udp代理只支持ss的,而我不是用的ss。最后自己fork一下,赶鸭子上架,打了一个小补丁,算是可以用了:
https://github.com/yuchting/ipt2socks
身不由己,实在没时间写。libev版本写了一半,已经搁浅了半个多月了。
有时间我再把 go version 完善下, 加上 over tls 特性吧
至于加 redir 到一起估计代码会被要求干掉了
如果是用openwrt的话,在服务脚本加上无限重启就可以。
参考 https://openwrt.org/docs/guide-developer/procd-init-scripts
vi /etc/init.d/ipt2socks
start_ipt2socks() {
local enable
config_get_bool enable $1 enable
[ "$enable" = 1 ] || return 0
procd_open_instance
- procd_set_param respawn
+ procd_set_param respawn 3600 5 0
procd_set_param stderr 1
procd_set_param nice -5
procd_set_param limits nofile="65535 65535"
procd_set_param command /usr/bin/ipt2socks
append_param $1 server_addr "-s"
append_param $1 server_port "-p"
append_param $1 auth_username "-a"
append_param $1 auth_password "-k"
append_param $1 listen_addr4 "-b"
append_param $1 listen_addr6 "-B"
append_param $1 listen_port "-l"
append_param_if_neq $1 thread_nums "-j" "1"
append_param_if_neq $1 nofile_limit "-n" "65535"
append_param_if_neq $1 udp_timeout "-o" "300"
append_param_if_neq $1 cache_size "-c" "256"
append_param_if_neq $1 buffer_size "-f" "8192"
append_bool $1 graceful "-G"
append_bool $1 redirect "-R"
append_bool $1 tcp_only "-T"
append_bool $1 udp_only "-U"
append_bool $1 ipv4_only "-4"
append_bool $1 ipv6_only "-6"
procd_close_instance
}
发现一个新问题,过一段时间后(大概24h),ipt2socks进程会跑满单线程的cpu。平台是小米路由器3g,mt7621,目前只能通过重启解决。
终于写完了。欢迎各位进行测试。我明两天有时间再自己也测下。自己也在rpi3b上跑了TCP代理,目前还没遇到什么问题。UDP后面在测试。UDP今天也测试了,没啥毛病,Nat Type 也是 A。
大概都跑了一下,挺正常,所以这个issue先关了。