mirror of
https://github.com/Ysurac/openmptcprouter-vps.git
synced 2025-03-09 15:50:00 +00:00
commit
d27e62714b
8 changed files with 158 additions and 65 deletions
3
debian/postinst
vendored
3
debian/postinst
vendored
|
@ -6,7 +6,8 @@ test $DEBIAN_SCRIPT_DEBUG && set -v -x
|
|||
. /usr/share/debconf/confmodule
|
||||
|
||||
sed -i -e "s/^LOCALFILES=.*$/LOCALFILES=no/" -e "s/^SOURCES=.*$/SOURCES=no/" /usr/share/omr-server/debian9-x86_64.sh
|
||||
systemctl enable omr-update
|
||||
systemctl daemon-reload
|
||||
systemctl restart omr-update
|
||||
|
||||
db_stop
|
||||
|
||||
|
|
4
debian/rules
vendored
4
debian/rules
vendored
|
@ -13,6 +13,6 @@ override_dh_auto_install:
|
|||
cp -r ./shorewall4 $(CURDIR)/debian/omr-server/usr/share/omr-server/
|
||||
cp -r ./shorewall6 $(CURDIR)/debian/omr-server/usr/share/omr-server/
|
||||
cp -r ./bin $(CURDIR)/debian/omr-server/usr/share/omr-server/
|
||||
mkdir -p $(CURDIR)/debian/omr-server/lib/systemd/system
|
||||
cp omr-update.service.in $(CURDIR)/debian/omr-server/lib/systemd/system/omr-update.service
|
||||
mkdir -p $(CURDIR)/debian/etc/openmptcprouter-vps-admin
|
||||
touch $(CURDIR)/debian/etc/openmptcprouter-vps-admin/update-bin
|
||||
|
||||
|
|
|
@ -50,8 +50,8 @@ MLVPN_BINARY_VERSION="3.0.0+20201216.git.2263bab"
|
|||
UBOND_VERSION="672100fb57913ffd29caad63517e145a5974b078"
|
||||
OBFS_VERSION="master"
|
||||
OBFS_BINARY_VERSION="0.0.5-1"
|
||||
OMR_ADMIN_VERSION="2694612565aba58cc0a9bd2ad5d550aa4ef7bcf5"
|
||||
OMR_ADMIN_BINARY_VERSION="0.3+20210325"
|
||||
OMR_ADMIN_VERSION="027d5c8e80ef469d33e43f6cbf3103b30e55ea1c"
|
||||
OMR_ADMIN_BINARY_VERSION="0.3+20210508"
|
||||
DSVPN_VERSION="3b99d2ef6c02b2ef68b5784bec8adfdd55b29b1a"
|
||||
DSVPN_BINARY_VERSION="0.1.4-2"
|
||||
V2RAY_VERSION="4.35.1"
|
||||
|
@ -147,7 +147,8 @@ fi
|
|||
[ -f /etc/apt/sources.list.d/openmptcprouter.list ] && {
|
||||
echo "Update ${REPO} key"
|
||||
if [ "$CHINA" = "yes" ]; then
|
||||
wget -O - https://gitee.com/ysurac/openmptcprouter-vps-debian/raw/main/openmptcprouter.gpg.key | apt-key add -
|
||||
#wget -O - https://gitee.com/ysurac/openmptcprouter-vps-debian/raw/main/openmptcprouter.gpg.key | apt-key add -
|
||||
wget -O - https://gitlab.com/ysurac/openmptcprouter-vps-debian/raw/main/openmptcprouter.gpg.key | apt-key add -
|
||||
else
|
||||
wget -O - https://${REPO}/openmptcprouter.gpg.key | apt-key add -
|
||||
fi
|
||||
|
@ -192,7 +193,8 @@ if [ "$CHINA" = "yes" ]; then
|
|||
echo "Install git..."
|
||||
apt-get -y install git
|
||||
if [ ! -d /var/lib/openmptcprouter-vps-debian ]; then
|
||||
git clone https://gitee.com/ysurac/openmptcprouter-vps-debian.git /var/lib/openmptcprouter-vps-debian
|
||||
#git clone https://gitee.com/ysurac/openmptcprouter-vps-debian.git /var/lib/openmptcprouter-vps-debian
|
||||
git clone https://gitlab.com/ysurac/openmptcprouter-vps-debian.git /var/lib/openmptcprouter-vps-debian
|
||||
fi
|
||||
cd /var/lib/openmptcprouter-vps-debian
|
||||
git pull
|
||||
|
@ -204,7 +206,8 @@ if [ "$CHINA" = "yes" ]; then
|
|||
echo "deb [arch=amd64] file:/var/lib/openmptcprouter-vps-debian ./" > /etc/apt/sources.list.d/openmptcprouter.list
|
||||
cat /var/lib/openmptcprouter-vps-debian/openmptcprouter.gpg.key | apt-key add -
|
||||
if [ ! -d /usr/share/omr-server-git ]; then
|
||||
git clone https://gitee.com/ysurac/openmptcprouter-vps.git /usr/share/omr-server-git
|
||||
#git clone https://gitee.com/ysurac/openmptcprouter-vps.git /usr/share/omr-server-git
|
||||
git clone https://gitlab.com/ysurac/openmptcprouter-vps.git /usr/share/omr-server-git
|
||||
fi
|
||||
cd /usr/share/omr-server-git
|
||||
git pull
|
||||
|
@ -214,6 +217,7 @@ if [ "$CHINA" = "yes" ]; then
|
|||
git checkout master
|
||||
fi
|
||||
LOCALFILES="yes"
|
||||
TLS="no"
|
||||
DIR="/usr/share/omr-server-git"
|
||||
else
|
||||
echo "deb [arch=amd64] https://${REPO} buster main" > /etc/apt/sources.list.d/openmptcprouter.list
|
||||
|
@ -585,6 +589,12 @@ if systemctl -q is-active shadowsocks-libev-manager@manager; then
|
|||
systemctl -q stop shadowsocks-libev-manager@manager > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ "$LOCALFILES" = "no" ]; then
|
||||
wget -O /lib/systemd/system/omr-update.service ${VPSURL}${VPSPATH}/omr-update.service.in
|
||||
else
|
||||
cp ${DIR}/omr-update.service.in /lib/systemd/system/omr-update.service
|
||||
fi
|
||||
|
||||
# Install simple-obfs
|
||||
if [ "$OBFS" = "yes" ]; then
|
||||
echo "Install OBFS"
|
||||
|
@ -1160,38 +1170,29 @@ if [ "$update" = "0" ]; then
|
|||
else
|
||||
# Update only needed firewall files
|
||||
if [ "$LOCALFILES" = "no" ]; then
|
||||
wget -O /etc/shorewall/interfaces ${VPSURL}${VPSPATH}/shorewall4/interfaces
|
||||
wget -O /etc/shorewall/snat ${VPSURL}${VPSPATH}/shorewall4/snat
|
||||
wget -O /etc/shorewall/stoppedrules ${VPSURL}${VPSPATH}/shorewall4/stoppedrules
|
||||
wget -O /etc/shorewall/tcinterfaces ${VPSURL}${VPSPATH}/shorewall4/tcinterfaces
|
||||
wget -O /etc/shorewall/shorewall.conf ${VPSURL}${VPSPATH}/shorewall4/shorewall.conf
|
||||
wget -O /etc/shorewall/policy ${VPSURL}${VPSPATH}/shorewall4/policy
|
||||
wget -O /etc/shorewall/params ${VPSURL}${VPSPATH}/shorewall4/params
|
||||
wget -O /etc/shorewall/params.vpn ${VPSURL}${VPSPATH}/shorewall4/params.vpn
|
||||
wget -O /etc/shorewall/params.net ${VPSURL}${VPSPATH}/shorewall4/params.net
|
||||
wget -O /etc/shorewall6/params ${VPSURL}${VPSPATH}/shorewall6/params
|
||||
wget -O /etc/shorewall6/params.net ${VPSURL}${VPSPATH}/shorewall6/params.net
|
||||
wget -O /etc/shorewall6/params.vpn ${VPSURL}${VPSPATH}/shorewall6/params.vpn
|
||||
wget -O /etc/shorewall6/interfaces ${VPSURL}${VPSPATH}/shorewall6/interfaces
|
||||
wget -O /etc/shorewall6/stoppedrules ${VPSURL}${VPSPATH}/shorewall6/stoppedrules
|
||||
wget -O /etc/shorewall6/snat ${VPSURL}${VPSPATH}/shorewall6/snat
|
||||
else
|
||||
cp ${DIR}/shorewall4/interfaces /etc/shorewall/interfaces
|
||||
cp ${DIR}/shorewall4/snat /etc/shorewall/snat
|
||||
cp ${DIR}/shorewall4/stoppedrules /etc/shorewall/stoppedrules
|
||||
cp ${DIR}/shorewall4/tcinterfaces /etc/shorewall/tcinterfaces
|
||||
cp ${DIR}/shorewall4/shorewall.conf /etc/shorewall/shorewall.conf
|
||||
cp ${DIR}/shorewall4/policy /etc/shorewall/policy
|
||||
cp ${DIR}/shorewall4/params /etc/shorewall/params
|
||||
cp ${DIR}/shorewall4/params.vpn /etc/shorewall/params.vpn
|
||||
cp ${DIR}/shorewall4/params.net /etc/shorewall/params.net
|
||||
cp ${DIR}/shorewall6/params /etc/shorewall6/params
|
||||
cp ${DIR}/shorewall6/params.net /etc/shorewall6/params.net
|
||||
cp ${DIR}/shorewall6/params.vpn /etc/shorewall6/params.vpn
|
||||
cp ${DIR}/shorewall6/interfaces /etc/shorewall6/interfaces
|
||||
cp ${DIR}/shorewall6/stoppedrules /etc/shorewall6/stoppedrules
|
||||
cp ${DIR}/shorewall6/snat /etc/shorewall6/snat
|
||||
mkdir -p ${DIR}
|
||||
wget -O ${DIR}/openmptcprouter-shorewall.tar.gz ${VPSURL}${VPSPATH}/openmptcprouter-shorewall.tar.gz
|
||||
wget -O ${DIR}/openmptcprouter-shorewall6.tar.gz ${VPSURL}${VPSPATH}/openmptcprouter-shorewall6.tar.gz
|
||||
mkdir -p ${DIR}/shorewall4
|
||||
tar xzvf ${DIR}/openmptcprouter-shorewall.tar.gz -C ${DIR}/shorewall4
|
||||
mkdir -p ${DIR}/shorewall6
|
||||
tar xzvf ${DIR}/openmptcprouter-shorewall6.tar.gz -C ${DIR}/shorewall6
|
||||
fi
|
||||
cp ${DIR}/shorewall4/interfaces /etc/shorewall/interfaces
|
||||
cp ${DIR}/shorewall4/snat /etc/shorewall/snat
|
||||
cp ${DIR}/shorewall4/stoppedrules /etc/shorewall/stoppedrules
|
||||
cp ${DIR}/shorewall4/tcinterfaces /etc/shorewall/tcinterfaces
|
||||
cp ${DIR}/shorewall4/shorewall.conf /etc/shorewall/shorewall.conf
|
||||
cp ${DIR}/shorewall4/policy /etc/shorewall/policy
|
||||
cp ${DIR}/shorewall4/params /etc/shorewall/params
|
||||
cp ${DIR}/shorewall4/params.vpn /etc/shorewall/params.vpn
|
||||
cp ${DIR}/shorewall4/params.net /etc/shorewall/params.net
|
||||
cp ${DIR}/shorewall6/params /etc/shorewall6/params
|
||||
cp ${DIR}/shorewall6/params.net /etc/shorewall6/params.net
|
||||
cp ${DIR}/shorewall6/params.vpn /etc/shorewall6/params.vpn
|
||||
cp ${DIR}/shorewall6/interfaces /etc/shorewall6/interfaces
|
||||
cp ${DIR}/shorewall6/stoppedrules /etc/shorewall6/stoppedrules
|
||||
cp ${DIR}/shorewall6/snat /etc/shorewall6/snat
|
||||
sed -i "s:eth0:$INTERFACE:g" /etc/shorewall/*
|
||||
sed -i 's/^.*#DNAT/#DNAT/g' /etc/shorewall/rules
|
||||
sed -i 's:10.0.0.2:$OMR_ADDR:g' /etc/shorewall/rules
|
||||
|
@ -1272,6 +1273,7 @@ fi
|
|||
|
||||
if [ "$SOURCES" != "yes" ]; then
|
||||
apt-get -y install omr-server=${OMR_VERSION} 2>&1 >/dev/null || true
|
||||
rm -f /etc/openmtpcprouter-vps-admin/update-bin
|
||||
fi
|
||||
|
||||
if [ "$update" = "0" ]; then
|
||||
|
@ -1298,7 +1300,7 @@ if [ "$update" = "0" ]; then
|
|||
echo 'Your glorytun key: '
|
||||
echo $GLORYTUN_PASS
|
||||
if [ "$DSVPN" = "yes" ]; then
|
||||
echo 'A Dead Simple VPN port: 65011'
|
||||
echo 'A Dead Simple VPN port: 65401'
|
||||
echo 'A Dead Simple VPN key: '
|
||||
echo $DSVPN_PASS
|
||||
fi
|
||||
|
@ -1345,7 +1347,7 @@ if [ "$update" = "0" ]; then
|
|||
EOF
|
||||
if [ "$DSVPN" = "yes" ]; then
|
||||
cat >> /root/openmptcprouter_config.txt <<-EOF
|
||||
A Dead Simple VPN port: 65011
|
||||
A Dead Simple VPN port: 65401
|
||||
A Dead Simple VPN key: ${DSVPN_PASS}
|
||||
EOF
|
||||
fi
|
||||
|
|
11
omr-service
11
omr-service
|
@ -40,6 +40,15 @@ _glorytun_tcp() {
|
|||
fi
|
||||
}
|
||||
|
||||
_dsvpn() {
|
||||
[ -n "$(ip -6 r show 64:ff9b::/96 dev dsvpn0)" ] && ip -6 r del 64:ff9b::/96 dev dsvpn0 2>&1 >/dev/null
|
||||
}
|
||||
|
||||
_wireguard() {
|
||||
[ -n "$(ip a show dev wg0)" ] && ip a add 10.255.247.1/24 dev wg0 2>&1 >/dev/null
|
||||
}
|
||||
|
||||
|
||||
_omr_api() {
|
||||
[ -z "$(curl -s -k -m 30 https://127.0.0.1:65500/)" ] && {
|
||||
logger -t "OMR-Service" "Restart OMR-Admin"
|
||||
|
@ -109,6 +118,8 @@ ip link add omr-bonding type bond 2>&1 >/dev/null
|
|||
while true; do
|
||||
_glorytun_udp
|
||||
_glorytun_tcp
|
||||
_dsvpn
|
||||
_wireguard
|
||||
_multipath
|
||||
_omr_api
|
||||
_lan_route
|
||||
|
|
51
omr-test-speed
Executable file → Normal file
51
omr-test-speed
Executable file → Normal file
|
@ -1,30 +1,43 @@
|
|||
#!/bin/sh
|
||||
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
|
||||
INTERFACE="$1"
|
||||
OVH=false
|
||||
if [ "$1" = "ovh" ]; then
|
||||
OVH=true
|
||||
INTERFACE="$2"
|
||||
else
|
||||
INTERFACE="$1"
|
||||
fi
|
||||
|
||||
echo "Select best test server..."
|
||||
HOSTLST="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 http://speedtest.tele2.net/1000GB.zip http://www.ovh.net/files/10Gb.dat 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"
|
||||
bestping="999"
|
||||
for pinghost in $HOSTLST; do
|
||||
domain=$(echo $pinghost | awk -F/ '{print $3}')
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
ping=$(ping -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
else
|
||||
ping=$(ping -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
fi
|
||||
echo "host: $domain - ping: $ping"
|
||||
if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then
|
||||
bestping=$ping
|
||||
HOST=$pinghost
|
||||
fi
|
||||
done
|
||||
[ -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
|
||||
}
|
||||
|
||||
if [ "$OVH" = false ]; then
|
||||
echo "Select best test server..."
|
||||
HOSTLST="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 http://speedtest.tele2.net/1000GB.zip http://proof.ovh.net/files/10Gb.dat 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"
|
||||
bestping="9999"
|
||||
for pinghost in $HOSTLST; do
|
||||
domain=$(echo $pinghost | awk -F/ '{print $3}')
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
ping=$(ping -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
else
|
||||
ping=$(ping -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
fi
|
||||
echo "host: $domain - ping: $ping"
|
||||
if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then
|
||||
bestping=$ping
|
||||
HOST=$pinghost
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
[ -z "$HOST" ] && HOST="http://proof.ovh.net/files/10Gio.dat"
|
||||
|
||||
echo "Best server is $HOST, running test:"
|
||||
trap : HUP INT TERM
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
curl -4 $HOST >/dev/null || echo
|
||||
curl -4 -o /dev/null $HOST || echo
|
||||
else
|
||||
domain=$(echo $HOST | awk -F/ '{print $3}')
|
||||
hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ')
|
||||
|
@ -33,7 +46,7 @@ else
|
|||
ipset add ss_rules_dst_bypass_all $ip
|
||||
done
|
||||
fi
|
||||
curl -4 --interface $INTERFACE $HOST >/dev/null || echo
|
||||
curl -4 -o /dev/null --interface $INTERFACE $HOST || echo
|
||||
if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then
|
||||
for ip in $hostip; do
|
||||
ipset del ss_rules_dst_bypass_all $ip
|
||||
|
|
56
omr-test-speedv6
Normal file
56
omr-test-speedv6
Normal file
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
|
||||
OVH=false
|
||||
if [ "$1" = "ovh" ]; then
|
||||
OVH=true
|
||||
INTERFACE="$2"
|
||||
else
|
||||
INTERFACE="$1"
|
||||
fi
|
||||
|
||||
[ -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
|
||||
}
|
||||
|
||||
|
||||
if [ "$OVH" = false ]; then
|
||||
echo "Select best test server..."
|
||||
HOSTLST="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 http://speedtest.tele2.net/1000GB.zip http://www.ovh.net/files/10Gb.dat https://speed.hetzner.de/10GB.bin http://ipv6.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"
|
||||
bestping="9999"
|
||||
for pinghost in $HOSTLST; do
|
||||
domain=$(echo $pinghost | awk -F/ '{print $3}')
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
ping=$(ping -6 -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
else
|
||||
ping=$(ping -6 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1)
|
||||
fi
|
||||
echo "host: $domain - ping: $ping"
|
||||
if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then
|
||||
bestping=$ping
|
||||
HOST=$pinghost
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
[ -z "$HOST" ] && HOST="http://proof.ovh.net/files/10Gio.dat"
|
||||
|
||||
echo "Best server is $HOST, running test:"
|
||||
trap : HUP INT TERM
|
||||
if [ -z "$INTERFACE" ]; then
|
||||
curl -6 $HOST >/dev/null || echo
|
||||
else
|
||||
domain=$(echo $HOST | awk -F/ '{print $3}')
|
||||
hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ')
|
||||
if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then
|
||||
for ip in $hostip; do
|
||||
ipset add ss_rules6_dst_bypass_all $ip
|
||||
done
|
||||
fi
|
||||
curl -6 --interface $INTERFACE $HOST >/dev/null || echo
|
||||
if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then
|
||||
for ip in $hostip; do
|
||||
ipset del ss_rules6_dst_bypass_all $ip
|
||||
done
|
||||
fi
|
||||
fi
|
11
omr-update
Executable file
11
omr-update
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
if [ -f /etc/openmptcprouter-vps-admin/update ]; then
|
||||
wget -O - http://www.openmptcprouter.com/server-test/debian10-x86_64.sh | sh
|
||||
rm -f /etc/openmptcprouter-vps-admin/update
|
||||
reboot
|
||||
fi
|
||||
if [ -f /etc/openmptcprouter-vps-admin/update-bin ]; then
|
||||
LOCALFILES=yes SOURCES=yes REINSTALL=no /usr/share/omr-server/debian9-x86_64.sh
|
||||
rm -f /etc/openmptcprouter-vps-admin/update-bin
|
||||
#reboot
|
||||
fi
|
|
@ -4,11 +4,10 @@ After=network.target network-online.target
|
|||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=no
|
||||
Environment="SOURCES=no"
|
||||
Environment="REINSTALL=no"
|
||||
Environment="LOCALFILES=yes"
|
||||
ExecStart=/usr/share/omr-server/debian9-x86_64.sh
|
||||
Restart=never
|
||||
ExecStart=/usr/bin/omr-update
|
||||
#ExecStart=/usr/share/omr-server/debian9-x86_64.sh
|
||||
AmbientCapabilities=
|
||||
StandardOutput=file:/var/log/omr-update.log
|
||||
StandardError=file:/var/log/omr-update.log
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue