diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 77251784ca..2d172cdd5a 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -2400,25 +2400,29 @@ elif [ "${engine}" == "unreal2" ]; then fn_info_game_unreal2 fi -# External IP address -# Cache external IP address for 24 hours -if [ -f "${tmpdir}/publicip.txt" ]; then - if [ "$(find "${tmpdir}/publicip.txt" -mmin +1440)" ]; then - rm -f "${tmpdir:?}/publicip.txt" - fi -fi - -if [ ! -f "${tmpdir}/publicip.txt" ]; then - publicip="$(curl --connect-timeout 10 -s https://api.ipify.org 2> /dev/null)" +# Public IP address +# Cache public IP address for 24 hours +if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mmin +1440)" ]; then + apiurl="http://ip-api.com/json" + publicipresponse=$(curl -s "${apiurl}") exitcode=$? - # if curl passes add publicip to externalip.txt + # if curl passes add publicip to publicip.json if [ "${exitcode}" == "0" ]; then - echo "${publicip}" > "${tmpdir}/publicip.txt" + fn_script_log_pass "Getting public IP address" + echo "${publicipresponse}" > "${tmpdir}/publicip.json" + publicip="$(jq -r '.query' "${tmpdir}/publicip.json")" + country="$(jq -r '.country' "${tmpdir}/publicip.json")" + countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")" else - echo "Unable to get external IP address" + fn_script_log_warn "Unable to get public IP address" + publicip="NOT SET" + country="NOT SET" + countrycode="NOT SET" fi else - publicip="$(cat "${tmpdir}/publicip.txt")" + publicip="$(jq -r '.query' "${tmpdir}/publicip.json")" + country="$(jq -r '.country' "${tmpdir}/publicip.json")" + countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")" fi # Alert IP address diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 340e11f6bc..3f0c6d235d 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -506,7 +506,6 @@ fn_info_message_script() { # Email alert: off # Gotify alert: off # IFTTT alert: off - # Mailgun (email) alert: off # Pushbullet alert: off # Pushover alert: off # Rocketchat alert: off @@ -550,8 +549,6 @@ fn_info_message_script() { echo -e "${lightblue}Gotify alert:\t${default}${gotifyalert}" # IFTTT alert echo -e "${lightblue}IFTTT alert:\t${default}${iftttalert}" - # Mailgun alert - echo -e "${lightblue}Mailgun (email) alert:\t${default}${mailgunalert}" # Pushbullet alert echo -e "${lightblue}Pushbullet alert:\t${default}${pushbulletalert}" # Pushover alert