mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-12 18:41:51 +00:00
Add v2ray forward support
This commit is contained in:
parent
f6931b30a0
commit
800764c256
1 changed files with 97 additions and 41 deletions
|
@ -717,63 +717,119 @@ _vps_firewall_redirect_port() {
|
||||||
config_get dest_ip $1 dest_ip
|
config_get dest_ip $1 dest_ip
|
||||||
config_get dest_port $1 dest_port
|
config_get dest_port $1 dest_port
|
||||||
config_get src_ip $1 src_ip
|
config_get src_ip $1 src_ip
|
||||||
if [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then
|
config_get v2ray $1 v2ray "0"
|
||||||
|
if [ -n "$src_dport" ] && [ "$(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"
|
logger -t "OMR-VPS" "You can't redirect ports >= 65000, they are needed by OpenMPTCProuter Server part"
|
||||||
enabled="0"
|
enabled="0"
|
||||||
#uci -q delete firewall.$1
|
#uci -q delete firewall.$1
|
||||||
#return
|
#return
|
||||||
fi
|
fi
|
||||||
|
[ "$(v2ray.main.enabled)" = "0" ] && v2ray="0"
|
||||||
[ "$proto" = "all" ] && proto="tcp udp"
|
[ "$proto" = "all" ] && proto="tcp udp"
|
||||||
[ "$proto" = "" ] && proto="tcp udp"
|
[ "$proto" = "" ] && proto="tcp udp"
|
||||||
[ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && [ "$enabled" != "0" ] && {
|
[ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && [ "$enabled" != "0" ] && {
|
||||||
for protoi in $proto; do
|
for protoi in $proto; do
|
||||||
checkfw=""
|
if [ "$v2ray" = "0" ]; then
|
||||||
if [ "$family" = "ipv4" ]; then
|
checkfw=""
|
||||||
if [ "$src_dip" = "" ]; then
|
if [ "$family" = "ipv4" ]; then
|
||||||
checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
if [ "$src_dip" = "" ]; then
|
||||||
|
checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
||||||
|
else
|
||||||
|
comment=""
|
||||||
|
[ -n "$src_dip" ] && {
|
||||||
|
comment=" to $src_dip"
|
||||||
|
iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
|
||||||
|
}
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
comment=""
|
if [ "$src_dip" = "" ]; then
|
||||||
[ -n "$src_dip" ] && {
|
checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
||||||
comment=" to $src_dip"
|
else
|
||||||
iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
|
comment=""
|
||||||
}
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
[ -n "$src_ip" ] && comment=" from $src_ip"
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
|
checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "$checkfw" = "" ]; then
|
||||||
|
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}'
|
||||||
|
_set_json "shorewallopen" "$settings"
|
||||||
|
fi
|
||||||
|
if [ "$family" = "ipv4" ]; then
|
||||||
|
if [ "$src_dip" = "" ]; then
|
||||||
|
vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
|
||||||
|
else
|
||||||
|
comment=""
|
||||||
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$src_dip" = "" ]; then
|
||||||
|
vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
|
||||||
|
else
|
||||||
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ "$src_dip" = "" ]; then
|
checkfw=""
|
||||||
checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
if [ "$family" = "ipv4" ]; then
|
||||||
|
if [ "$src_dip" = "" ]; then
|
||||||
|
checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username open router $src_dport port $protoi")
|
||||||
|
else
|
||||||
|
comment=""
|
||||||
|
[ -n "$src_dip" ] && {
|
||||||
|
comment=" to $src_dip"
|
||||||
|
iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
|
||||||
|
}
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
checkfw=$(echo "$vpsfwlist" | grep "# OMR $username open router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
comment=""
|
if [ "$src_dip" = "" ]; then
|
||||||
[ -n "$src_dip" ] && comment=" to $src_dip"
|
checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username open router $src_dport port $protoi")
|
||||||
[ -n "$src_ip" ] && comment=" from $src_ip"
|
else
|
||||||
checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
|
comment=""
|
||||||
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
checkfw=$(echo "$vpsfw6list" | grep "# OMR $username open router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
if [ "$checkfw" = "" ]; then
|
||||||
if [ "$checkfw" = "" ]; then
|
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "ACCEPT","ipproto" : "'$family'"}'
|
||||||
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}'
|
_set_json "shorewallopen" "$settings"
|
||||||
_set_json "shorewallopen" "$settings"
|
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","destip" : "'$dest_ip'","proto" : "'$protoi'"}'
|
||||||
fi
|
_set_json "v2rayredirect" "$settings"
|
||||||
if [ "$family" = "ipv4" ]; then
|
|
||||||
if [ "$src_dip" = "" ]; then
|
|
||||||
vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
|
||||||
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
|
|
||||||
else
|
|
||||||
comment=""
|
|
||||||
[ -n "$src_dip" ] && comment=" to $src_dip"
|
|
||||||
[ -n "$src_ip" ] && comment=" from $src_ip"
|
|
||||||
vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
|
|
||||||
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
|
|
||||||
fi
|
fi
|
||||||
else
|
if [ "$family" = "ipv4" ]; then
|
||||||
if [ "$src_dip" = "" ]; then
|
if [ "$src_dip" = "" ]; then
|
||||||
vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
|
vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi")
|
||||||
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
|
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR open router $src_dport port $protoi")
|
||||||
|
else
|
||||||
|
comment=""
|
||||||
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username open router $src_dport port $protoi${comment}")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR open router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
[ -n "$src_dip" ] && comment=" to $src_dip"
|
if [ "$src_dip" = "" ]; then
|
||||||
[ -n "$src_ip" ] && comment=" from $src_ip"
|
vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi")
|
||||||
vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
|
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR open router $src_dport port $protoi")
|
||||||
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
|
else
|
||||||
|
[ -n "$src_dip" ] && comment=" to $src_dip"
|
||||||
|
[ -n "$src_ip" ] && comment=" from $src_ip"
|
||||||
|
vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username open router $src_dport port $protoi${comment}")
|
||||||
|
[ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR open router $src_dport port $protoi${comment}")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue