diff options
| author | mhsanaei <ho3ein.sanaei@gmail.com> | 2025-08-21 15:24:25 +0300 |
|---|---|---|
| committer | mhsanaei <ho3ein.sanaei@gmail.com> | 2025-08-21 15:24:25 +0300 |
| commit | 24a341146568446a0a787f7955581fa3531c40d5 (patch) | |
| tree | df6dfdfaf46b8acd3b89b7d9549eebe4b04ebdc4 /x-ui.sh | |
| parent | 2198e7a28f51949cdf74cbd6087bf14a391cb7d7 (diff) | |
more list for public IP address
Diffstat (limited to 'x-ui.sh')
| -rw-r--r-- | x-ui.sh | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -1643,10 +1643,21 @@ iplimit_remove_conflicts() { } SSH_port_forwarding() { - local server_ip=$(curl -s --max-time 3 https://api.ipify.org) - if [ -z "$server_ip" ]; then - server_ip=$(curl -s --max-time 3 https://4.ident.me) - fi + local URL_lists=( + "https://api4.ipify.org" + "https://ipv4.icanhazip.com" + "https://v4.api.ipinfo.io/ip" + "https://ipv4.myexternalip.com/raw" + "https://4.ident.me" + "https://check-host.net/ip" + ) + local server_ip="" + for ip_address in "${URL_lists[@]}"; do + server_ip=$(curl -s --max-time 3 "${ip_address}" 2>/dev/null | tr -d '[:space:]') + if [[ -n "${server_ip}" ]]; then + break + fi + done local existing_webBasePath=$(/usr/local/x-ui/x-ui setting -show true | grep -Eo 'webBasePath: .+' | awk '{print $2}') local existing_port=$(/usr/local/x-ui/x-ui setting -show true | grep -Eo 'port: .+' | awk '{print $2}') local existing_listenIP=$(/usr/local/x-ui/x-ui setting -getListen true | grep -Eo 'listenIP: .+' | awk '{print $2}') |
