diff --git a/web/html/xui/dns_modal.html b/web/html/xui/dns_modal.html index 5be2f257..8d0c3631 100644 --- a/web/html/xui/dns_modal.html +++ b/web/html/xui/dns_modal.html @@ -59,6 +59,53 @@ address: "localhost", domains: [], queryStrategy: 'UseIP', + + }, + ok() { + domains = dnsModal.dnsServer.domains.filter(d => d.length>0); + dnsModal.dnsServer.domains = domains; + newDnsServer = domains.length > 0 ? dnsModal.dnsServer : dnsModal.dnsServer.address; + ObjectUtil.execute(dnsModal.confirm, newDnsServer); + }, + show({ title='', okText='{{ i18n "confirm" }}', dnsServer, confirm=(dnsServer)=>{}, isEdit=false }) { + this.title = title; + this.okText = okText; + this.confirm = confirm; + this.visible = true; + if(isEdit) { + if (typeof dnsServer == 'object'){ + this.dnsServer = dnsServer; + } else { + this.dnsServer = { + address: dnsServer ?? "", + domains: [], + queryStrategy: 'UseIP', + } + } + } else { + this.dnsServer = { + address: "localhost", + domains: [], + queryStrategy: 'UseIP', + } + } + this.isEdit = isEdit; + }, + close() { + dnsModal.visible = false; + }, + }; + + new Vue({ + delimiters: ['[[', ']]'], + el: '#dns-modal', + data: { + dnsModal: dnsModal, + }, + computed: { + isAdvanced: { + get: function () { return dnsModal.dnsServer.domains.length>0 } + } } } this.isEdit = isEdit; diff --git a/x-ui.sh b/x-ui.sh index a9ef1601..073ab63e 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -591,8 +591,9 @@ open_ports() { # Check if the firewall is inactive if ufw status | grep -q "Status: active"; then - echo "firewall is already active" + echo "Firewall is already active" else + echo "Activating firewall..." # Open the necessary ports ufw allow ssh ufw allow http @@ -619,17 +620,18 @@ open_ports() { # Split the range into start and end ports start_port=$(echo $port | cut -d'-' -f1) end_port=$(echo $port | cut -d'-' -f2) - # Loop through the range and open each port - for ((i = start_port; i <= end_port; i++)); do - ufw allow $i - done + ufw allow $start_port:$end_port else ufw allow "$port" fi done # 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() { @@ -649,10 +651,8 @@ delete_ports() { # Split the range into start and end ports start_port=$(echo $port | cut -d'-' -f1) end_port=$(echo $port | cut -d'-' -f2) - # Loop through the range and delete each port - for ((i = start_port; i <= end_port; i++)); do - ufw delete allow $i - done + # Delete the port range + ufw delete allow $start_port:$end_port else ufw delete allow "$port" fi @@ -660,7 +660,7 @@ delete_ports() { # Confirm that the ports are deleted echo "Deleted the specified ports:" - ufw status | grep $ports + ufw status | grep "ALLOW" | grep -Eo "[0-9]+(/[a-z]+)?" } update_geo() {