From d5a1ad3cebf3fc2230419cef3ec886c62187922c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 16 Oct 2020 09:35:27 +0200 Subject: [PATCH] Fix rules_up for v2ray and set rules after firewall changes --- v2ray-core/files/etc/firewall.v2ray-rules | 2 ++ v2ray-core/files/etc/init.d/v2ray | 26 +++++++------------ .../files/etc/uci-defaults/3010-omr-v2ray | 9 +++++++ 3 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 v2ray-core/files/etc/firewall.v2ray-rules diff --git a/v2ray-core/files/etc/firewall.v2ray-rules b/v2ray-core/files/etc/firewall.v2ray-rules new file mode 100644 index 000000000..2c0ade3dd --- /dev/null +++ b/v2ray-core/files/etc/firewall.v2ray-rules @@ -0,0 +1,2 @@ +#!/bin/sh +/etc/init.d/v2ray rules_up diff --git a/v2ray-core/files/etc/init.d/v2ray b/v2ray-core/files/etc/init.d/v2ray index 409df9ffe..fa5352d78 100755 --- a/v2ray-core/files/etc/init.d/v2ray +++ b/v2ray-core/files/etc/init.d/v2ray @@ -411,12 +411,14 @@ add_v2ray_redirect_rules() { local ipset_dst_direct="$IPSET_DST_DIRECT_V4" test -n "$port" || return - logger -t "v2ray" "v2ray-rules -l ${port} -L ${port} -s $OUTBOUND_SERVERS_V4 --rule-name def --src-default forward --dst-default forward --local-default forward" + + # This part need a rewrite v2ray-rules -l ${port} -L ${port} -s $OUTBOUND_SERVERS_V4 --rule-name def --src-default forward --dst-default forward --local-default forward - logger -t "v2ray" "v2ray-rules2 -l $((port+1)) -L $((port+1)) -s $OUTBOUND_SERVERS_V6 --rule-name def --src-default forward --dst-default forward --local-default forward" v2ray-rules6 -l $((port+1)) -L $((port+1)) --rule-name def --src-default forward --dst-default forward --local-default forward - logger -t "V2Ray" "Reload omr-bypass rules" - /etc/init.d/omr-bypass reload_rules + [ -f /etc/init.d/omr-bypass ] && { + logger -t "V2Ray" "Reload omr-bypass rules" + /etc/init.d/omr-bypass reload_rules + } } init_rules_for_listfile() { @@ -2075,7 +2077,7 @@ start_instance() { } rules_exist() { - [ -n "$(iptables -t nat -L -n | grep v2r)" ] && return 0 + [ -n "$(iptables -t nat -L -n | grep v2r_)" ] && return 0 return 1 } @@ -2085,19 +2087,9 @@ rules_up() { config_load v2ray config_get enabled main enabled "0" [ "$enabled" = "0" ] && return + OUTBOUND_SERVERS_V4="$(uci -q get v2ray.omrout.s_vless_address)" logger -t "V2Ray" "Rules UP" - #local bin="/usr/bin/v2ray-rules" - [ -x "$bin" ] && { - "$bin" >/dev/null 2>&1 - } - #local bin6="/usr/bin/v2ray-rules6" - [ -x "$bin6" ] && { - "$bin6" >/dev/null 2>&1 - } - [ -f /etc/init.d/omr-bypass ] && { - logger -t "V2Ray" "Reload omr-bypass rules" - /etc/init.d/omr-bypass reload_rules - } + add_v2ray_redirect_rules } rules_down() { diff --git a/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray b/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray index 4077ab0eb..a9ae9d58e 100644 --- a/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray +++ b/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray @@ -94,5 +94,14 @@ if [ -z "$(uci -q get v2ray.main)" ]; then fi uci -q set v2ray.omr.listen='::' +if [ "$(uci -q get firewall.v2ray)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set firewall.v2ray=include + set firewall.v2ray.path=/etc/firewall.v2ray + set firewall.v2ray.reload=1 + commit firewall + EOF +fi + exit 0 \ No newline at end of file