mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-03-01 01:20:49 +03:00
Correction of Previous Mistaken PR and the delete_ports function (#2231)
* 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 to correct the previous one, which cannot handle port range settings correctly. Corrected the confirmation of the deleted ports.
This commit is contained in:
parent
e794d3d87f
commit
835cf2801c
19
x-ui.sh
19
x-ui.sh
@ -620,7 +620,8 @@ 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)
|
||||||
ufw allow $start_port:$end_port
|
ufw allow $start_port:$end_port/tcp
|
||||||
|
ufw allow $start_port:$end_port/udp
|
||||||
else
|
else
|
||||||
ufw allow "$port"
|
ufw allow "$port"
|
||||||
fi
|
fi
|
||||||
@ -652,15 +653,27 @@ delete_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)
|
||||||
# Delete the port range
|
# Delete the port range
|
||||||
ufw delete allow $start_port:$end_port
|
ufw delete allow $start_port:$end_port/tcp
|
||||||
|
ufw delete allow $start_port:$end_port/udp
|
||||||
else
|
else
|
||||||
ufw delete allow "$port"
|
ufw delete allow "$port"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# 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 "ALLOW" | grep -Eo "[0-9]+(/[a-z]+)?"
|
for port in "${PORT_LIST[@]}"; do
|
||||||
|
if [[ $port == *-* ]]; then
|
||||||
|
start_port=$(echo $port | cut -d'-' -f1)
|
||||||
|
end_port=$(echo $port | cut -d'-' -f2)
|
||||||
|
# Check if the port range has been successfully deleted
|
||||||
|
(ufw status | grep -q "$start_port:$end_port") || echo "$start_port-$end_port"
|
||||||
|
else
|
||||||
|
# Check if the individual port has been successfully deleted
|
||||||
|
(ufw status | grep -q "$port") || echo "$port"
|
||||||
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
update_geo() {
|
update_geo() {
|
||||||
|
Loading…
Reference in New Issue
Block a user