Skip to content

Commit

Permalink
refactor: improve caching and logging of public IP address
Browse files Browse the repository at this point in the history
The code has been refactored to use a JSON file instead of a text file for caching the public IP address. The log messages have also been updated to provide more informative output.
  • Loading branch information
dgibbs64 committed Oct 8, 2023
1 parent c0d2648 commit ff56bab
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions lgsm/modules/info_game.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2402,27 +2402,27 @@ fi

# Public IP address
# Cache public IP address for 24 hours
if [ ! -f "${tmpdir}/publicip.txt" ] || [ "$(find "${tmpdir}/publicip.txt" -mmin +1440)" ]; then
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 publicip.txt
# if curl passes add publicip to publicip.json
if [ "${exitcode}" == "0" ]; then
fn_script_pass "Getting public IP address"
echo "${publicipresponse}" > "${tmpdir}/publicip.txt"
publicip="$(jq -r '.query' "${tmpdir}/publicip.txt")"
country="$(jq -r '.country' "${tmpdir}/publicip.txt")"
countrycode="$(jq -r '.countryCode' "${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
fn_script_log_warn "Unable to get public IP address"
publicip="NOT SET"
country="NOT SET"
countrycode="NOT SET"
fi
else
publicip="$(jq -r '.query' "${tmpdir}/publicip.txt")"
country="$(jq -r '.country' "${tmpdir}/publicip.txt")"
countrycode="$(jq -r '.countryCode' "${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
Expand Down

0 comments on commit ff56bab

Please sign in to comment.