From 5694cbed137779ae6a9a9c91057582c87550566c Mon Sep 17 00:00:00 2001 From: nahuhh <nahuhh@protonmail.com> Date: Sun, 25 Feb 2024 08:28:40 -0500 Subject: [PATCH] Support for Fedora and Arch --- bsx/addcoin.sh | 2 +- bsx/enabletor.sh | 40 ++++++++++++++++++++++++++++++++++++---- bsx/setup.sh | 11 ++++++----- install.sh | 34 ++++++++++++++++++++++++++++++++-- scriptinstall.sh | 8 ++++---- scriptupdate.sh | 8 ++++---- 6 files changed, 83 insertions(+), 20 deletions(-) diff --git a/bsx/addcoin.sh b/bsx/addcoin.sh index 15b4020..d373bc3 100755 --- a/bsx/addcoin.sh +++ b/bsx/addcoin.sh @@ -1,7 +1,7 @@ #!/bin/bash ## Prompt for user input -echo -e "\n\nThe following coins can be added (case sensitive)\nbitcoin\ndash\nfiro\nlitecoin\nparticl\npivx\n" +echo -e "\n\nThe following coins can be added (case sensitive)\nbitcoin\ndash\nfiro\nlitecoin\npivx\n" read -p 'Full name of coin to add [example: litecoin] ' addcoin ## Confirm echo -e "\nAdd $addcoin to your BasicSwap install, correct? Press any key to continue. CTRL-C to exit" diff --git a/bsx/enabletor.sh b/bsx/enabletor.sh index bde226b..d7088e8 100755 --- a/bsx/enabletor.sh +++ b/bsx/enabletor.sh @@ -1,13 +1,45 @@ #!/bin/bash +# Colors +red="echo -e -n \e[31;1m" +green="echo -e -n \e[32;1m" +nocolor="echo -e -n \e[0m" + +# Detect Operating system +INSTALL="" +UPDATE="" +INIT_TOR="sudo systemctl restart tor" +detect_os_arch() { + if type -P apt > /dev/null; then + # Debian / Ubuntu / Mint + INSTALL="sudo apt install -y" + UPDATE="sudo apt update" + $green"\nDetected Debian\n";$nocolor + elif type -P dnf > /dev/null; then + # Fedora + INSTALL="sudo dnf install -y" + UPDATE="sudo dnf check-update" + $green"\nDetected Fedora\n";$nocolor + elif type -P pacman > /dev/null; then + # Arch Linux + INSTALL="sudo pacman -S" + UPDATE="sudo pacman -Syu" + $green"\nDetected Arch Linux\n";$nocolor + else + $red"Failed to detect OS. Unsupported or unknown distribution.\nInstall Failed.";$nocolor + exit + fi +} +detect_os_arch + # Check for Tor installation -torinstall=$(apt-cache policy tor | grep "Installed:" | grep -E -o "[0-9]\w+") -if [[ "$torinstall" ]]; then +if type -P tor > /dev/null; then echo -e "\nTor is already installed :)" else # Install and configure tor echo "Installing Tor..." - sudo apt install tor -y + $UPDATE + $INSTALL tor fi # Create HashesControlPassword @@ -25,7 +57,7 @@ else fi # Restart tor to apply -sudo systemctl restart tor +$INIT_TOR echo "Waiting for Tor... 5sec" && sleep 5 # lol are we there yet? diff --git a/bsx/setup.sh b/bsx/setup.sh index 8f0dd94..3acac1c 100755 --- a/bsx/setup.sh +++ b/bsx/setup.sh @@ -5,15 +5,16 @@ red="echo -e -n \e[31;1m" green="echo -e -n \e[32;1m" nocolor="echo -e -n \e[0m" +## UBUNTU 22.04 FIX upgrade protobuf inside of venv +python -m pip install --upgrade "protobuf<=3.20.1" + ## Download & Install coincurve stuff cd $SWAP_DATADIR wget -O coincurve-anonswap.zip https://github.com/tecnovert/coincurve/archive/refs/tags/anonswap_v0.2.zip unzip -d coincurve-anonswap coincurve-anonswap.zip -mv ./coincurve-anonswap/*/{.,}* ./coincurve-anonswap || true +mv -f ./coincurve-anonswap/*/{.,}* ./coincurve-anonswap || true cd $SWAP_DATADIR/coincurve-anonswap -pip3 install . -## UBUNTU 22.04 FIX upgrade protobuf inside of venv -python3 -m pip install --upgrade "protobuf<=3.20.1" +$SWAP_DATADIR/venv/bin/pip install . ## Clone basicswap git cd $SWAP_DATADIR @@ -21,7 +22,7 @@ git clone https://github.com/tecnovert/basicswap.git cd $SWAP_DATADIR/basicswap ## Install basicswap protoc -I=basicswap --python_out=basicswap basicswap/messages.proto -pip3 install . +$SWAP_DATADIR/venv/bin/pip install . ## Decide a source for Monero's restore height if [[ "$xmrrestoreheight" ]]; then diff --git a/install.sh b/install.sh index 9c3f764..2fbad8a 100755 --- a/install.sh +++ b/install.sh @@ -16,6 +16,36 @@ printf "%${span}s\n" "$title" printf "%${COLUMNS}s" " " | tr " " "*" $nocolor +# Detect Operating system +INSTALL="" +UPDATE="" +DEPENDENCY="" +detect_os_arch() { + if type -P apt > /dev/null; then + # Debian / Ubuntu / Mint + INSTALL="sudo apt install" + UPDATE="sudo apt update" + DEPENDENCY="python-is-python3 python3-pip python3-venv gnupg pkg-config protobuf-compiler" + $green"\nDetected Debian\n";$nocolor + elif type -P dnf > /dev/null; then + # Fedora + INSTALL="sudo dnf install" + UPDATE="sudo dnf check-update" + DEPENDENCY="python3-virtualenv python3-pip gnupg2 pkgconf protobuf-compiler" + $green"\nDetected Fedora\n";$nocolor + elif type -P pacman > /dev/null; then + # Arch Linux + INSTALL="sudo pacman -S" + UPDATE="sudo pacman -Syu" + DEPENDENCY="python-pipenv gnupg protobuf pkgconf base-devel" + $green"\nDetected Arch Linux\n";$nocolor + else + $red"Failed to detect OS. Unsupported or unknown distribution.\nInstall Failed.";$nocolor + exit + fi +} +detect_os_arch + ## Particl restore Seed echo -e "\n\n[1] New Install (default)\n[2] Restore from Particl Seed\n" until [[ "$restore" =~ ^[12]$ ]]; do @@ -85,8 +115,8 @@ done echo -e "\n\nInstalling dependencies" read -p 'Press Enter to continue, or CTRL-C to exit.' ## Update & Install dependencies -sudo apt update # python-is-python3 for ubuntu -sudo apt install -y git wget python-is-python3 python3-venv python3-pip gnupg unzip protobuf-compiler automake libtool pkg-config curl jq +$UPDATE +$INSTALL $DEPENDENCY git wget unzip automake libtool curl jq # Move scripts to /usr/local/bin sudo rm -r /usr/local/bin/bsx* /usr/local/bin/basicswap-bash sudo mv -f -t /usr/local/bin/ basicswap-bash bsx* diff --git a/scriptinstall.sh b/scriptinstall.sh index 3ab7993..04d1e9e 100755 --- a/scriptinstall.sh +++ b/scriptinstall.sh @@ -1,10 +1,10 @@ #/bin/bash # Download Scripts -wget -O basicswap-bash.tar.gz https://github.com/nahuhh/basicswap-bash/releases/latest/download/basicswap-bash.tar.gz -tar xvf basicswap-bash.tar.gz -cd basicswap-bash +curl -O basicswap-beta.tar.gz https://github.com/nahuhh/basicswap-bash/releases/download/beta/basicswap-beta.tar.gz +tar xvf basicswap-beta.tar.gz +cd basicswap-beta # Install BasicSwapDEX ./install.sh # Cleanup cd .. -rm -rf basicswap-bash +rm -rf basicswap-beta diff --git a/scriptupdate.sh b/scriptupdate.sh index 8293495..f1765d6 100755 --- a/scriptupdate.sh +++ b/scriptupdate.sh @@ -1,11 +1,11 @@ #/bin/bash # Download updated scripts -wget -O basicswap-bash.tar.gz https://github.com/nahuhh/basicswap-bash/releases/latest/download/basicswap-bash.tar.gz -tar xvf basicswap-bash.tar.gz -cd basicswap-bash +curl -O https://github.com/nahuhh/basicswap-bash/releases/download/beta/basicswap-beta.tar.gz +tar xvf basicswap-beta.tar.gz +cd basicswap-beta # Move scripts sudo rm -rf /usr/local/bin/bsx sudo mv -f basic* bsx* /usr/local/bin/ # Cleanup install cd .. -rm -rf basicswap-bash +rm -rf basicswap-beta