mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add v2ray support
This commit is contained in:
parent
c22707f48a
commit
069f6ff91b
1 changed files with 71 additions and 11 deletions
|
@ -32,7 +32,7 @@ _login() {
|
|||
_ping_server() {
|
||||
server="$(uci -q get openmptcprouter.${servername}.ip)"
|
||||
[ -z "$server" ] && server="$(uci -q get shadowsocks-libev.sss0.server)"
|
||||
ret=$(ping -c 3 -w 3 -Q 184 $server) && echo "$ret" | grep -sq "bytes from" && return
|
||||
ret=$(ping -c 3 -w 3 -Q 184 $server 2>&1) && echo "$ret" | grep -sq "bytes from" && return
|
||||
false
|
||||
}
|
||||
|
||||
|
@ -310,6 +310,16 @@ _get_vps_config() {
|
|||
/etc/init.d/shadowsocks-libev restart
|
||||
fi
|
||||
fi
|
||||
if [ "$(uci -q get v2ray.omrout.s_vmess_address)" != "127.0.0.1" ] && [ "$(uci -q get v2ray.omrout.s_vmess_address)" != "$vpsip" ] && [ "$(uci -q get openmptcprouter.settings.ha)" != "1" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set v2ray.omrout.s_vmess_address="$vpsip"
|
||||
commit v2ray
|
||||
EOF
|
||||
if [ "$(uci -q get v2ray.main.enabled)" = "1" ]; then
|
||||
logger -t "OMR-VPS" "Restart V2Ray..."
|
||||
/etc/init.d/v2ray restart
|
||||
fi
|
||||
fi
|
||||
if [ "$(uci -q get openvpn.omr.remote)" != "127.0.0.1" ] && [ "$(uci -q get openvpn.omr.remote)" != "$vpsip" ] && [ "$(uci -q get openmptcprouter.settings.ha)" != "1" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openvpn.omr.remote="$vpsip"
|
||||
|
@ -584,7 +594,7 @@ _set_vpn_vps() {
|
|||
local settings
|
||||
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
|
||||
[ -z "$vps_config" ] && return
|
||||
vpn_current="$(echo "$vps_config" | jsonfilter -q -e '@.vps.current')"
|
||||
vpn_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.current')"
|
||||
vpn="$(uci -q get openmptcprouter.settings.vpn)"
|
||||
if [ "$vpn_current" != "$vpn" ]; then
|
||||
settings='{"vpn" : "'$vpn'"}'
|
||||
|
@ -594,6 +604,20 @@ _set_vpn_vps() {
|
|||
fi
|
||||
}
|
||||
|
||||
_set_proxy_vps() {
|
||||
local settings
|
||||
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
|
||||
[ -z "$vps_config" ] && return
|
||||
proxy_current="$(echo "$vps_config" | jsonfilter -q -e '@.proxy.current')"
|
||||
proxy="$(uci -q get openmptcprouter.settings.proxy)"
|
||||
if [ "$proxy_current" != "$proxy" ]; then
|
||||
settings='{"proxy" : "'$proxy'"}'
|
||||
echo $(_set_json "proxy" "$settings")
|
||||
else
|
||||
echo 1
|
||||
fi
|
||||
}
|
||||
|
||||
_get_local_wan_ip() {
|
||||
wanip="$(uci -q get openmptcprouter.$1.publicip)"
|
||||
[ -n "$wanip" ] && {
|
||||
|
@ -685,13 +709,14 @@ _vps_firewall_redirect_port() {
|
|||
config_get enabled $1 enabled "1"
|
||||
config_get src_dip $1 src_dip
|
||||
config_get src_ip $1 src_ip
|
||||
[ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ] && {
|
||||
if [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then
|
||||
logger -t "OMR-VPS" "You can't redirect ports >= 65000, they are needed by OpenMPTCProuter Server part"
|
||||
uci -q delete firewall.$1
|
||||
return
|
||||
}
|
||||
enabled="0"
|
||||
#uci -q delete firewall.$1
|
||||
#return
|
||||
fi
|
||||
[ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && [ "$enabled" != "0" ] && {
|
||||
if [ "$proto" = "tcp udp" ]; then
|
||||
if [ "$proto" = "tcp udp" ] || [ "$proto" = "all" ]; then
|
||||
checkfw=""
|
||||
if [ "$family" = "ipv4" ]; then
|
||||
if [ "$src_dip" = "" ]; then
|
||||
|
@ -956,6 +981,9 @@ _set_config_from_vps() {
|
|||
# get VPS ip
|
||||
vpsip="$(uci -q get openmptcprouter.${servername}.ip)"
|
||||
vps_lastchange="$(echo "$vps_config" | jsonfilter -q -e '@.vps.lastchange')"
|
||||
lastchange="$(uci -q get openmptcprouter.${servername}.lastchange)"
|
||||
[ -z "$lastchange" ] && lastchange=0
|
||||
#[ -n "$lastchange" ] && [ -n "$vps_lastchange" ] && [ "$lastchange" -gt "$vps_lastchange" ] && return
|
||||
user_permission="$(echo "$vps_config" | jsonfilter -q -e '@.user.permission')"
|
||||
[ -z "$user_permission" ] && user_permission="rw"
|
||||
|
||||
|
@ -977,7 +1005,7 @@ _set_config_from_vps() {
|
|||
|
||||
# Set current VPN
|
||||
current_vpn="$(uci -q get openmptcprouter.settings.vpn)"
|
||||
if [ -z "$current_vpn" ] || [ -n "$vps_lastchange" ] || [ "$user_permission" = "ro" ]; then
|
||||
if [ -z "$current_vpn" ] || ([ -n "$vps_lastchange" ] && [ "$vps_lastchange" -gt "$lastchange" ]) || [ "$user_permission" = "ro" ]; then
|
||||
current_vpn="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.current')"
|
||||
if [ -n "$current_vpn" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
|
@ -987,6 +1015,18 @@ _set_config_from_vps() {
|
|||
fi
|
||||
fi
|
||||
|
||||
# Set current Proxy
|
||||
current_proxy="$(uci -q get openmptcprouter.settings.proxy)"
|
||||
if [ -z "$current_proxy" ] || ([ -n "$vps_lastchange" ] && [ "$vps_lastchange" -gt "$lastchange" ]) || [ "$user_permission" = "ro" ]; then
|
||||
current_proxy="$(echo "$vps_config" | jsonfilter -q -e '@.proxy.current')"
|
||||
if [ -n "$current_proxy" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.settings.proxy=${current_proxy}
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
# Shadowsocks settings
|
||||
shadowsocks_disabled="$(uci -q get openmptcprouter.settings.shadowsocks_disable)"
|
||||
[ -z "$shadowsocks_disabled" ] && shadowsocks_disabled=0
|
||||
|
@ -1041,8 +1081,27 @@ _set_config_from_vps() {
|
|||
config_foreach _set_ss_server server "server" $vpsip
|
||||
fi
|
||||
uci -q commit shadowsocks-libev
|
||||
logger -t "OMR-VPS" "Shadowsocks restart..."
|
||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>&1
|
||||
if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ]; then
|
||||
logger -t "OMR-VPS" "Shadowsocks restart..."
|
||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
# V2Ray settings
|
||||
v2ray_key="$(echo "$vps_config" | jsonfilter -q -e '@.v2ray.config.key')"
|
||||
#v2ray_port="$(echo "$vps_config" | jsonfilter -q -e '@.v2ray.config.port')"
|
||||
v2ray_port="65228"
|
||||
if ([ -n "$v2ray_key" ] && [ "$v2ray_key" != "$(uci -q get v2ray.omrout.s_vmess_user_id)" ]) || ([ -n "$v2ray_port" ] && [ "$v2ray_port" != "$(uci -q get v2ray.omrout.s_vmess.port)" ]); then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set v2ray.omrout.s_vmess_user_id="$v2ray_key"
|
||||
set v2ray.omrout.s_vmess_port="$v2ray_port"
|
||||
EOF
|
||||
if [ "$(uci -q get v2ray.omrout.s_vmess_address)" != "127.0.0.1" ]; then
|
||||
uci -q set v2ray.omrout.s_vmess_address="$vpsip"
|
||||
fi
|
||||
uci -q commit v2ray
|
||||
logger -t "OMR-VPS" "V2ray restart..."
|
||||
/etc/init.d/v2ray restart >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Glorytun settings
|
||||
|
@ -1479,6 +1538,7 @@ _config_service() {
|
|||
[ -z "$(_set_redirect_ports_from_vps $redirect_port)" ] && error=1
|
||||
[ -z "$(_set_mptcp_vps)" ] && error=1
|
||||
[ -z "$(_set_vpn_vps)" ] && error=1
|
||||
[ -z "$(_set_proxy_vps)" ] && error=1
|
||||
fi
|
||||
[ "$(uci -q get shadowsocks-libev.sss0.key)" = "" ] && uci -q set openmptcprouter.${servername}.get_config=1
|
||||
|
||||
|
@ -1540,6 +1600,6 @@ start_service() {
|
|||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger openmptcprouter shadowsocks-libev glorytun mlvpn openvpn network upnpd dsvpn
|
||||
procd_add_reload_trigger openmptcprouter shadowsocks-libev glorytun mlvpn openvpn network upnpd dsvpn v2ray firewall
|
||||
#procd_add_reload_trigger openmptcprouter shadowsocks-libev network upnpd
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue