mirror of
https://github.com/codex-storage/get-codex.git
synced 2025-02-22 05:58:06 +00:00
Fix key file permissions on Windows (msys2) (#17)
This commit is contained in:
parent
26d5d242b1
commit
1b21a39a73
71
generate.sh
71
generate.sh
@ -57,38 +57,53 @@ show_start "Generate Ethereum private key..."
|
||||
|
||||
# Generate remote
|
||||
generate_remote() {
|
||||
message="Generating key using \e[31mremote\e[0m ${URL}"
|
||||
show_progress "${message}"
|
||||
response=$(curl -m 5 --fail -s ${URL} || true)
|
||||
[[ -n "${response}" ]] && show_pass "${message}" || show_fail "${message}" "Failed to connect to ${URL}"
|
||||
|
||||
message="Saving private key to file"
|
||||
show_progress "${message}"
|
||||
if ! (awk -F ': ' '/private/ {print $2}' <<<"${response}" >"${key_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to save address to file"
|
||||
fi
|
||||
show_pass "${message}"
|
||||
|
||||
message="Saving address to file"
|
||||
show_progress "${message}"
|
||||
if ! (awk -F ': ' '/address/ {print $2}' <<<"${response}" >"${address_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to save private key to file"
|
||||
fi
|
||||
show_pass "${message}"
|
||||
|
||||
# Permissions
|
||||
message="Setting private key file permissions"
|
||||
message="Generating key using \e[31mremote\e[0m ${URL}"
|
||||
show_progress "${message}"
|
||||
if ! (chmod 600 "${key_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to set private key file permissions"
|
||||
response=$(curl -m 5 --fail -s ${URL} || true)
|
||||
[[ -n "${response}" ]] && show_pass "${message}" || show_fail "${message}" "Failed to connect to ${URL}"
|
||||
|
||||
message="Saving private key to file"
|
||||
show_progress "${message}"
|
||||
if ! (awk -F ': ' '/private/ {print $2}' <<<"${response}" >"${key_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to save address to file"
|
||||
fi
|
||||
show_pass "${message}"
|
||||
|
||||
# Show
|
||||
address=$(cat ${address_file})
|
||||
echo
|
||||
echo -e " - private key - \e[90m${PWD}/\e[0m\e[94m${key_file}\e[0m"
|
||||
echo -e " - address - \e[90m${PWD}/\e[0m\e[94m${address_file}\e[0m - \e[94m${address}\e[0m\n"
|
||||
message="Saving address to file"
|
||||
show_progress "${message}"
|
||||
if ! (awk -F ': ' '/address/ {print $2}' <<<"${response}" >"${address_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to save private key to file"
|
||||
fi
|
||||
show_pass "${message}"
|
||||
|
||||
# Permissions
|
||||
message="Setting private key file permissions"
|
||||
show_progress "${message}"
|
||||
case "$(uname -s)" in
|
||||
Linux*) OS="linux" ;;
|
||||
Darwin*) OS="darwin" ;;
|
||||
CYGWIN*|MINGW*|MSYS*) OS="windows" ;;
|
||||
*) show_fail "${message}" "Unsupported OS: $(uname)" ;;
|
||||
esac
|
||||
|
||||
if [[ $OS == "windows" ]]; then
|
||||
if ! (icacls "${key_file}" /inheritance:r /grant:r `whoami`:F) >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to set private key file permissions"
|
||||
fi
|
||||
show_pass "Setting private key file permissions"
|
||||
else
|
||||
if ! (chmod 600 "${key_file}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to set private key file permissions"
|
||||
fi
|
||||
show_pass "${message}"
|
||||
fi
|
||||
|
||||
# Show
|
||||
address=$(cat ${address_file})
|
||||
echo
|
||||
echo -e " - private key file - \e[90m${PWD}/\e[0m\e[94m${key_file}\e[0m"
|
||||
echo -e " - address file - \e[90m${PWD}/\e[0m\e[94m${address_file}\e[0m"
|
||||
echo -e " - address - \e[0m\e[94m${address}\e[0m\n"
|
||||
}
|
||||
|
||||
# Generate locally
|
||||
|
37
run.sh
37
run.sh
@ -11,6 +11,9 @@ PASS_MARK="\033[0;32m\u2714\033[0m"
|
||||
FAIL_MARK="\033[0;31m\u2718\033[0m"
|
||||
NETWORK="${NETWORK:-testnet}"
|
||||
|
||||
# Disable argument conversion to Windows path
|
||||
export MSYS_NO_PATHCONV=1
|
||||
|
||||
export CODEX_DATA_DIR="${CODEX_DATA_DIR:-./codex-data}"
|
||||
export CODEX_STORAGE_QUOTA="${CODEX_STORAGE_QUOTA:-10g}"
|
||||
export CODEX_NAT="${CODEX_NAT:-$(curl -s https://ip.codex.storage)}"
|
||||
@ -97,21 +100,33 @@ fi
|
||||
show_pass "${message}"
|
||||
|
||||
# Check private key permissions
|
||||
message="Checking private key permissions"
|
||||
message="Checking private key file permissions"
|
||||
show_progress "${message}"
|
||||
|
||||
case $(uname) in
|
||||
Linux) permissions=$(stat -c %a ${CODEX_ETH_PRIVATE_KEY}) ;;
|
||||
Darwin) permissions=$(stat -f "%OLp" ${CODEX_ETH_PRIVATE_KEY}) ;;
|
||||
CYGWIN*|MINGW*|MSYS*) permissions=$(stat -c %a ${CODEX_ETH_PRIVATE_KEY}) ;;
|
||||
*) show_fail "${message}" "Unsupported OS: $(uname)" ;;
|
||||
case "$(uname -s)" in
|
||||
Linux*) permissions=$(stat -c %a ${CODEX_ETH_PRIVATE_KEY}) ;;
|
||||
Darwin*) permissions=$(stat -f "%OLp" ${CODEX_ETH_PRIVATE_KEY}) ;;
|
||||
CYGWIN*|MINGW*|MSYS*) permissions=$(icacls ${CODEX_ETH_PRIVATE_KEY}); OS="windows" ;;
|
||||
*) show_fail "${message}" "Unsupported OS: $(uname)" ;;
|
||||
esac
|
||||
|
||||
if [[ ${permissions} != "600" ]]; then
|
||||
chmod 600 ${CODEX_ETH_PRIVATE_KEY}
|
||||
show_pass "Setting private key permissions"
|
||||
if [[ $OS == "windows" ]]; then
|
||||
if ! grep "`whoami`:(F)" <<<"${permissions}" &> /dev/null; then
|
||||
if ! (icacls "${CODEX_ETH_PRIVATE_KEY}" /inheritance:r /grant:r `whoami`:F) >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to set private key file permissions"
|
||||
fi
|
||||
show_pass "Setting private key file permissions"
|
||||
else
|
||||
show_pass "${message}"
|
||||
fi
|
||||
else
|
||||
show_pass "${message}"
|
||||
if [[ ${permissions} != "600" ]]; then
|
||||
if ! (chmod 600 "${CODEX_ETH_PRIVATE_KEY}") >/dev/null 2>&1; then
|
||||
show_fail "${message}" "Failed to set private key file permissions"
|
||||
fi
|
||||
show_pass "Setting private key file permissions"
|
||||
else
|
||||
show_pass "${message}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Network
|
||||
|
Loading…
x
Reference in New Issue
Block a user