diff --git a/cgroup-tproxy.sh b/cgroup-tproxy.sh index 3518126..290eaef 100644 --- a/cgroup-tproxy.sh +++ b/cgroup-tproxy.sh @@ -141,8 +141,8 @@ echo "iptables: applying tproxy iptables" ip rule add fwmark $fwmark table $table ip route add local default dev lo table $table iptables -t mangle -N TPROXY_ENT -iptables -t mangle -A TPROXY_ENT -p tcp -j TPROXY --on-ip localhost --on-port $port --tproxy-mark $fwmark -iptables -t mangle -A TPROXY_ENT -p udp -j TPROXY --on-ip localhost --on-port $port --tproxy-mark $fwmark +iptables -t mangle -A TPROXY_ENT -p tcp -j TPROXY --on-ip 127.0.0.1 --on-port $port --tproxy-mark $fwmark +iptables -t mangle -A TPROXY_ENT -p udp -j TPROXY --on-ip 127.0.0.1 --on-port $port --tproxy-mark $fwmark iptables -t mangle -N TPROXY_PRE iptables -t mangle -A TPROXY_PRE -m socket --transparent -j MARK --set-mark $fwmark @@ -172,8 +172,8 @@ iptables -t mangle -A OUTPUT -j TPROXY_OUT ip -6 rule add fwmark $fwmark table $table ip -6 route add local default dev lo table $table ip6tables -t mangle -N TPROXY_ENT -ip6tables -t mangle -A TPROXY_ENT -p tcp -j TPROXY --on-ip localhost --on-port $port --tproxy-mark $fwmark -ip6tables -t mangle -A TPROXY_ENT -p udp -j TPROXY --on-ip localhost --on-port $port --tproxy-mark $fwmark +ip6tables -t mangle -A TPROXY_ENT -p tcp -j TPROXY --on-ip ::1 --on-port $port --tproxy-mark $fwmark +ip6tables -t mangle -A TPROXY_ENT -p udp -j TPROXY --on-ip ::1 --on-port $port --tproxy-mark $fwmark ip6tables -t mangle -N TPROXY_PRE ip6tables -t mangle -A TPROXY_PRE -m socket --transparent -j MARK --set-mark $fwmark @@ -192,10 +192,10 @@ ip6tables -t mangle -A TPROXY_OUT -m connmark --mark $mark_newin -j RETURN ip6tables -t mangle -A TPROXY_OUT -m addrtype --dst-type LOCAL -j RETURN ip6tables -t mangle -A TPROXY_OUT -m addrtype ! --dst-type UNICAST -j RETURN for cg in ${cgroup_noproxy[@]}; do -ip6tables -t mangle -A TPROXY_OUT -m cgroup --path $cg -j RETURN || { >&2 echo "iptables: $cg not exist, won't apply"; } +ip6tables -t mangle -A TPROXY_OUT -m cgroup --path $cg -j RETURN || { >&2 echo "ip6tables: $cg not exist, won't apply"; } done for cg in ${cgroup_proxy[@]}; do -ip6tables -t mangle -A TPROXY_OUT -m cgroup --path $cg -j MARK --set-mark $fwmark || { >&2 echo "iptables: $cg not exist, won't apply"; } +ip6tables -t mangle -A TPROXY_OUT -m cgroup --path $cg -j MARK --set-mark $fwmark || { >&2 echo "ip6tables: $cg not exist, won't apply"; } done ip6tables -t mangle -A OUTPUT -j TPROXY_OUT diff --git a/execsnoop-kernel/CMakeLists.txt b/execsnoop-kernel/CMakeLists.txt index 0de2744..1187117 100644 --- a/execsnoop-kernel/CMakeLists.txt +++ b/execsnoop-kernel/CMakeLists.txt @@ -1,3 +1,9 @@ +# find libbpf +find_library(LIBBPF bpf) +if (LIBBPF-NOTFOUND) + message(FATAL_ERROR "libbpf not found") +endif() + add_library(execsnoop MODULE execsnoop_share.cpp) target_link_libraries(execsnoop PRIVATE bpf) install(TARGETS execsnoop DESTINATION ${CMAKE_INSTALL_LIBDIR}/cgproxy/) \ No newline at end of file diff --git a/src/cgproxyd.hpp b/src/cgproxyd.hpp index bf083fe..bfebbba 100644 --- a/src/cgproxyd.hpp +++ b/src/cgproxyd.hpp @@ -233,7 +233,7 @@ class cgproxyd { void startExecsnoopThread() { if (!EXECSNOOP::loadExecsnoopLib() || EXECSNOOP::_startThread == NULL) { - error("execsnoop not ready to start, maybe bcc not installed"); + error("execsnoop not ready to start, maybe missing libbpf"); return; } diff --git a/v2ray_config/05_inbounds_04_socks5.json b/v2ray_config/05_inbounds_04_socks5.json index 71bcbbc..ac03b50 100644 --- a/v2ray_config/05_inbounds_04_socks5.json +++ b/v2ray_config/05_inbounds_04_socks5.json @@ -5,6 +5,7 @@ "port": 1080, "protocol": "socks", "settings": { + "udp": true, "auth": "noauth", "userLevel": 0 },