1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
lokinet/lokinet-bootstrap
Jason Rhinelander c69237358f Add default mainnet/testnet URLs
Sets new default URLs, one for mainnet and one for testnet, and allows
you to specify "lokinet" (alias "lokinet") or "testnet" for the URL to
use the defaults.
2019-12-15 16:03:38 -04:00

71 lines
1.7 KiB
Bash
Executable file

#!/usr/bin/env bash
# this shell script will be replaced by a proper program in the future (probably)
#
# from https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
set -e
helpme=
declare -A default_url
default_url=(
[lokinet]="https://seed.lokinet.org/lokinet.signed"
[mainnet]="https://seed.lokinet.org/lokinet.signed"
[testnet]="https://seed.lokinet.org/testnet.signed"
)
default_dest="$HOME/.lokinet/bootstrap.signed"
if [ "$#" -gt 2 ]; then
helpme=y
fi
if [ -z "$1" ]
then
url="${default_url[mainnet]}"
elif [ -n "${default_url[$1]}" ]; then
url="${default_url[$1]}"
elif [[ "$1" = -* ]]; then
helpme=y
else
url="$1"
fi
if [[ "$2" = -* ]]; then
helpme=y
elif [ -n "$2" ]; then
dest="$2"
else
dest="$default_dest"
fi
if [ -n "$helpme" ]; then
echo "Usage: $0 [URL [DEST]] -- download bootstrap file from URL (default: lokinet) and save to DEST (default: $default_dest)."
echo "URL can be a full URL, or else 'lokinet' or 'testnet' to use the default lokinet/testnet seed URL. 'mainnet' can be used"
echo "as an alias for 'lokinet'."
exit 1
fi
destdir="$(dirname $dest)"
if [ ! -d "$destdir" ]; then
mkdir "$destdir"
fi
echo "downloading $url"
# use temp file to not overrwrite existing bootstrap file on fail
#tmp=mktemp
tmp=/tmp/bootstrap.tmp
# MacOS does not have wget without homebrew but does have curl
# Rick also had indicated most BSDs have curl too
if curl -L "$url" >"$tmp"; then
mv "$tmp" "$dest"
echo -e "${GREEN}lokinet successfully bootstrapped${NC}"
else
echo -e "${RED}failed to download bootstrap from $url${NC}"
rm -f "$tmp"
exit 1
fi