From 6cedb314908944ef41f31d93325801ca20616224 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Thu, 22 Feb 2018 22:32:09 +0100 Subject: [PATCH] Fix --- luci-app-haproxy-tcp/Makefile | 1 + luci-app-haproxy-tcp/preview.png | Bin 29939 -> 0 bytes .../root/etc/hotplug.d/iface/03-macvlan | 2 -- mptcp/files/etc/hotplug.d/iface/30-mptcp | 21 +++++++-------- mptcp/files/etc/init.d/mptcp | 1 - openmptcprouter/files/bin/omr-test-speed | 7 +++++ .../files/bin/otb-test-download-shadowsocks | 24 ------------------ .../files/etc/uci-defaults/1950-omr | 11 ++++++++ .../files/shadowsocks-libev.init | 2 +- 9 files changed, 29 insertions(+), 40 deletions(-) delete mode 100644 luci-app-haproxy-tcp/preview.png create mode 100755 openmptcprouter/files/bin/omr-test-speed delete mode 100755 openmptcprouter/files/bin/otb-test-download-shadowsocks create mode 100755 openmptcprouter/files/etc/uci-defaults/1950-omr diff --git a/luci-app-haproxy-tcp/Makefile b/luci-app-haproxy-tcp/Makefile index d4f09a47d..765a69389 100644 --- a/luci-app-haproxy-tcp/Makefile +++ b/luci-app-haproxy-tcp/Makefile @@ -55,6 +55,7 @@ define Package/luci-app-haproxy-tcp/prerm /etc/init.d/haproxy-tcp disable /etc/init.d/haproxy-tcp stop rm -f /usr/sbin/haproxy-tcp +rm -f /etc/hotplug.d/net/90-haproxy exit 0 endef diff --git a/luci-app-haproxy-tcp/preview.png b/luci-app-haproxy-tcp/preview.png deleted file mode 100644 index 800d928d09dc850d06b853c86e02a3ab8c8f10f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29939 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 diff --git a/luci-mod-admin-full/root/etc/hotplug.d/iface/03-macvlan b/luci-mod-admin-full/root/etc/hotplug.d/iface/03-macvlan index 3091889e5..6278ee4ed 100755 --- a/luci-mod-admin-full/root/etc/hotplug.d/iface/03-macvlan +++ b/luci-mod-admin-full/root/etc/hotplug.d/iface/03-macvlan @@ -25,8 +25,6 @@ _setup_interface() { config_get _type "$1" type [ "$_type" = "macvlan" ] || return 0 - sleep 1 - uci -q batch <<-EOF set network.$1_dev=device set network.$1_dev.name=$1 diff --git a/mptcp/files/etc/hotplug.d/iface/30-mptcp b/mptcp/files/etc/hotplug.d/iface/30-mptcp index 6015db82d..6204eba94 100644 --- a/mptcp/files/etc/hotplug.d/iface/30-mptcp +++ b/mptcp/files/etc/hotplug.d/iface/30-mptcp @@ -34,12 +34,13 @@ set_default() { } local iface config_get iface "$config" ifname - ip route del default - ip route add default scope global nexthop via $gateway dev $iface || { - #Fallback: use upcomming interface... - network_get_gateway gateway $INTERFACE - ip route add default scope global nexthop via $gateway dev $INTERFACE - logger -t multipath Faild to set default multipath device! Use $INTERFACE as fallback... + [ -n "gateway" ] && { + ip route replace default via $gateway dev $iface || { + #Fallback: use upcomming interface... + network_get_gateway gateway $INTERFACE + ip route replace default via $gateway dev $INTERFACE + logger -t multipath Failed to set default multipath device! Use $INTERFACE as fallback... + } } } } @@ -47,8 +48,8 @@ set_default() { config_load network config_foreach set_default interface [ $id = 0 ] && { - logger -t multipath device $INTERFACE not fount! - echo device $INTERFACE not fount! + logger -t multipath device $INTERFACE not found! + echo device $INTERFACE not found! exit 1 } @@ -73,10 +74,6 @@ multipath $DEVICE $mode # IPv4 Updates: -local ipaddr -local gateway -local network -local netmask network_get_ipaddr ipaddr $INTERFACE network_get_gateway gateway $INTERFACE network_get_subnet network $INTERFACE diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index c6849d30c..b05fce993 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -8,7 +8,6 @@ USE_PROCD=1 start_service() { procd_open_instance procd_set_param command hotplug-call net - procd_set_param respawn procd_set_param watch network.globals procd_close_instance } diff --git a/openmptcprouter/files/bin/omr-test-speed b/openmptcprouter/files/bin/omr-test-speed new file mode 100755 index 000000000..87cc98544 --- /dev/null +++ b/openmptcprouter/files/bin/omr-test-speed @@ -0,0 +1,7 @@ +#!/bin/sh +# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 : + +HOST="proof.ovh.net" + +trap : HUP INT TERM +curl http://$HOST/files/10Gio.dat >/dev/null || echo diff --git a/openmptcprouter/files/bin/otb-test-download-shadowsocks b/openmptcprouter/files/bin/otb-test-download-shadowsocks deleted file mode 100755 index 9a56661c7..000000000 --- a/openmptcprouter/files/bin/otb-test-download-shadowsocks +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 : - -HOST="proof.ovh.net" - -_ipt() { - iptables -w -t nat "$1" socks_emitted_by_myself \ - -d "$HOST" -j socks_redir -m comment --comment "Test download proof" -} - -_chain_exists() { - iptables -w -t nat -nL "$1" 1>/dev/null 2>/dev/null -} - -if ! _chain_exists "socks_emitted_by_myself" || ! _chain_exists "socks_redir"; then - echo "Couldn't find the iptables chain to plug myself into. Is ss-redir running?" - return 1 -fi - -trap : HUP INT TERM - -_ipt -A -curl http://$HOST/files/10Gio.dat >/dev/null || echo -_ipt -D diff --git a/openmptcprouter/files/etc/uci-defaults/1950-omr b/openmptcprouter/files/etc/uci-defaults/1950-omr new file mode 100755 index 000000000..135283984 --- /dev/null +++ b/openmptcprouter/files/etc/uci-defaults/1950-omr @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + set luci.diag.ping=openmptcprouter.com + set luci.diag.dns=openmptcprouter.com + set luci.diag.route=openmptcprouter.com + commit luci +EOF +rm -f /tmp/luci-indexcache + +exit 0 diff --git a/shadowsocks-libev/files/shadowsocks-libev.init b/shadowsocks-libev/files/shadowsocks-libev.init index 0d96e07d4..7402cc49b 100644 --- a/shadowsocks-libev/files/shadowsocks-libev.init +++ b/shadowsocks-libev/files/shadowsocks-libev.init @@ -245,7 +245,7 @@ stop_service() { } service_triggers() { - procd_add_reload_interface_trigger wan + procd_add_reload_interface_trigger wan* procd_add_reload_trigger shadowsocks-libev procd_open_validate validate_server_section