mirror of
https://github.com/GameServerManagers/LinuxGSM.git
synced 2025-01-08 12:07:37 +08:00
feat: change curl default timeout to 3 seconds (#4592)
adjusted to 3 seconds from 10 for a timeout
This commit is contained in:
parent
a2bea8d791
commit
685cca9c58
@ -118,6 +118,11 @@ jsonnoinfo=$(
|
||||
"value": "${HOSTNAME}",
|
||||
"inline": true
|
||||
},
|
||||
{
|
||||
"name": "Is my Game Server Online?",
|
||||
"value": "https://ismygameserver.online/${querytype}/${alertip}:${queryport}",
|
||||
"inline": true
|
||||
},
|
||||
{
|
||||
"name": "Server Time",
|
||||
"value": "$(date)",
|
||||
@ -142,7 +147,7 @@ else
|
||||
json="${jsoninfo}"
|
||||
fi
|
||||
|
||||
discordsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
|
||||
discordsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
|
||||
|
||||
if [ -n "${discordsend}" ]; then
|
||||
fn_print_fail_nl "Sending Discord alert: ${discordsend}"
|
||||
|
@ -34,7 +34,7 @@ else
|
||||
fi
|
||||
|
||||
fn_print_dots "Sending Gotify alert"
|
||||
gotifysend=$(curl --connect-timeout 10 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
|
||||
gotifysend=$(curl --connect-timeout 3 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
|
||||
|
||||
if [ -n "${gotifysend}" ]; then
|
||||
fn_print_ok_nl "Sending Gotify alert"
|
||||
|
@ -34,7 +34,7 @@ else
|
||||
fi
|
||||
|
||||
fn_print_dots "Sending IFTTT alert"
|
||||
iftttsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
|
||||
iftttsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
|
||||
|
||||
if [ -n "${iftttsend}" ]; then
|
||||
fn_print_fail_nl "Sending IFTTT alert: ${pushbulletsend}"
|
||||
|
@ -36,7 +36,7 @@ else
|
||||
fi
|
||||
|
||||
fn_print_dots "Sending Pushbullet alert"
|
||||
pushbulletsend=$(curl --connect-timeout 10 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
|
||||
pushbulletsend=$(curl --connect-timeout 3 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
|
||||
|
||||
if [ -n "${pushbulletsend}" ]; then
|
||||
fn_print_fail_nl "Sending Pushbullet alert: ${pushbulletsend}"
|
||||
|
@ -23,9 +23,9 @@ else
|
||||
fi
|
||||
|
||||
if [ -z "${alerturl}" ]; then
|
||||
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
|
||||
pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
|
||||
else
|
||||
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
|
||||
pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
|
||||
fi
|
||||
|
||||
if [ -n "${pushoversend}" ]; then
|
||||
|
@ -123,7 +123,7 @@ else
|
||||
fi
|
||||
|
||||
fn_print_dots "Sending Rocketchat alert"
|
||||
rocketchatsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
|
||||
rocketchatsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
|
||||
|
||||
if [ -n "${rocketchatsend}" ]; then
|
||||
fn_print_ok_nl "Sending Rocketchat alert"
|
||||
|
@ -182,7 +182,7 @@ fi
|
||||
|
||||
fn_print_dots "Sending Slack alert"
|
||||
|
||||
slacksend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
|
||||
slacksend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
|
||||
|
||||
if [ "${slacksend}" == "ok" ]; then
|
||||
fn_print_ok_nl "Sending Slack alert"
|
||||
|
@ -40,7 +40,7 @@ else
|
||||
fi
|
||||
|
||||
fn_print_dots "Sending Telegram alert"
|
||||
telegramsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
|
||||
telegramsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
|
||||
|
||||
if [ -n "${telegramsend}" ]; then
|
||||
fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"
|
||||
|
@ -20,9 +20,9 @@ fn_script_log_info "Updating LinuxGSM"
|
||||
fn_print_dots "Selecting repo"
|
||||
fn_script_log_info "Selecting repo"
|
||||
# Select remotereponame
|
||||
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
if [ $? != "0" ]; then
|
||||
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
if [ $? != "0" ]; then
|
||||
fn_print_fail_nl "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
|
||||
fn_script_log_fail "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
|
||||
@ -39,9 +39,9 @@ fi
|
||||
# Check linuxsm.sh
|
||||
echo -en "checking ${remotereponame} linuxgsm.sh...\c"
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
else
|
||||
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
|
||||
fi
|
||||
if [ $? != "0" ]; then
|
||||
fn_print_fail_eol_nl
|
||||
@ -51,9 +51,9 @@ if [ $? != "0" ]; then
|
||||
fi
|
||||
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
|
||||
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
|
||||
else
|
||||
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
|
||||
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
|
||||
fi
|
||||
|
||||
if [ "${tmp_script_diff}" != "" ]; then
|
||||
@ -119,9 +119,9 @@ fi
|
||||
echo -en "checking ${remotereponame} config _default.cfg...\c"
|
||||
fn_script_log_info "Checking ${remotereponame} config _default.cfg"
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
|
||||
else
|
||||
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
|
||||
fi
|
||||
if [ $? != "0" ]; then
|
||||
fn_print_fail_eol_nl
|
||||
@ -131,9 +131,9 @@ if [ $? != "0" ]; then
|
||||
fi
|
||||
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
|
||||
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
|
||||
else
|
||||
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
|
||||
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
|
||||
fi
|
||||
|
||||
if [ "${config_file_diff}" != "" ]; then
|
||||
@ -153,9 +153,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
|
||||
echo -en "checking ${remotereponame} config ${distroid}-${distroversioncsv}.csv...\c"
|
||||
fn_script_log_info "Checking ${remotereponame} ${distroid}-${distroversioncsv}.csv"
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
|
||||
else
|
||||
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
|
||||
fi
|
||||
if [ $? != "0" ]; then
|
||||
fn_print_fail_eol_nl
|
||||
@ -165,9 +165,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
|
||||
fi
|
||||
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
|
||||
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
|
||||
else
|
||||
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
|
||||
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
|
||||
fi
|
||||
|
||||
if [ "${config_file_diff}" != "" ]; then
|
||||
@ -191,9 +191,9 @@ if [ -n "${modulesdir}" ]; then
|
||||
echo -en "checking ${remotereponame} module ${modulefile}...\c"
|
||||
github_file_url_dir="lgsm/modules"
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
|
||||
else
|
||||
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
|
||||
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
|
||||
fi
|
||||
if [ $? != 0 ]; then
|
||||
fn_print_error_eol_nl
|
||||
@ -210,9 +210,9 @@ if [ -n "${modulesdir}" ]; then
|
||||
else
|
||||
# compare file
|
||||
if [ "${remotereponame}" == "GitHub" ]; then
|
||||
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
|
||||
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
|
||||
else
|
||||
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
|
||||
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
|
||||
fi
|
||||
|
||||
# results
|
||||
|
@ -390,7 +390,7 @@ fn_fetch_file() {
|
||||
fi
|
||||
# Trap will remove part downloaded files if canceled.
|
||||
trap fn_fetch_trap INT
|
||||
curlcmd=(curl --connect-timeout 10 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
|
||||
curlcmd=(curl --connect-timeout 3 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
|
||||
|
||||
# if is large file show progress, else be silent
|
||||
local exitcode=""
|
||||
|
@ -23,7 +23,7 @@ fn_github_get_latest_release_version() {
|
||||
local githubreleaserepo="${2}"
|
||||
local githublatestreleaseurl="${github_api}/repos/${githubreleaseuser}/${githubreleaserepo}/releases/latest"
|
||||
|
||||
githubreleaseversion=$(curl -s --connect-timeout 10 "${githublatestreleaseurl}" | jq '.tag_name')
|
||||
githubreleaseversion=$(curl -s --connect-timeout 3 "${githublatestreleaseurl}" | jq '.tag_name')
|
||||
|
||||
# error if no version is there
|
||||
if [ -z "${githubreleaseversion}" ]; then
|
||||
|
@ -2496,12 +2496,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
|
||||
if [ "${exitcode}" -eq 0 ]; then
|
||||
fn_script_log_pass "Queried ${apiurl} for public IP address"
|
||||
|
||||
# Parse and reformat the response
|
||||
publicip="$(echo "${ipresponse}" | jq -r '.query')"
|
||||
country="$(echo "${ipresponse}" | jq -r '.country')"
|
||||
countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
|
||||
# Construct a universal JSON format
|
||||
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
|
||||
# Parse and reformat the response
|
||||
publicip="$(echo "${ipresponse}" | jq -r '.query')"
|
||||
country="$(echo "${ipresponse}" | jq -r '.country')"
|
||||
countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
|
||||
# Construct a universal JSON format
|
||||
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
|
||||
else
|
||||
# Fallback to myip.wtf if the initial request failed or timed out
|
||||
apiurl="https://myip.wtf/json"
|
||||
@ -2514,12 +2514,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
|
||||
if [ "${exitcode}" -eq 0 ]; then
|
||||
fn_script_log_pass "Queried ${apiurl} for public IP address"
|
||||
|
||||
# Parse and reformat the response from myip.wtf
|
||||
publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
|
||||
country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
|
||||
countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
|
||||
# Construct a universal JSON format
|
||||
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
|
||||
# Parse and reformat the response from myip.wtf
|
||||
publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
|
||||
country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
|
||||
countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
|
||||
# Construct a universal JSON format
|
||||
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
|
||||
else
|
||||
fn_script_log_error "Unable to get public IP address"
|
||||
publicip="NOT SET"
|
||||
@ -2529,10 +2529,10 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
|
||||
fi
|
||||
else
|
||||
# Cached IP is still valid
|
||||
fn_script_log_pass "Using cached IP as public IP address"
|
||||
publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
|
||||
country="$(jq -r '.country' "${tmpdir}/publicip.json")"
|
||||
countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
|
||||
fn_script_log_pass "Using cached IP as public IP address"
|
||||
publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
|
||||
country="$(jq -r '.country' "${tmpdir}/publicip.json")"
|
||||
countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
|
||||
fi
|
||||
|
||||
# Alert IP address
|
||||
@ -2559,11 +2559,11 @@ if [ -z "${displaymasterserver}" ]; then
|
||||
if [ -n "${ip}" ] && [ -n "${port}" ]; then
|
||||
if [ "${steammaster}" == "true" ] || [ "${commandname}" == "DEV-QUERY-RAW" ]; then
|
||||
# Query external IP first as most liky to succeed.
|
||||
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
|
||||
masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
|
||||
if [ "${masterserver}" == "0" ]; then
|
||||
# Loop though server IP addresses if external IP fails.
|
||||
for queryip in "${queryips[@]}"; do
|
||||
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
|
||||
masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
|
||||
done
|
||||
fi
|
||||
if [ "${masterserver}" == "0" ]; then
|
||||
|
@ -68,7 +68,7 @@ sourcemoddownloadurl="https://www.sourcemod.net/latest.php?os=linux&version=${so
|
||||
sourcemodurl="${sourcemoddownloadurl}"
|
||||
# Steamworks
|
||||
steamworksscrapeurl="https://users.alliedmods.net/~kyles/builds/SteamWorks"
|
||||
steamworkslatestfile=$(curl --connect-timeout 10 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
|
||||
steamworkslatestfile=$(curl --connect-timeout 3 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
|
||||
steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}"
|
||||
steamworksurl="${steamworksdownloadurl}"
|
||||
# Stripper:Source
|
||||
@ -78,34 +78,34 @@ stripperdownloadurl="http://www.bailopan.net/stripper/snapshots/1.2/${stripperla
|
||||
stripperurl="${stripperdownloadurl}"
|
||||
|
||||
# CS:GO Mods
|
||||
get5lastbuild=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
|
||||
get5lastbuild=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
|
||||
get5latestfile=$(echo -e "${get5lastbuild}" | jq -r '.name')
|
||||
get5latestfilelink=$(echo -e "${get5lastbuild}" | jq -r '.browser_download_url')
|
||||
csgopracticelatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
|
||||
csgopracticelatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
|
||||
csgopracticelatestfile=$(echo -e "${csgopracticelatest}" | jq -r '.name')
|
||||
csgopracticelatestlink=$(echo -e "${csgopracticelatest}" | jq -r '.browser_download_url')
|
||||
csgopuglatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
|
||||
csgopuglatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
|
||||
csgopuglatestfile=$(echo -e "${csgopuglatest}" | jq -r '.name')
|
||||
csgopuglatestlink=$(echo -e "${csgopuglatest}" | jq -r '.browser_download_url')
|
||||
gokzlatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
|
||||
gokzlatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
|
||||
gokzlatestfile="GOKZ-v${gokzlatestversion}.zip"
|
||||
gokzlatestlink="https://github.com/KZGlobalTeam/gokz/releases/download/${gokzlatestversion}/${gokzlatestfile}"
|
||||
movementapilatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
|
||||
movementapilatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
|
||||
movementapilatestfile="MovementAPI-v${movementapilatestversion}.zip"
|
||||
movementapilatestlink="https://github.com/danzayau/MovementAPI/releases/download/${movementapilatestversion}/${movementapilatestfile}"
|
||||
|
||||
# Rust
|
||||
carbonrustapilatestfile="Carbon.Linux.Release.tar.gz"
|
||||
carbonrustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url')
|
||||
carbonrustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url')
|
||||
|
||||
# Oxide
|
||||
oxiderustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
|
||||
oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
|
||||
oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
|
||||
oxiderustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
|
||||
oxidehurtworldlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
|
||||
oxidesdtdlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
|
||||
# Valheim Plus
|
||||
valheimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
|
||||
valheimpluslatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
|
||||
# Valheim BepInEx
|
||||
bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
|
||||
bepinexvhlatestlink=$(curl --connect-timeout 3 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
|
||||
|
||||
# Define mods information (required)
|
||||
|
||||
|
@ -111,7 +111,7 @@ fn_bootstrap_fetch_file() {
|
||||
# Larger files show a progress bar.
|
||||
|
||||
echo -en "fetching ${fileurl_name} ${local_filename}...\c"
|
||||
curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
|
||||
curlcmd=$(curl --connect-timeout 3 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
|
||||
|
||||
local exitcode=$?
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user