mirror of
https://github.com/nahuhh/basicswap-bash.git
synced 2024-12-22 11:39:21 +00:00
Compare commits
10 commits
feaa77b5ed
...
387dfec6e7
Author | SHA1 | Date | |
---|---|---|---|
|
387dfec6e7 | ||
|
61b8618e90 | ||
|
318cdf7c6a | ||
|
1a85e5b6fe | ||
|
40fecdc214 | ||
|
2eb3465704 | ||
|
41ae85ee08 | ||
|
a4720f834b | ||
|
5c491184ff | ||
|
e8f3a7d964 |
12 changed files with 183 additions and 40 deletions
|
@ -4,14 +4,14 @@ BasicSwapDEX on Windows(WSL)/Debian/Ubuntu/Arch/Fedora
|
|||
|
||||
### New Installation
|
||||
```bash
|
||||
git clone https://github.com/nahuhh/basicswap-bash
|
||||
git clone https://github.com/nahuhh/basicswap-bash -b dev
|
||||
cd basicswap-bash && ./install.sh
|
||||
cd .. && rm -rf basicswap-bash
|
||||
```
|
||||
### Update scripts from older versions
|
||||
``` bash
|
||||
cd ~/coinswaps/basicswap
|
||||
git clone https://github.com/nahuhh/basicswap-bash
|
||||
git clone https://github.com/nahuhh/basicswap-bash -b dev
|
||||
cd basicswap-bash
|
||||
mkdir -p $HOME/.local/bin
|
||||
rm -r $HOME/.local/bin/bsx
|
||||
|
|
|
@ -1,5 +1,21 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
python3 -m venv "$SWAP_DATADIR/venv"
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is already running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/startup.sh
|
||||
|
|
15
bsx-addcoin
15
bsx-addcoin
|
@ -1,10 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "BasicSwapDEX is currently:\n[1] Password protected\n[2] NOT password protected\n"
|
||||
until [[ "$l" =~ ^[12]$ ]]; do
|
||||
read -p 'Select an option [1|2]: ' l
|
||||
|
@ -28,6 +41,6 @@ read -p 'Select an option [1|2]: ' l
|
|||
;;
|
||||
esac
|
||||
done
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/addcoin.sh
|
||||
|
|
|
@ -1,10 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "BasicSwapDEX is currently:\n[1] Password protected\n[2] NOT password protected\n"
|
||||
until [[ "$l" =~ ^[12]$ ]]; do
|
||||
read -p 'Select an option [1|2]: ' l
|
||||
|
@ -28,6 +41,6 @@ read -p 'Select an option [1|2]: ' l
|
|||
;;
|
||||
esac
|
||||
done
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/disabletor.sh
|
||||
|
|
|
@ -1,10 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "BasicSwapDEX is currently:\n[1] Password protected\n[2] NOT password protected\n"
|
||||
until [[ "$l" =~ ^[12]$ ]]; do
|
||||
read -p 'Select an option [1|2]: ' l
|
||||
|
@ -28,6 +41,6 @@ read -p 'Select an option [1|2]: ' l
|
|||
;;
|
||||
esac
|
||||
done
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/enabletor.sh
|
||||
|
|
|
@ -1,10 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "BasicSwapDEX is currently:\n[1] Password protected\n[2] NOT password protected\n"
|
||||
until [[ "$l" =~ ^[12]$ ]]; do
|
||||
read -p 'Select an option [1|2]: ' l
|
||||
|
@ -28,6 +41,6 @@ read -p 'Select an option [1|2]: ' l
|
|||
;;
|
||||
esac
|
||||
done
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/removecoin.sh
|
||||
|
|
18
bsx-update
18
bsx-update
|
@ -1,5 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
|
||||
if [ -f /usr/local/bin/bsx/update.sh ]; then
|
||||
|
|
|
@ -1,10 +1,23 @@
|
|||
#!/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is running.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "BasicSwapDEX is currently:\n[1] Password protected\n[2] NOT password protected\n"
|
||||
until [[ "$l" =~ ^[12]$ ]]; do
|
||||
read -p 'Select an option [1|2]: ' l
|
||||
|
@ -28,6 +41,6 @@ read -p 'Select an option [1|2]: ' l
|
|||
;;
|
||||
esac
|
||||
done
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
. $SWAP_DATADIR/venv/bin/activate && python -V
|
||||
$HOME/.local/bin/bsx/upgradecoins.sh
|
||||
|
|
20
bsx/setup.sh
20
bsx/setup.sh
|
@ -7,17 +7,20 @@ nocolor="echo -e -n \e[0m"
|
|||
|
||||
## 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 -f ./coincurve-anonswap/*/{.,}* ./coincurve-anonswap || true
|
||||
cd $SWAP_DATADIR/coincurve-anonswap
|
||||
git clone https://github.com/basicswap/coincurve -b basicswap_v0.2 coincurve-basicswap
|
||||
cd $SWAP_DATADIR/coincurve-basicswap
|
||||
$SWAP_DATADIR/venv/bin/pip install .
|
||||
|
||||
## Clone basicswap git
|
||||
cd $SWAP_DATADIR
|
||||
git clone https://github.com/basicswap/basicswap
|
||||
git clone https://github.com/basicswap/basicswap -b dev
|
||||
cd $SWAP_DATADIR/basicswap
|
||||
## Macos
|
||||
if [[ $MACOS ]]; then
|
||||
$SWAP_DATADIR/venv/bin/pip install certifi
|
||||
fi
|
||||
## Install basicswap
|
||||
$SWAP_DATADIR/venv/bin/pip install wheel
|
||||
$SWAP_DATADIR/venv/bin/pip install .
|
||||
|
||||
## Decide a source for Monero's restore height
|
||||
|
@ -42,7 +45,7 @@ enable_tor() {
|
|||
if [[ "$particl_mnemonic" && "$monerod_addr" ]]; then
|
||||
# Restore seed
|
||||
PARTICL_MNEMONIC=$particl_mnemonic
|
||||
XMR_RPC_HOST=$monerod_addr BASE_XMR_RPC_PORT=$monerod_port \
|
||||
XMR_RPC_HOST=$monerod_addr XMR_RPC_PORT=$monerod_port \
|
||||
basicswap-prepare --datadir=$SWAP_DATADIR --withcoins=monero,wownero --xmrrestoreheight=$CURRENT_XMR_HEIGHT --wowrestoreheight=600000 --particl_mnemonic="$PARTICL_MNEMONIC"
|
||||
enable_tor
|
||||
elif [[ "$particl_mnemonic" ]]; then
|
||||
|
@ -52,7 +55,7 @@ elif [[ "$particl_mnemonic" ]]; then
|
|||
enable_tor
|
||||
elif [[ "$monerod_addr" ]]; then
|
||||
# Setup new install and use a remote monero node
|
||||
XMR_RPC_HOST=$monerod_addr BASE_XMR_RPC_PORT=$monerod_port \
|
||||
XMR_RPC_HOST=$monerod_addr XMR_RPC_PORT=$monerod_port \
|
||||
basicswap-prepare --datadir=$SWAP_DATADIR --withcoins=monero,wownero --xmrrestoreheight=$CURRENT_XMR_HEIGHT --wowrestoreheight=600000
|
||||
$red"\n\nMake note of your seed above\n"; $nocolor
|
||||
enable_tor
|
||||
|
@ -63,4 +66,5 @@ else
|
|||
enable_tor
|
||||
fi
|
||||
|
||||
$green"Install complete.\n\nUse 'basicswap-bash' to run, 'bsx-update' to update, and 'bsx-addcoin' to add a coin\n"; $nocolor
|
||||
$green"Install complete.\n\nUse 'basicswap-bash' to run, 'bsx-update' to update, and 'bsx-addcoin' to add a coin\n\nYou'll need to open a new login shell (a new terminal window) for the start scripts to be recognized.\n";$nocolor
|
||||
$red"XFCE will require you to logout / login";$nocolor
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
#!/bin/bash
|
||||
COINCURVE=0.2
|
||||
cd $SWAP_DATADIR/basicswap
|
||||
|
||||
# Download updated scripts
|
||||
echo "Updating basicswap-bash scripts" && sleep 1
|
||||
git clone https://github.com/nahuhh/basicswap-bash
|
||||
git clone https://github.com/nahuhh/basicswap-bash -b dev
|
||||
cd basicswap-bash
|
||||
|
||||
# Move scripts
|
||||
|
@ -17,6 +18,18 @@ echo "Updating BasicSwapDEX" && sleep 1
|
|||
# Delete dangling build folder. Same as --no-cache for docker
|
||||
rm -rf $SWAP_DATADIR/basicswap/build
|
||||
|
||||
# Coincurve
|
||||
cd $SWAP_DATADIR
|
||||
if [[ -d coincurve-basicswap ]]; then
|
||||
cd coincurve-basicswap
|
||||
git pull
|
||||
git checkout basicswap_v$COINCURVE
|
||||
else
|
||||
git clone https://github.com/basicswap/coincurve -b basicswap_v$COINCURVE coincurve-basicswap && cd $_
|
||||
fi
|
||||
$SWAP_DATADIR/venv/bin/pip install .
|
||||
|
||||
# BasicSwap
|
||||
# Switch to new repo: basicswap/basicswap
|
||||
cd $SWAP_DATADIR/basicswap
|
||||
git remote set-url origin https://github.com/basicswap/basicswap
|
||||
|
@ -30,4 +43,4 @@ $SWAP_DATADIR/venv/bin/pip install .
|
|||
$HOME/.local/bin/bsx/auto_coinupd8.sh
|
||||
|
||||
# Cleanup
|
||||
rm -rf basicswap-bash core_versions
|
||||
rm -rf basicswap-bash
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Bitcoin Core version v26.0.0
|
||||
dcrd version 1.8.1+release (Go version go1.21.1 linux/amd64)
|
||||
Dash Core version v20.0.2
|
||||
Dash Core version v21.1.0
|
||||
Firo Core Daemon version v0.14.14.0-ge0c423805
|
||||
Litecoin Core version v0.21.3
|
||||
Particl Core version v23.2.7.0
|
||||
|
|
69
install.sh
69
install.sh
|
@ -1,10 +1,23 @@
|
|||
#/bin/bash
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
|
||||
# Colors
|
||||
red="echo -e -n \e[31;1m"
|
||||
green="echo -e -n \e[32;1m"
|
||||
nocolor="echo -e -n \e[0m"
|
||||
|
||||
# Check if basicswap is running
|
||||
if [[ -f $SWAP_DATADIR/particl/particl.pid ]]; then
|
||||
bsx_pid=$(cat $SWAP_DATADIR/particl/particl.pid)
|
||||
if [[ $bsx_pid ]]; then
|
||||
bsx_run=$(pidof particld | grep $bsx_pid)
|
||||
if [[ $bsx_run ]]; then
|
||||
$red"\nError: BasicSwapDEX is already installed.\n"; $nocolor
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Title Bar
|
||||
$green "\n"
|
||||
title="BasicSwapDEX Installer"
|
||||
|
@ -50,9 +63,16 @@ detect_os_arch() {
|
|||
UPDATE="sudo pacman -Syu"
|
||||
DEPENDENCY="python-pipenv gnupg pkgconf base-devel"
|
||||
$green"\nDetected Arch Linux\n";$nocolor
|
||||
elif type -P brew > /dev/null; then
|
||||
# MacOS
|
||||
INSTALL="brew install"
|
||||
elif [[ $(uname -s) = "Darwin" ]]; then
|
||||
# MacOS
|
||||
export MACOS=1
|
||||
if type -P brew > /dev/null; then
|
||||
$green"Homebrew is installed\n";$nc
|
||||
INSTALL="brew install"
|
||||
else
|
||||
$green"Installing Homebrew\n";$nc
|
||||
INSTALL="curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | /bin/bash && brew install"
|
||||
fi
|
||||
DEPENDENCY="python gnupg pkg-config"
|
||||
$green"\nDetected MacOS\n";$nocolor
|
||||
else
|
||||
|
@ -61,14 +81,13 @@ detect_os_arch() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
detect_os_arch
|
||||
|
||||
## Update & Install dependencies
|
||||
echo -e "\n\nInstalling dependencies\nPress CTRL-C at password prompt(s) to skip. If skipped, you must install the dependencies manually before proceeding"
|
||||
$green"$UPDATE\n$INSTALL $DEPENDENCY git curl wget unzip automake libtool jq\n"; $nocolor
|
||||
$green"$UPDATE\n$INSTALL $DEPENDENCY curl automake libtool jq\n"; $nocolor
|
||||
$UPDATE
|
||||
$INSTALL $DEPENDENCY git curl wget unzip automake libtool jq
|
||||
$INSTALL $DEPENDENCY curl automake libtool jq
|
||||
|
||||
# Enable tor
|
||||
echo -e "\n\n[1] Tor ON (requires sudo)\n[2] Tor OFF\n"
|
||||
|
@ -164,31 +183,39 @@ echo -e "\n\nInstalling BasicSwapDEX"
|
|||
read -p 'Press Enter to continue, or CTRL-C to exit.'
|
||||
|
||||
# Quest to make trasher happy
|
||||
trasherdk=$(echo $PATH | grep $USER/.local/bin)
|
||||
addpath='PATH="$HOME/.local/bin:$PATH"'
|
||||
trasherdk=$(echo $PATH | grep .local/bin)
|
||||
if ! [[ $trasherdk ]]; then
|
||||
mkdir -p $HOME/.local/bin
|
||||
fi
|
||||
# Move scripts to .local/bin
|
||||
if [ -d $HOME/.local/bin/bsx ]; then
|
||||
rm -r $HOME/.local/bin/bsx* $HOME/.local/bin/basicswap-bash
|
||||
fi
|
||||
mv -f -t $HOME/.local/bin/ basicswap-bash bsx*
|
||||
# Enable .profile detection on XFCE
|
||||
xfce_check=$(echo $XDG_CURRENT_DESKTOP | grep XFCE)
|
||||
xsessionrc_check=$(cat ~/.xsessionrc | grep '. ~/.profile')
|
||||
if [[ $xfce_chek ]] && [[ -z $xsessionrc_check ]]; then
|
||||
echo '. ~/.profile' | tee -a ~/.xsessionrc
|
||||
mkdir -p $HOME/.local/bin
|
||||
|
||||
# Bash
|
||||
if [[ -f $HOME/.bashrc ]]; then
|
||||
echo "export $addpath" | tee -a $HOME/.bashrc
|
||||
fi
|
||||
# Zsh
|
||||
if [[ -f $HOME/.zshrc ]]; then
|
||||
echo "export $addpath" | tee -a $HOME/.zshrc
|
||||
fi
|
||||
# xfce4
|
||||
if [[ -f $HOME/.xsessionrc ]]; then
|
||||
echo "export $addpath" | tee -a $HOME/.xsessionrc
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Move scripts to .local/bin
|
||||
if [[ -d $HOME/.local/bin/bsx ]]; then
|
||||
rm -r $HOME/.local/bin/bsx* $HOME/.local/bin/basicswap-bash
|
||||
fi
|
||||
mv -f -t $HOME/.local/bin/ basicswap-bash bsx*
|
||||
|
||||
## Make venv and set variables for install
|
||||
export SWAP_DATADIR=$HOME/coinswaps
|
||||
export monerod_addr=$monerod_addr
|
||||
export monerod_port=$monerod_port
|
||||
export particl_mnemonic=$particl_mnemonic
|
||||
export xmrrestoreheight=$xmrrestoreheight
|
||||
export tor_on=$tor_on
|
||||
export TAILS=$TAILS
|
||||
mkdir -p "$SWAP_DATADIR/venv"
|
||||
python -m venv "$SWAP_DATADIR/venv"
|
||||
## Activate venv
|
||||
$HOME/.local/bin/bsx/activate_venv.sh
|
||||
|
|
Loading…
Reference in a new issue