curl fallback for mac
This commit is contained in:
parent
20dd93d8f0
commit
ba1984c106
6 changed files with 58 additions and 14 deletions
|
|
@ -10,12 +10,9 @@ handle_macos() {
|
|||
export LAUNCH_AGENTS_DIR="$HOME/Library/LaunchAgents"
|
||||
mkdir -p "$LAUNCH_AGENTS_DIR"
|
||||
|
||||
# Install Homebrew if needed
|
||||
# Install Homebrew if needed (skipped if not found, we don't force it)
|
||||
if ! command -v brew &> /dev/null; then
|
||||
log "${PRIMARY_COLOR}Installing Homebrew...${RESET_COLOR}"
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || {
|
||||
log_error "Failed to install Homebrew" 1
|
||||
}
|
||||
log "${PRIMARY_COLOR}Homebrew not found. Proceeding without it...${RESET_COLOR}"
|
||||
fi
|
||||
|
||||
# Install LND
|
||||
|
|
|
|||
|
|
@ -28,6 +28,19 @@ log_error() {
|
|||
exit $2
|
||||
}
|
||||
|
||||
# Helper to download files using wget or curl
|
||||
download() {
|
||||
local url="$1"
|
||||
local dest="$2"
|
||||
if command -v wget &> /dev/null; then
|
||||
wget -q "$url" -O "$dest"
|
||||
elif command -v curl &> /dev/null; then
|
||||
curl -sL "$url" -o "$dest"
|
||||
else
|
||||
log_error "Neither wget nor curl found. Please install one." 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
modules=(
|
||||
"utils"
|
||||
|
|
@ -66,7 +79,7 @@ SCRIPTS_URL="${BASE_URL}/scripts/"
|
|||
TMP_DIR=$(mktemp -d)
|
||||
|
||||
for module in "${modules[@]}"; do
|
||||
wget -q "${SCRIPTS_URL}${module}.sh" -O "${TMP_DIR}/${module}.sh" || log_error "Failed to download ${module}.sh" 1
|
||||
download "${SCRIPTS_URL}${module}.sh" "${TMP_DIR}/${module}.sh" || log_error "Failed to download ${module}.sh" 1
|
||||
source "${TMP_DIR}/${module}.sh" || log_error "Failed to source ${module}.sh" 1
|
||||
done
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ install_lightning_pub() {
|
|||
USER_HOME=$HOME
|
||||
USER_NAME=$(whoami)
|
||||
|
||||
wget -q $REPO_URL -O $USER_HOME/lightning_pub.tar.gz > /dev/null 2>&1 || {
|
||||
download "$REPO_URL" "$USER_HOME/lightning_pub.tar.gz" > /dev/null 2>&1 || {
|
||||
log "${PRIMARY_COLOR}Failed to download Lightning.Pub.${RESET_COLOR}"
|
||||
return 1
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ install_lightning_pub() {
|
|||
log "Existing installation found. Checking for updates..."
|
||||
|
||||
# Check if update is needed by comparing commit hashes
|
||||
API_RESPONSE=$(wget -qO- "https://api.github.com/repos/${REPO}/commits/${BRANCH}" 2>&1 | tee /tmp/api_response.log)
|
||||
API_RESPONSE=$(download_stdout "https://api.github.com/repos/${REPO}/commits/${BRANCH}" 2>&1 | tee /tmp/api_response.log)
|
||||
if grep -q '"message"[[:space:]]*:[[:space:]]*"API rate limit exceeded"' <<< "$API_RESPONSE"; then
|
||||
log_error "GitHub API rate limit exceeded. Please wait a while before trying again." 1
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ install_lnd() {
|
|||
USER_NAME=$(whoami)
|
||||
|
||||
log "Checking latest LND version..."
|
||||
local api_response=$(wget -qO- https://api.github.com/repos/lightningnetwork/lnd/releases/latest)
|
||||
local api_response=$(download_stdout "https://api.github.com/repos/lightningnetwork/lnd/releases/latest")
|
||||
LND_VERSION=$(json_value "tag_name" "$api_response")
|
||||
log "Latest LND version: $LND_VERSION"
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ install_lnd() {
|
|||
log "${PRIMARY_COLOR}Downloading${RESET_COLOR} ${SECONDARY_COLOR}LND${RESET_COLOR}..."
|
||||
|
||||
# Start the download
|
||||
wget -q $LND_URL -O $USER_HOME/lnd.tar.gz || {
|
||||
download "$LND_URL" "$USER_HOME/lnd.tar.gz" || {
|
||||
log "${PRIMARY_COLOR}Failed to download LND.${RESET_COLOR}"
|
||||
exit 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ install_nodejs() {
|
|||
[ -s "${NVM_DIR}/nvm.sh" ] && \. "${NVM_DIR}/nvm.sh"
|
||||
|
||||
if ! command -v nvm &> /dev/null; then
|
||||
local nvm_api=$(wget -qO- https://api.github.com/repos/nvm-sh/nvm/releases/latest)
|
||||
local nvm_api=$(download_stdout "https://api.github.com/repos/nvm-sh/nvm/releases/latest")
|
||||
NVM_VERSION=$(json_value "tag_name" "$nvm_api")
|
||||
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh | bash > /dev/null 2>&1
|
||||
download_stdout "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" | bash > /dev/null 2>&1
|
||||
export NVM_DIR="${NVM_DIR}"
|
||||
[ -s "${NVM_DIR}/nvm.sh" ] && \. "${NVM_DIR}/nvm.sh"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -29,12 +29,19 @@ detect_os_arch() {
|
|||
}
|
||||
|
||||
check_deps() {
|
||||
for cmd in wget grep stat tar; do
|
||||
for cmd in grep stat tar; do
|
||||
if ! command -v $cmd &> /dev/null; then
|
||||
log "Missing system dependency: $cmd. Install $cmd via your package manager and retry."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Check for wget or curl (one is required)
|
||||
if ! command -v wget &> /dev/null && ! command -v curl &> /dev/null; then
|
||||
log "Missing system dependency: wget or curl. Install via your package manager and retry."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v sha256sum &> /dev/null && ! command -v shasum &> /dev/null; then
|
||||
log "Missing system dependency: sha256sum or shasum."
|
||||
exit 1
|
||||
|
|
@ -69,3 +76,30 @@ json_value() {
|
|||
echo "$2" | grep -oP "\"${key}\": \"\\K[^\"]+"
|
||||
fi
|
||||
}
|
||||
|
||||
# Download file (wget or curl)
|
||||
download() {
|
||||
local url="$1"
|
||||
local dest="$2"
|
||||
if command -v wget &> /dev/null; then
|
||||
wget -q "$url" -O "$dest"
|
||||
elif command -v curl &> /dev/null; then
|
||||
curl -sL "$url" -o "$dest"
|
||||
else
|
||||
log "Error: Neither wget nor curl found."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Download to stdout (wget or curl)
|
||||
download_stdout() {
|
||||
local url="$1"
|
||||
if command -v wget &> /dev/null; then
|
||||
wget -qO- "$url"
|
||||
elif command -v curl &> /dev/null; then
|
||||
curl -sL "$url"
|
||||
else
|
||||
log "Error: Neither wget nor curl found."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue