mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 21:42:24 +00:00
Update x-ui.sh with ufw port settings (#2230)
* Update x-ui.sh with ufw port settings It really costs time when adding rules for a large range, if for loop is used in bash. Changed it to built-in port range support in ufw.
This commit is contained in:
parent
a3a2d7a6a3
commit
3d5c06bf08
1 changed files with 11 additions and 11 deletions
22
x-ui.sh
22
x-ui.sh
|
@ -591,8 +591,9 @@ open_ports() {
|
||||||
|
|
||||||
# Check if the firewall is inactive
|
# Check if the firewall is inactive
|
||||||
if ufw status | grep -q "Status: active"; then
|
if ufw status | grep -q "Status: active"; then
|
||||||
echo "firewall is already active"
|
echo "Firewall is already active"
|
||||||
else
|
else
|
||||||
|
echo "Activating firewall..."
|
||||||
# Open the necessary ports
|
# Open the necessary ports
|
||||||
ufw allow ssh
|
ufw allow ssh
|
||||||
ufw allow http
|
ufw allow http
|
||||||
|
@ -619,17 +620,18 @@ open_ports() {
|
||||||
# Split the range into start and end ports
|
# Split the range into start and end ports
|
||||||
start_port=$(echo $port | cut -d'-' -f1)
|
start_port=$(echo $port | cut -d'-' -f1)
|
||||||
end_port=$(echo $port | cut -d'-' -f2)
|
end_port=$(echo $port | cut -d'-' -f2)
|
||||||
# Loop through the range and open each port
|
ufw allow $start_port:$end_port
|
||||||
for ((i = start_port; i <= end_port; i++)); do
|
|
||||||
ufw allow $i
|
|
||||||
done
|
|
||||||
else
|
else
|
||||||
ufw allow "$port"
|
ufw allow "$port"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Confirm that the ports are open
|
# Confirm that the ports are open
|
||||||
ufw status | grep $ports
|
echo "The following ports are now open:"
|
||||||
|
ufw status | grep "ALLOW" | grep -Eo "[0-9]+(/[a-z]+)?"
|
||||||
|
|
||||||
|
echo "Firewall status:"
|
||||||
|
ufw status verbose
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_ports() {
|
delete_ports() {
|
||||||
|
@ -649,10 +651,8 @@ delete_ports() {
|
||||||
# Split the range into start and end ports
|
# Split the range into start and end ports
|
||||||
start_port=$(echo $port | cut -d'-' -f1)
|
start_port=$(echo $port | cut -d'-' -f1)
|
||||||
end_port=$(echo $port | cut -d'-' -f2)
|
end_port=$(echo $port | cut -d'-' -f2)
|
||||||
# Loop through the range and delete each port
|
# Delete the port range
|
||||||
for ((i = start_port; i <= end_port; i++)); do
|
ufw delete allow $start_port:$end_port
|
||||||
ufw delete allow $i
|
|
||||||
done
|
|
||||||
else
|
else
|
||||||
ufw delete allow "$port"
|
ufw delete allow "$port"
|
||||||
fi
|
fi
|
||||||
|
@ -660,7 +660,7 @@ delete_ports() {
|
||||||
|
|
||||||
# Confirm that the ports are deleted
|
# Confirm that the ports are deleted
|
||||||
echo "Deleted the specified ports:"
|
echo "Deleted the specified ports:"
|
||||||
ufw status | grep $ports
|
ufw status | grep "ALLOW" | grep -Eo "[0-9]+(/[a-z]+)?"
|
||||||
}
|
}
|
||||||
|
|
||||||
update_geo() {
|
update_geo() {
|
||||||
|
|
Loading…
Reference in a new issue