From 7f330ead05d6a33b86865f38227b52aa6ab595d3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Nov 2020 18:48:54 +0100 Subject: [PATCH 1/5] Fix IPv6 support by not using sysctl --- omr-6in4/files/etc/init.d/omr-6in4 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/omr-6in4/files/etc/init.d/omr-6in4 b/omr-6in4/files/etc/init.d/omr-6in4 index dbd61b3a1..3785c2031 100755 --- a/omr-6in4/files/etc/init.d/omr-6in4 +++ b/omr-6in4/files/etc/init.d/omr-6in4 @@ -17,9 +17,11 @@ set_shadowsocks_address() { set_ipv6_state() { local disable_ipv6="$(uci -q get openmptcprouter.settings.disable_ipv6)" [ -z "$disable_ipv6" ] && disable_ipv6="1" - previous=$(sysctl -qn net.ipv6.conf.all.disable_ipv6 | tr -d "\n") - sysctl -qw net.ipv6.conf.all.disable_ipv6=$disable_ipv6 - sed -i "s:^net.ipv6.conf.all.disable_ipv6=[0-9]*:net.ipv6.conf.all.disable_ipv6=$disable_ipv6:" /etc/sysctl.d/zzz_openmptcprouter.conf + #previous=$(sysctl -qn net.ipv6.conf.all.disable_ipv6 | tr -d "\n") + previous="$(uci get network.lan.ipv6)" + #sysctl -qw net.ipv6.conf.all.disable_ipv6=$disable_ipv6 + #sed -i "s:^net.ipv6.conf.all.disable_ipv6=[0-9]*:net.ipv6.conf.all.disable_ipv6=$disable_ipv6:" /etc/sysctl.d/zzz_openmptcprouter.conf + sed -i "s:^net.ipv6.conf.all.disable_ipv6=[0-9]*::" /etc/sysctl.d/zzz_openmptcprouter.conf uci -q batch <<-EOF >/dev/null set firewall.@defaults[0].disable_ipv6=$disable_ipv6 @@ -82,14 +84,14 @@ set_ipv6_state() { commit shadowsocks-libev EOF /etc/init.d/odhcpd restart - if [ "$previous" != "$disable_ipv6" ]; then + if [ "$previous" != "1" ]; then env -i /bin/ubus call network reload fi } start_service() { - [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "$(sysctl -n net.ipv6.conf.all.disable_ipv6)" ] && set_ipv6_state + [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get network.lan.ipv6)" != "1" ] && set_ipv6_state [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "1" ] && { ifdown omr6in4 return From f979ebc643d48693ac08871e275a29a85107dfdc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Nov 2020 18:57:47 +0100 Subject: [PATCH 2/5] Remove saved proxy IP if proxy down --- omr-tracker/files/bin/omr-tracker-ss | 4 ++++ omr-tracker/files/bin/omr-tracker-v2ray | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 33405601b..525c4a979 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -30,9 +30,13 @@ _get_ip() { uci -q set openmptcprouter.omr.detected_public_ipv4="$(curl -s -4 -m 3 $check_ipv4_website)" if [ "$(uci -q get openmptcprouter.omr.shadowsocks)" != "down" ]; then uci -q set openmptcprouter.omr.detected_ss_ipv4="$(curl -s -4 --socks5 "${proxy}" --max-time 3 $check_ipv4_website)" + else + uci -q del openmptcprouter.omr.detected_ss_ipv4 fi if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ]; then uci -q set openmptcprouter.omr.detected_public_ipv6="$(curl -s -6 -m 3 $check_ipv6_website)" + else + uci -q del openmptcprouter.omr.detected_public_ipv6 # uci -q set openmptcprouter.omr.detected_ss_ipv6=$(curl -s -6 --socks5 ":::1111" --max-time 3 http://ip.openmptcprouter.com) fi fi diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index b7456c23c..32ef73c6b 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -28,11 +28,15 @@ _get_ip() { check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)" [ -z "$check_ipv6_website" ] && check_ipv6_website="http://ipv6.openmptcprouter.com" uci -q set openmptcprouter.omr.detected_public_ipv4="$(curl -s -4 -m 3 $check_ipv4_website)" - if [ "$(uci -q get openmptcprouter.omr.shadowsocks)" != "down" ]; then + if [ "$(uci -q get openmptcprouter.omr.v2ray)" != "down" ]; then uci -q set openmptcprouter.omr.detected_ss_ipv4="$(curl -s -4 --socks5 "${proxy}" --max-time 3 $check_ipv4_website)" + else + uci -q del openmptcprouter.omr.detected_ss_ipv4 fi if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ]; then uci -q set openmptcprouter.omr.detected_public_ipv6="$(curl -s -6 -m 3 $check_ipv6_website)" + else + uci -q del openmptcprouter.omr.detected_public_ipv6 # uci -q set openmptcprouter.omr.detected_ss_ipv6=$(curl -s -6 --socks5 ":::1111" --max-time 3 http://ip.openmptcprouter.com) fi fi From 566ae2d4b6de24270baa1f95d9f6c7ccd163d9f4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Nov 2020 18:58:10 +0100 Subject: [PATCH 3/5] Check FS before mount by default --- openmptcprouter/files/etc/uci-defaults/2060-omr-system | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2060-omr-system b/openmptcprouter/files/etc/uci-defaults/2060-omr-system index d350e3c00..67bd16809 100755 --- a/openmptcprouter/files/etc/uci-defaults/2060-omr-system +++ b/openmptcprouter/files/etc/uci-defaults/2060-omr-system @@ -8,6 +8,8 @@ uci -q batch <<-EOF >/dev/null commit rpcd luci.apply.timeout='20' commit luci + fstab.@global[0].check_fs='1' + commit fstab EOF [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ "$(uci -q get openmptcprouter.settings.scaling_governor)" != "performance" ] && { From 3690d4c21bdf1800ff27cc3aba52f465afacd57d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Nov 2020 18:58:37 +0100 Subject: [PATCH 4/5] No disable IPv6 via sysctl --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 1a4472421..c34a0bf8e 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -1291,7 +1291,7 @@ _set_config_from_vps() { uci -q batch <<-EOF >/dev/null set openmptcprouter.settings.disable_ipv6=1 EOF - sysctl -qw net.ipv6.conf.all.disable_ipv6=1 + #sysctl -qw net.ipv6.conf.all.disable_ipv6=1 else uci -q batch <<-EOF >/dev/null set openmptcprouter.${servername}.ipv6=$vps_ipv6_addr From 447190ff0c785c5766aa3a18b92467fdd384ff3f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 7 Nov 2020 18:59:00 +0100 Subject: [PATCH 5/5] remove log from v2ray about dnsmasq --- v2ray-core/files/etc/init.d/v2ray | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2ray-core/files/etc/init.d/v2ray b/v2ray-core/files/etc/init.d/v2ray index 513058ce0..3e4b38c64 100755 --- a/v2ray-core/files/etc/init.d/v2ray +++ b/v2ray-core/files/etc/init.d/v2ray @@ -1882,7 +1882,7 @@ setup_transparent_proxy() { ext_args="--dport 0:1023 $ext_args" fi - if [ -n "$(cat "$FILE_V2RAY_DNSMASQ_CACHE" | grep -v "^$" | grep -v "^#")" ] ; then + if [ -f $FILE_V2RAY_DNSMASQ_CACHE ] && [ -n "$(cat "$FILE_V2RAY_DNSMASQ_CACHE" | grep -v "^$" | grep -v "^#")" ] ; then local dir="$(dirname "$FILE_V2RAY_DNSMASQ")" test -d "$dir" || mkdir -p "$dir" cat "$FILE_V2RAY_DNSMASQ_CACHE" >"$FILE_V2RAY_DNSMASQ" 2>/dev/null