#!/bin/bash ######################################################################## MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" echo ' ######################################################################## # \\/// # qo-op ############# '$MY_PATH/$ME' ######################################################################## # Make a G1SSB Account # Verify silkaj & sbotc install # Backup any ~/.ssb to ~/.ssb_$USER # Creates ~/.ssb_astroport and link it to ~/.ssb # Ask for credentials (or auto) # CREATE "~/.ssb/secret" & "~/.ssb/secret.dunikey" of you # !!! KEEP CREDENTIALS IN ~/.zen/secret.astroport.key ######################################################################## ' # git & astroport code in ~/.zen [[ ! -d ~/.zen/astroport ]] && mkdir -p ~/.zen/astroport [[ ! $(which git) ]] && sudo apt install git -y if [[ -f ~/.zen/astroport/install.sh ]]; then cd ~/.zen/astroport && git pull else cd ~/.zen git clone https://git.p2p.legal/axiom-team/astroport.git fi cd ~/.zen/astroport # INSTALL Silkaj, CLI for Duniter echo '************************************************************** __ ___ (_ | | |/ /\ | __) _|_ |_ |\ /--\ \_| #Duniter communication client... ' export PATH=$PATH:~/.local/bin if [[ ! $(which silkaj) ]]; then sudo apt update || true libzzz=$(sudo apt-cache search libsodium | awk '{print $1}' | grep libsodium2) sudo apt install build-essential jq $libzzz -y sudo pip3 install base58 sudo apt install python3-pip python3-setuptools python3-wheel -y pip3 install silkaj --user echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc && source ~/.bashrc fi # INSTALL sbotc echo ' __ __ _____/ /_ ____ / /______ / ___/ __ \/ __ \/ __/ ___/ (__ ) /_/ / /_/ / /_/ /__ /____/_.___/\____/\__/\___/ ScuttleButt communication client... ' if [[ ! $(which sbotc) ]]; then sudo apt install libsodium-dev build-essential jq -y cd /tmp/ git clone https://git.scuttlebot.io/%25133ulDgs%2FoC1DXjoK04vDFy6DgVBB%2FZok15YJmuhD5Q%3D.sha256 sbotc cd sbotc make sudo make install cd ~/.zen/astroport fi echo ' __ __ ____ ______/ /__________ ____ ____ _____/ /_ / __ `/ ___/ __/ ___/ __ \/ __ \/ __ \/ ___/ __/ / /_/ (__ ) /_/ / / /_/ / /_/ / /_/ / / / /_ \__,_/____/\__/_/ \____/ .___/\____/_/ \__/ /_/ ONBOARDING activation... linking ~/.ssb to ~/.ssb_astroport ' # CREATE ~/.ssb_astroport [[ ! -d ~/.ssb_astroport ]] && mkdir -p ~/.ssb_astroport # If exists backup ~/.ssb to ~/.ssb_$USER SSB (one time only !) [[ -d ~/.ssb_$USER ]] && echo "BACKUP already existing... Restore it : rm -Rf ~/.ssb && mv ~/.ssb_$USER ~/.ssb and Try again..." && exit 1 if [[ -d ~/.ssb ]]; then cp -f ~/.ssb/manifest.json ~/.ssb_astroport/ cp -f ~/.ssb/conn.json ~/.ssb_astroport/ cp -f ~/.ssb/gossip.json ~/.ssb_astroport/ fi # BACKUP ACTUAL SSB ACCOUNT [[ -d ~/.ssb ]] && mv ~/.ssb ~/.ssb_$USER # Symlink ~/.ssb -> ~/.ssb_astroport [[ -L ~/.ssb ]] && rm ~/.ssb [[ -d ~/.ssb_astroport ]] && ln -s ~/.ssb_astroport ~/.ssb cd ~/.ssb/ echo '>>>>>>> METAVERSE KEY CREATION <<<<<<<< __ __ __ _ /__ /| (_ (_ |_) \_| | __) __) |_) CHOOSE YOU LOGIN (best more than 6 words)... or LEAVE BLANK and HIT ENTER FOR diceware AUTO GENERATION ' read salt [[ $salt != "" ]] && echo "CHOOSE PASSWORD?" && read pepper && [[ $pepper == "" ]] && exit 1 if [[ "$salt" == "" && "$pepper" == "" ]]; then echo ' ._ _ ._ _ ._ _ _ ._ o _ | | | | | (/_ | | | (_) | | | (_ diceware passphrase generator...' # LOGIN (=SALT) salt="$($MY_PATH/diceware.sh 6)" # PASS (=PEPPER) pepper="$($MY_PATH/diceware.sh 4)" echo "........." [[ -f ~/.zen/secret.astroport.key ]] && echo "Your identity is already existing..." && cat ~/.zen/secret.astroport.key && exit 1 rm -f ~/.zen/secret.astroport.key echo "# ASTROPORT SECRET CREDENTIALS !!! ZENID=\"$salt\" ZENPWD=\"$pepper\"" > ~/.zen/secret.astroport.key fi # CREATE ~/.ssb/secret.dunikey python3 $MY_PATH/key_create_dunikey.py "$salt" "$pepper" sleep 1 [[ -f /tmp/secret.dunikey ]] && mv /tmp/secret.dunikey ~/.ssb/secret.dunikey || exit 1 # CREATE SSB secret g1pub=$(cat ~/.ssb/secret.dunikey | grep "pub" | cut -d ' ' -f 2) echo "ZENG1=\"$g1pub\"" >> ~/.zen/secret.astroport.key g1priv=$(cat ~/.ssb/secret.dunikey | grep "sec" | cut -d ' ' -f 2) ssbpub=$(echo $g1pub | base58 -d | base64) ssbpriv=$(echo $g1priv | base58 -d | base64 | tr -d "\n" ) cat > ~/.ssb/secret <> ~/.zen/secret.astroport.key echo " _ |__|_ \ / _ o | _. |_ |_ \/ (_) | | (_| Your Identity is created !! REMEMBER TO KEEP your secret files SECRET !!! Your public name : @${ssbpub}.ed25519 Your G1 WALLET : $g1pub Install https://cesium.app " cat ~/.zen/secret.astroport.key chmod 400 ~/.zen/secret.astroport.key chmod 400 ~/.ssb/secret chmod 400 ~/.ssb/secret.dunikey echo ' __ __________/ /_ / ___/ ___/ __ \ (__ |__ ) /_/ / /____/____/_.___/ Use Patchwork ScuttleButt Client. https://ahdinosaur.github.io/patchwork-downloader/ ' sleep 1 echo ' _________ / ____< / / / __ / / / /_/ // / \____//_/ Install https://cesium.app on your Desktop or Smartphone. Enter "yes" to install cron TASK and init your account ONLINE... ' read yesno if [[ $yesno == "yes" ]]; then ~/.zen/astroport/zen/ssb_INIT.sh ~/.zen/astroport/zen/cron_VRFY.sh fi exit 0