mirror of
https://github.com/Ysurac/openmptcprouter-vps.git
synced 2025-02-12 11:21:56 +00:00
Better check if VPN are installed or not for OMR-Service
This commit is contained in:
parent
93f9244e83
commit
c06b6ac75f
1 changed files with 45 additions and 30 deletions
75
omr-service
75
omr-service
|
@ -20,7 +20,8 @@ _multipath() {
|
|||
}
|
||||
|
||||
_glorytun_udp() {
|
||||
if [ -n "$(systemctl -a | grep 'glorytun-udp')" ]; then
|
||||
#if [ -n "$(systemctl -a | grep 'glorytun-udp')" ]; then
|
||||
if systemctl list-unit-files glorytun-udp@.service >/dev/null; then
|
||||
[ -z "$(glorytun show dev gt-udp-tun0 2>/dev/null | grep tunnel)" ] && {
|
||||
logger -t "OMR-Service" "Restart Glorytun-UDP"
|
||||
systemctl -q restart 'glorytun-udp@*'
|
||||
|
@ -34,7 +35,8 @@ _glorytun_udp() {
|
|||
}
|
||||
|
||||
_glorytun_tcp() {
|
||||
if [ -n "$(systemctl -a | grep 'glorytun-tcp')" ]; then
|
||||
#if [ -n "$(systemctl -a | grep 'glorytun-tcp')" ]; then
|
||||
if systemctl list-unit-files glorytun-tcp@.service >/dev/null; then
|
||||
for intf in /etc/glorytun-tcp/tun*; do
|
||||
[ "$(echo $intf | grep key)" = "" ] && /etc/glorytun-tcp/post.sh ${intf}
|
||||
done
|
||||
|
@ -53,49 +55,61 @@ _glorytun_tcp() {
|
|||
}
|
||||
|
||||
_dsvpn() {
|
||||
[ -n "$(ip -6 r show 64:ff9b::/96 dev dsvpn0)" ] && ip -6 r del 64:ff9b::/96 dev dsvpn0 >/dev/null 2>&1
|
||||
if [ -f /etc/openmptcprouter-vps-admin/current-vpn ] && [ "$(cat /etc/openmptcprouter-vps-admin/current-vpn)" = "dsvpn" ]; then
|
||||
localip="$(cat /etc/dsvpn/dsvpn0 | grep LOCALTUNIP | cut -d '=' -f2)"
|
||||
[ -z "$localip" ] && localip="10.255.251.1"
|
||||
remoteip="$(echo $localip | sed 's/\.1/\.2/')"
|
||||
if [ "$(ping -c 5 -w 5 $remoteip | grep '100%')" != "" ] && [ "$(expr $(date +%s) - $(stat -c %Y /proc/$(pgrep dsvpn)/exe ))" -gt "300" ]; then
|
||||
logger -t "OMR-Service" "No answer from VPN client end, restart DSVPN"
|
||||
systemctl restart dsvpn-server@dsvpn0
|
||||
#if [ -n "$(systemctl -a | grep 'dsvpn')" ]; then
|
||||
if systemctl list-unit-files dsvpn-server@.service >/dev/null; then
|
||||
[ -n "$(ip -6 r show 64:ff9b::/96 dev dsvpn0)" ] && ip -6 r del 64:ff9b::/96 dev dsvpn0 >/dev/null 2>&1
|
||||
if [ -f /etc/openmptcprouter-vps-admin/current-vpn ] && [ "$(cat /etc/openmptcprouter-vps-admin/current-vpn)" = "dsvpn" ]; then
|
||||
localip="$(cat /etc/dsvpn/dsvpn0 | grep LOCALTUNIP | cut -d '=' -f2)"
|
||||
[ -z "$localip" ] && localip="10.255.251.1"
|
||||
remoteip="$(echo $localip | sed 's/\.1/\.2/')"
|
||||
if [ "$(ping -c 5 -w 5 $remoteip | grep '100%')" != "" ] && [ "$(expr $(date +%s) - $(stat -c %Y /proc/$(pgrep dsvpn)/exe ))" -gt "300" ]; then
|
||||
logger -t "OMR-Service" "No answer from VPN client end, restart DSVPN"
|
||||
systemctl restart dsvpn-server@dsvpn0
|
||||
fi
|
||||
#ip link set mtu 9000 dev dsvpn0 >/dev/null 2>&1
|
||||
fi
|
||||
#ip link set mtu 9000 dev dsvpn0 >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
_shadowsocks() {
|
||||
[ -n "$(systemctl -a | grep 'shadowsocks-libev')" ] && [ -z "$(pgrep ss-server)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart Shadowsocks libev"
|
||||
systemctl restart shadowsocks-libev-manager@manager
|
||||
}
|
||||
if systemctl list-unit-files shadowsocks-libev-manager@.service >/dev/null; then
|
||||
[ -z "$(pgrep ss-server)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart Shadowsocks libev"
|
||||
systemctl restart shadowsocks-libev-manager@manager
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
_shadowsocks_go() {
|
||||
[ -n "$(systemctl -a | grep 'shadowsocks-go')" ] && [ -z "$(pgrep shadowsocks-go)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart Shadowsocks go"
|
||||
systemctl restart shadowsocks-go
|
||||
}
|
||||
if systemctl list-unit-files shadowsocks-go.service >/dev/null; then
|
||||
[ -z "$(pgrep shadowsocks-go)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart Shadowsocks go"
|
||||
systemctl restart shadowsocks-go
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
_xray() {
|
||||
[ -n "$(systemctl -a | grep 'xray')" ] && [ -z "$(pgrep xray)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart XRay"
|
||||
systemctl restart xray
|
||||
}
|
||||
if systemctl list-unit-files xray.service >/dev/null; then
|
||||
[ -z "$(pgrep xray)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart XRay"
|
||||
systemctl restart xray
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
_v2ray() {
|
||||
[ -n "$(systemctl -a | grep 'v2ray')" ] && [ -z "$(pgrep v2ray)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart V2Ray"
|
||||
systemctl restart v2ray
|
||||
}
|
||||
if systemctl list-unit-files v2ray.service >/dev/null; then
|
||||
[ -z "$(pgrep v2ray)" ] && {
|
||||
logger -t "OMR-Service" "ss-server not detected, restart V2Ray"
|
||||
systemctl restart v2ray
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
_wireguard() {
|
||||
if [ -n "$(systemctl -a | grep 'wg')" ]; then
|
||||
#if [ -n "$(systemctl -a | grep 'wg')" ]; then
|
||||
if systemctl list-unit-files wg-quick@.service >/dev/null; then
|
||||
[ -z "$(ip a show dev wg0 | grep '10.255.247.1')" ] && ip a add 10.255.247.1/24 dev wg0 >/dev/null 2>&1
|
||||
[ -z "$(ip a show dev client-wg0 | grep '10.255.246.1')" ] && ip a add 10.255.246.1/24 dev client-wg0 >/dev/null 2>&1
|
||||
fi
|
||||
|
@ -120,9 +134,10 @@ _lan_route() {
|
|||
while IFS=$"\n" read -r d; do
|
||||
if [ "$d" != "" ]; then
|
||||
network=$(ipcalc -n $d | grep Network | awk '{print $2}')
|
||||
networkonly=$(ipcalc -n $d | grep Network | awk '{print $2}' | cut -d/ -f1)
|
||||
netmask=$(ipcalc -n $d | grep Netmask | awk '{print $2}')
|
||||
[ -n "$network" ] && [ -z "$(ip r show $network via $vpnremoteip)" ] && ip r replace $network via $vpnremoteip >/dev/null 2>&1
|
||||
[ -n "$network" ] && [ -n "$netmask" ] && [ -z "$(grep ${network} /etc/openvpn/cdd/${username})" ] && echo "iroute $network $netmask" >> /etc/openvpn/ccd/${username}
|
||||
[ -n "$networkonly" ] && [ -n "$netmask" ] && [ -z "$(grep $networkonly /etc/openvpn/ccd/${username})" ] && echo "iroute $networkonly $netmask" >> /etc/openvpn/ccd/${username}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
@ -150,7 +165,7 @@ _gre_tunnels() {
|
|||
}
|
||||
|
||||
_openvpn_bonding() {
|
||||
if [ "$(ip link show ovpnbonding1)" != "" ] && ([ "$(ip link show ovpnbonding1 | grep SLAVE)" = "" ] || [ "$(ip link show omr-bonding | grep DOWN)" != "" ] || [ "$(ip link show | grep ovpnbonding | grep -c SLAVE | tr -d '\n')" != "8" ]); then
|
||||
if [ "$(ip link show ovpnbonding1 2>/dev/null)" != "" ] && ([ "$(ip link show ovpnbonding1 2>/dev/null | grep SLAVE)" = "" ] || [ "$(ip link show omr-bonding 2>/dev/null | grep DOWN)" != "" ] || [ "$(ip link show | grep ovpnbonding | grep -c SLAVE | tr -d '\n')" != "8" ]); then
|
||||
echo 0 > /sys/class/net/omr-bonding/bonding/mode >/dev/null 2>&1
|
||||
ip link set ovpnbonding1 master omr-bonding >/dev/null 2>&1
|
||||
ip link set ovpnbonding1 up >/dev/null 2>&1
|
||||
|
|
Loading…
Reference in a new issue