mirror of
https://github.com/official-stockfish/Stockfish.git
synced 2026-07-22 12:47:08 +00:00
Introduce timeout for wget/curl in net download
ensures the download terminates after 5min, even if the server stalled. closes https://github.com/official-stockfish/Stockfish/pull/6608 No functional change
This commit is contained in:
+11
-9
@@ -1,11 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
wget_or_curl=$( (command -v wget > /dev/null 2>&1 && echo "wget -qO-") || \
|
||||
(command -v curl > /dev/null 2>&1 && echo "curl -skL"))
|
||||
# download commands with a 5min time-out to ensure things fail if the server stalls
|
||||
wget_or_curl=$( (command -v wget >/dev/null 2>&1 && echo "wget -qO- --timeout=300 --tries=1") ||
|
||||
(command -v curl >/dev/null 2>&1 && echo "curl -skL --max-time 300"))
|
||||
|
||||
|
||||
sha256sum=$( (command -v shasum > /dev/null 2>&1 && echo "shasum -a 256") || \
|
||||
(command -v sha256sum > /dev/null 2>&1 && echo "sha256sum"))
|
||||
sha256sum=$( (command -v shasum >/dev/null 2>&1 && echo "shasum -a 256") ||
|
||||
(command -v sha256sum >/dev/null 2>&1 && echo "sha256sum"))
|
||||
|
||||
if [ -z "$sha256sum" ]; then
|
||||
>&2 echo "sha256sum not found, NNUE files will be assumed valid."
|
||||
@@ -52,14 +52,16 @@ fetch_network() {
|
||||
"https://tests.stockfishchess.org/api/nn/$_filename" \
|
||||
"https://github.com/official-stockfish/networks/raw/master/$_filename"; do
|
||||
echo "Downloading from $url ..."
|
||||
if $wget_or_curl "$url" > "$_filename"; then
|
||||
if $wget_or_curl "$url" >"$_filename"; then
|
||||
if validate_network "$_filename"; then
|
||||
echo "Successfully validated $_filename"
|
||||
else
|
||||
echo "Downloaded $_filename is invalid"
|
||||
rm -f $_filename
|
||||
echo "Downloaded $_filename is invalid, and has been removed."
|
||||
continue
|
||||
fi
|
||||
else
|
||||
rm -f $_filename
|
||||
echo "Failed to download from $url"
|
||||
fi
|
||||
if [ -f "$_filename" ]; then
|
||||
@@ -72,5 +74,5 @@ fetch_network() {
|
||||
return 1
|
||||
}
|
||||
|
||||
fetch_network EvalFileDefaultNameBig && \
|
||||
fetch_network EvalFileDefaultNameSmall
|
||||
fetch_network EvalFileDefaultNameBig &&
|
||||
fetch_network EvalFileDefaultNameSmall
|
||||
|
||||
Reference in New Issue
Block a user