mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
fix
This commit is contained in:
parent
d4ed20af96
commit
daa43369e1
151 changed files with 3144 additions and 12804 deletions
|
|
@ -1,19 +1,25 @@
|
|||
#!/bin/sh
|
||||
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
|
||||
# (c) Yannick Chabanois (ycarus@zugaina.org) for OpenMPTCProuter
|
||||
#
|
||||
#
|
||||
|
||||
FORCEVPS=false
|
||||
FASTTEST=false
|
||||
if [ "$1" = "forcevps" ]; then
|
||||
INTERFACE="$2"
|
||||
FORCEVPS=true
|
||||
else
|
||||
INTERFACE="$1"
|
||||
fi
|
||||
if [ "$1" = "fasttest" ]; then
|
||||
FASTTEST=true
|
||||
fi
|
||||
for i in $@; do :; done
|
||||
INTERFACE="$i"
|
||||
|
||||
[ -n "$INTERFACE" ] && [ ! -d "/sys/class/net/$INTERFACE" ] && {
|
||||
echo "You must use a real interface. You wan find them using 'ip a' for example"
|
||||
exit 0
|
||||
}
|
||||
|
||||
echo "Select best test server..."
|
||||
[ "$FASTTEST" = true ] || echo "Select best test server..."
|
||||
HOSTLST="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 https://speed.hetzner.de/10GB.bin http://ipv4.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso"
|
||||
bestping="9999"
|
||||
for pinghost in $HOSTLST; do
|
||||
|
|
@ -23,7 +29,7 @@ for pinghost in $HOSTLST; do
|
|||
else
|
||||
ping=$(ping -4 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n')
|
||||
fi
|
||||
echo "host: $domain - ping: $ping"
|
||||
[ "$FASTTEST" = true ] || echo "host: $domain - ping: $ping"
|
||||
if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then
|
||||
bestping=$ping
|
||||
HOST=$pinghost
|
||||
|
|
@ -32,11 +38,12 @@ done
|
|||
|
||||
[ -z "$HOST" ] && HOST="https://speed.hetzner.de/10GB.bin"
|
||||
|
||||
echo "Best server is $HOST, running test:"
|
||||
[ "$FASTTEST" = true ] || echo "Best server is $HOST, running test:"
|
||||
trap : HUP INT TERM
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
curl -4 -o /dev/null $HOST || echo
|
||||
else
|
||||
/etc/init.d/sqm stop $INTERFACE
|
||||
domain=$(echo $HOST | awk -F/ '{print $3}')
|
||||
hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ')
|
||||
if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then
|
||||
|
|
@ -44,10 +51,16 @@ else
|
|||
ipset add ss_rules_dst_bypass_all $ip
|
||||
done
|
||||
fi
|
||||
curl -4 -o /dev/null --interface $INTERFACE $HOST || echo
|
||||
if [ "$FASTTEST" = true ]; then
|
||||
avg_speed=$(curl -4 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE $HOST 2>/dev/null)
|
||||
echo "$avg_speed"
|
||||
else
|
||||
curl -4 -o /dev/null --interface $INTERFACE $HOST || echo
|
||||
fi
|
||||
if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then
|
||||
for ip in $hostip; do
|
||||
ipset del ss_rules_dst_bypass_all $ip
|
||||
done
|
||||
fi
|
||||
/etc/init.d/sqm start $INTERFACE
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
SERVER=$1
|
||||
INTERFACE=$2
|
||||
[ "$3" = "upload" ] && UPLOAD=$3
|
||||
[ "$3" = "fasttest" ] && FASTTEST=$3
|
||||
[ "$4" = "upload" ] && UPLOAD=$4
|
||||
[ "$4" = "fasttest" ] && FASTTEST=$4
|
||||
[ -z "$SERVER" ] && SERVER="vps"
|
||||
KEY=$(uci -q get openmptcprouter.$SERVER.token)
|
||||
HOST=$(uci -q get openmptcprouter.$SERVER.ip | awk '{print $1}')
|
||||
|
|
@ -8,19 +12,44 @@ PORT=$(uci -q get openmptcprouter.$SERVER.port)
|
|||
MP=false
|
||||
if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then
|
||||
trap : HUP INT TERM
|
||||
echo "Download test via server ${SERVER}:"
|
||||
[ -z "$FASTTEST" ] && echo "Disable SQM bandwidth limit on $INTERFACE"
|
||||
[ -n "$(tc qdisc | grep $INTERFACE | grep bandwidth)" ] && {
|
||||
export SQM_VERBOSITY_MIN=10
|
||||
export SQM_VERBOSITY_MAX=0
|
||||
export SQM_SYSLOG=1
|
||||
/etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null
|
||||
#tc qdisc delete dev $INTERFACE root 2>&1 >/dev/null
|
||||
#tc qdisc delete dev ifb4$INTERFACE root 2>&1 >/dev/null
|
||||
}
|
||||
[ -z "$FASTTEST" ] && echo "Download test via server ${SERVER}:"
|
||||
if [ -n "$INTERFACE" ]; then
|
||||
if [ "$(multipath ${INTERFACE} | grep default)" ]; then
|
||||
MP=true
|
||||
/etc/init.d/omr-tracker stop 2>&1 >/dev/null
|
||||
multipath ${INTERFACE} off
|
||||
fi
|
||||
curl -k -o /dev/null --interface $INTERFACE -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
|
||||
if [ $MP ]; then
|
||||
multipath ${INTERFACE} on
|
||||
/etc/init.d/omr-tracker start & 2>&1 >/dev/null
|
||||
#if [ "$(multipath ${INTERFACE} | grep default)" ]; then
|
||||
# MP=true
|
||||
# /etc/init.d/omr-tracker stop 2>&1 >/dev/null
|
||||
# multipath ${INTERFACE} off
|
||||
#fi
|
||||
if [ -n "$FASTTEST" ]; then
|
||||
if [ -n "$UPLOAD" ]; then
|
||||
avg_speed=$(curl -k --max-time 30 -o /dev/null -qfsS -w '%{speed_upload}' -X POST -d @/boot/vmlinuz -d @/boot/vmlinuz --interface $INTERFACE -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest 2>/dev/null)
|
||||
echo -n "$avg_speed"
|
||||
else
|
||||
avg_speed=$(curl -k --max-time 30 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest 2>/dev/null)
|
||||
echo -n "$avg_speed"
|
||||
fi
|
||||
else
|
||||
if [ -n "$UPLOAD" ]; then
|
||||
curl -k -o /dev/null -X POST -d @/boot/vmlinuz -d @/boot/vmlinuz --interface $INTERFACE -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
|
||||
else
|
||||
curl -k -o /dev/null --interface $INTERFACE -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
|
||||
fi
|
||||
fi
|
||||
#if [ $MP ]; then
|
||||
# multipath ${INTERFACE} on
|
||||
# /etc/init.d/omr-tracker start & 2>&1 >/dev/null
|
||||
#fi
|
||||
else
|
||||
curl -k -o /dev/null -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
|
||||
fi
|
||||
[ -z "$FASTTEST" ] && echo "Restart SQM on $INTERFACE"
|
||||
/etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null
|
||||
fi
|
||||
|
|
@ -107,6 +107,7 @@ _set_json() {
|
|||
_set_glorytun_vps() {
|
||||
local enabled port key
|
||||
enabled="$(uci -q get glorytun.vpn.enable)"
|
||||
[ "$enabled" != "1" ] && enabled="$(uci -q get glorytun-udp.vpn.enable)"
|
||||
[ "$enabled" != "1" ] && echo "Glorytun disabled" && return
|
||||
port="$(uci -q get glorytun.vpn.port)"
|
||||
key="$(uci -q get glorytun.vpn.key)"
|
||||
|
|
@ -1360,8 +1361,8 @@ _set_config_from_vps() {
|
|||
fi
|
||||
|
||||
# Shadowsocks settings
|
||||
shadowsocks_disabled="$(uci -q get openmptcprouter.settings.shadowsocks_disable)"
|
||||
[ -z "$shadowsocks_disabled" ] && shadowsocks_disabled=0
|
||||
#shadowsocks_disabled="$(uci -q get openmptcprouter.settings.shadowsocks_disable)"
|
||||
#[ -z "$shadowsocks_disabled" ] && shadowsocks_disabled=0
|
||||
ss_key="$(echo "$vps_config" | jsonfilter -q -e '@.shadowsocks.key')"
|
||||
ss_key="$(echo $ss_key | sed 's/-/+/g; s/_/\//g;')"
|
||||
if [ -n "$ss_key" ] && [ "$ss_key" != "$(uci -q get shadowsocks-libev.sss0.key)" ]; then
|
||||
|
|
@ -1397,7 +1398,6 @@ _set_config_from_vps() {
|
|||
set shadowsocks-libev.sss0.key=$ss_key
|
||||
set shadowsocks-libev.sss0.server_port=$ss_port
|
||||
set shadowsocks-libev.sss0.method=$ss_method
|
||||
set shadowsocks-libev.sss0.disabled=$shadowsocks_disabled
|
||||
set shadowsocks-libev.sss0.obfs=$ss_obfs
|
||||
set shadowsocks-libev.sss0.obfs_plugin=$ss_obfs_plugin
|
||||
set shadowsocks-libev.sss0.obfs_type=$ss_obfs_type
|
||||
|
|
@ -1910,17 +1910,16 @@ _config_service() {
|
|||
[ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] && {
|
||||
_get_vps_config
|
||||
}
|
||||
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
|
||||
[ -z "$vps_config" ] && return
|
||||
user_permission="$(echo "$vps_config" | jsonfilter -q -e '@.user.permission')"
|
||||
|
||||
if [ "$(uci -q get openmptcprouter.settings.firstboot)" != "0" ]; then
|
||||
[ -n "$vps_config" ] && [ -n "$(cat /proc/cpuinfo | grep aes)" ] && {
|
||||
[ -n "$(cat /proc/cpuinfo | grep aes)" ] && {
|
||||
vps_aes="$(echo "$vps_config" | jsonfilter -q -e '@.vps.aes')"
|
||||
if [ "$vps_aes" != "false" ] && [ "$user_permission" != "ro" ]; then
|
||||
logger -t "OMR-VPS" "CPU support AES, set it by default"
|
||||
method="$(uci -q get shadowsocks-libev.sss0.method)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.settings.encryption="aes-256-gcm"
|
||||
commit openmptcprouter
|
||||
set glorytun.vpn.chacha20="0"
|
||||
commit glorytun
|
||||
set glorytun-udp.vpn.chacha="0"
|
||||
|
|
@ -1935,6 +1934,11 @@ _config_service() {
|
|||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
|
||||
[ -z "$vps_config" ] && return
|
||||
user_permission="$(echo "$vps_config" | jsonfilter -q -e '@.user.permission')"
|
||||
|
||||
if [ "$user_permission" != "ro" ]; then
|
||||
#config_load shadowsocks-libev
|
||||
#config_foreach _set_ss_server_vps server
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ done
|
|||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set firewall.zone_lan.mtu_fix='1'
|
||||
set firewall.zone_vpn.mtu_fix='0'
|
||||
set firewall.zone_vpn.mtu_fix='1'
|
||||
set firewall.@include[0].reload='1'
|
||||
commit firewall
|
||||
EOF
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ if [ "$(uci -q get omr-tracker.omrvpn)" = "" ]; then
|
|||
set omr-tracker.omrvpn.wait-test=0
|
||||
set omr-tracker.omrvpn.server_http_test=1
|
||||
set omr-tracker.omrvpn.restart_down=0
|
||||
add_list omr-tracker.omrvpn.hosts='4.2.2.1'
|
||||
add_list omr-tracker.omrvpn.hosts='8.8.8.8'
|
||||
add_list omr-tracker.omrvpn.hosts='1.2.4.8'
|
||||
add_list omr-tracker.omrvpn.hosts='119.29.29.29'
|
||||
add_list omr-tracker.omrvpn.hosts='223.5.5.5'
|
||||
add_list omr-tracker.omrvpn.hosts='223.6.6.6'
|
||||
add_list omr-tracker.omrvpn.hosts='114.114.114.114'
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then
|
|||
set openvpn.omr.port=65301
|
||||
set openvpn.omr.cipher=AES-256-CBC
|
||||
set openvpn.omr.proto=tcp-client
|
||||
set openvpn.omr.ncp_disable=1
|
||||
set openvpn.omr.ncp_disable=0
|
||||
set openvpn.omr.auth_nocache=1
|
||||
set openvpn.omr.client=1
|
||||
set openvpn.omr.tls_client=1
|
||||
|
|
@ -154,5 +154,14 @@ if [ "$(uci -q get network.tun0.mtu)" = "1200" ] || [ -z "$(uci -q get network.t
|
|||
EOF
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get openmptcprouter.settings.vpn)" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.settings.vpn='glorytun_udp'
|
||||
set glorytun-udp.vpn.enable='1'
|
||||
commit glorytun-udp
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
fi
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
set sqm.wan1.interface="${wan1}"
|
||||
set sqm.wan1.download='0'
|
||||
set sqm.wan1.upload='0'
|
||||
set sqm.wan1.overhead='44'
|
||||
set sqm.wan1.debug_logging='0'
|
||||
set sqm.wan1.verbosity='5'
|
||||
set sqm.wan1.iqdisc_opts='autorate-ingress dual-dsthost'
|
||||
|
|
@ -25,6 +26,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
set sqm.wan2.linklayer='none'
|
||||
set sqm.wan2.enabled='1'
|
||||
set sqm.wan2.interface="${wan2}"
|
||||
set sqm.wan2.overhead='44'
|
||||
set sqm.wan2.download='0'
|
||||
set sqm.wan2.upload='0'
|
||||
set sqm.wan2.debug_logging='0'
|
||||
|
|
@ -45,6 +47,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
set sqm.wan3.interface="${wan3}"
|
||||
set sqm.wan3.download='0'
|
||||
set sqm.wan3.upload='0'
|
||||
set sqm.wan3.overhead='44'
|
||||
set sqm.wan3.debug_logging='0'
|
||||
set sqm.wan3.verbosity='5'
|
||||
set sqm.wan3.iqdisc_opts='autorate-ingress dual-dsthost'
|
||||
|
|
@ -62,6 +65,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
set sqm.wan4.linklayer='none'
|
||||
set sqm.wan4.enabled='1'
|
||||
set sqm.wan4.interface="${wan4}"
|
||||
set sqm.wan4.overhead='44'
|
||||
set sqm.wan4.download='0'
|
||||
set sqm.wan4.upload='0'
|
||||
set sqm.wan4.debug_logging='0'
|
||||
|
|
@ -87,7 +91,7 @@ if [ "$(uci -q get sqm.omrvpn)" = "" ] || [ -z "$(uci -q get sqm.omrvpn.delay_th
|
|||
set sqm.omrvpn.upload='0'
|
||||
set sqm.omrvpn.debug_logging='0'
|
||||
set sqm.omrvpn.verbosity='5'
|
||||
set sqm.omrvpn.overhead='40'
|
||||
set sqm.omrvpn.overhead='44'
|
||||
set sqm.omrvpn.iqdisc_opts='autorate-ingress'
|
||||
set sqm.omrvpn.delay_thr_ms='300'
|
||||
set sqm.omrvpn.reflector_ping_interval_s='0.5'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue