feat(脚本): 添加新端口时会同步添加hysteria相应端口
parent
abc480ed5a
commit
e9f4d0d6dd
48
install.sh
48
install.sh
|
@ -353,12 +353,16 @@ readInstallAlpn() {
|
|||
|
||||
# 检查防火墙
|
||||
allowPort() {
|
||||
local type=$2
|
||||
if [[ -z ${type} ]]; then
|
||||
type=tcp
|
||||
fi
|
||||
# 如果防火墙启动状态则添加相应的开放端口
|
||||
if systemctl status netfilter-persistent 2>/dev/null | grep -q "active (exited)"; then
|
||||
local updateFirewalldStatus=
|
||||
if ! iptables -L | grep -q "$1(mack-a)"; then
|
||||
updateFirewalldStatus=true
|
||||
iptables -I INPUT -p tcp --dport "$1" -m comment --comment "allow $1(mack-a)" -j ACCEPT
|
||||
iptables -I INPUT -p ${type} --dport "$1" -m comment --comment "allow $1(mack-a)" -j ACCEPT
|
||||
fi
|
||||
|
||||
if echo "${updateFirewalldStatus}" | grep -q "true"; then
|
||||
|
@ -367,18 +371,16 @@ allowPort() {
|
|||
elif systemctl status ufw 2>/dev/null | grep -q "active (exited)"; then
|
||||
if ufw status | grep -q "Status: active"; then
|
||||
if ! ufw status | grep -q "$1"; then
|
||||
sudo ufw allow "$1"
|
||||
sudo ufw allow "$1/${type}"
|
||||
checkUFWAllowPort "$1"
|
||||
fi
|
||||
fi
|
||||
|
||||
elif
|
||||
systemctl status firewalld 2>/dev/null | grep -q "active (running)"
|
||||
then
|
||||
elif systemctl status firewalld 2>/dev/null | grep -q "active (running)"; then
|
||||
local updateFirewalldStatus=
|
||||
if ! firewall-cmd --list-ports --permanent | grep -qw "$1/tcp"; then
|
||||
if ! firewall-cmd --list-ports --permanent | grep -qw "$1/${type}"; then
|
||||
updateFirewalldStatus=true
|
||||
firewall-cmd --zone=public --add-port="$1/tcp" --permanent
|
||||
firewall-cmd --zone=public --add-port="$1/${type}" --permanent
|
||||
checkFirewalldAllowPort "$1"
|
||||
fi
|
||||
|
||||
|
@ -3543,6 +3545,7 @@ updateNginxBlog() {
|
|||
|
||||
# 添加新端口
|
||||
addCorePort() {
|
||||
readHysteriaConfig
|
||||
echoContent skyBlue "\n功能 1/${totalProgress} : 添加新端口"
|
||||
echoContent red "\n=============================================================="
|
||||
echoContent yellow "# 注意事项\n"
|
||||
|
@ -3550,6 +3553,7 @@ addCorePort() {
|
|||
echoContent yellow "不影响默认端口的使用"
|
||||
echoContent yellow "查看账号时,只会展示默认端口的账号"
|
||||
echoContent yellow "不允许有特殊字符,注意逗号的格式"
|
||||
echoContent yellow "会同时安装hysteria新端口"
|
||||
echoContent yellow "录入示例:2053,2083,2087\n"
|
||||
|
||||
echoContent yellow "1.添加端口"
|
||||
|
@ -3570,20 +3574,46 @@ addCorePort() {
|
|||
rm -rf "$(find ${configPath}* | grep "${port}")"
|
||||
|
||||
local fileName=
|
||||
local hysteriaFileName=
|
||||
if [[ -n "${defaultPort}" && "${port}" == "${defaultPort}" ]]; then
|
||||
fileName="${configPath}02_dokodemodoor_inbounds_${port}_default.json"
|
||||
else
|
||||
fileName="${configPath}02_dokodemodoor_inbounds_${port}.json"
|
||||
fi
|
||||
|
||||
if [[ -n ${hysteriaPort} ]]; then
|
||||
hysteriaFileName="${configPath}02_dokodemodoor_inbounds_hysteria_${port}.json"
|
||||
fi
|
||||
|
||||
# 开放端口
|
||||
allowPort "${port}"
|
||||
allowPort "${port}" "udp"
|
||||
|
||||
local settingsPort=443
|
||||
if [[ -n "${customPort}" ]]; then
|
||||
settingsPort=${customPort}
|
||||
fi
|
||||
|
||||
if [[ -n ${hysteriaFileName} ]]; then
|
||||
cat <<EOF >"${hysteriaFileName}"
|
||||
{
|
||||
"inbounds": [
|
||||
{
|
||||
"listen": "0.0.0.0",
|
||||
"port": ${port},
|
||||
"protocol": "dokodemo-door",
|
||||
"settings": {
|
||||
"address": "127.0.0.1",
|
||||
"port": ${hysteriaPort},
|
||||
"network": "udp",
|
||||
"followRedirect": false
|
||||
},
|
||||
"tag": "dokodemo-door-newPort-hysteria-${port}"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
cat <<EOF >"${fileName}"
|
||||
{
|
||||
"inbounds": [
|
||||
|
@ -5432,15 +5462,13 @@ menu() {
|
|||
cd "$HOME" || exit
|
||||
echoContent red "\n=============================================================="
|
||||
echoContent green "作者:mack-a"
|
||||
echoContent green "当前版本:v2.6.13"
|
||||
echoContent green "当前版本:v2.6.14"
|
||||
echoContent green "Github:https://github.com/mack-a/v2ray-agent"
|
||||
echoContent green "描述:八合一共存脚本\c"
|
||||
showInstallStatus
|
||||
echoContent red "\n=============================================================="
|
||||
echoContent red " 推广区 "
|
||||
echoContent green "AFF捐赠:https://github.com/mack-a/v2ray-agent/blob/master/documents/donation_aff.md\n"
|
||||
echoContent green "虚拟币捐赠:0xB08b731653515b083deE362fefFc45d5eb96c35d\n"
|
||||
echoContent green "推广可联系TG:https://t.me/mackaff"
|
||||
echoContent red "=============================================================="
|
||||
if [[ -n "${coreInstallType}" ]]; then
|
||||
echoContent yellow "1.重新安装"
|
||||
|
|
Loading…
Reference in New Issue