| 
				
			 | 
			
			
				@@ -40,11 +40,11 @@ VERSION="1.01" 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				40
			 | 
			
			
				 # get the main project file, so that some values can be extracted 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				41
			 | 
			
			
				 MAIN_PROJECT_FILE=/usr/local/bin/${PROJECT_NAME} 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				42
			 | 
			
			
				 if [ ! -f $MAIN_PROJECT_FILE ]; then 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				
			 | 
			
			
				-    MAIN_PROJECT_FILE=/usr/bin/${PROJECT_NAME} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+	MAIN_PROJECT_FILE=/usr/bin/${PROJECT_NAME} 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				44
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				45
			 | 
			
			
				 if [ ! -f $MAIN_PROJECT_FILE ]; then 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				
			 | 
			
			
				-    echo "The main project file $MAIN_PROJECT_FILE was not found" 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				
			 | 
			
			
				-    exit 72529 
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+	echo "The main project file $MAIN_PROJECT_FILE was not found" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+	exit 72529 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				48
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				49
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				50
			 | 
			
				50
			 | 
			
			
				 # ssh (from https://stribika.github.io/2015/01/04/secure-secure-shell.html) 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -53,117 +53,135 @@ SSH_MACS=$(cat $MAIN_PROJECT_FILE | grep 'SSH_MACS=' | head -n 1 | awk -F '"' '{ 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				53
			 | 
			
			
				 SSH_KEX=$(cat $MAIN_PROJECT_FILE | grep 'SSH_KEX=' | head -n 1 | awk -F '"' '{print $2}') 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				54
			 | 
			
			
				 SSH_HOST_KEY_ALGORITHMS=$(cat $MAIN_PROJECT_FILE | grep 'SSH_HOST_KEY_ALGORITHMS=' | head -n 1 | awk -F '"' '{print $2}') 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				55
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+# refresh gpg keys every few hours 
			 | 
		
	
		
			
			| 
				
			 | 
			
				57
			 | 
			
			
				+REFRESH_GPG_KEYS_HOURS=2 
			 | 
		
	
		
			
			| 
				
			 | 
			
				58
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+function refresh_gpg_keys { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+	if [ ! -f /usr/bin/gpg ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+		sudo apt-get -y install gnupg 
			 | 
		
	
		
			
			| 
				
			 | 
			
				62
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				63
			 | 
			
			
				+	sudo cp /etc/crontab ~/temp_crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+	sudo chown $CURR_USER:$CURR_USER ~/temp_crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+	if ! grep -q "gpg --refresh-keys" ~/temp_crontab; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+		echo "0            */$REFRESH_GPG_KEYS_HOURS *   *   *   $CURR_USER /usr/bin/gpg --refresh-keys > /dev/null" >> ~/temp_crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+		sudo cp ~/temp_crontab /etc/crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+		chown root:root /etc/crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+	rm ~/temp_crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				73
			 | 
			
			
				 # see https://stribika.github.io/2015/01/04/secure-secure-shell.html 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				74
			 | 
			
			
				 function ssh_remove_small_moduli { 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				
			 | 
			
			
				-    sudo awk '$5 > 2000' /etc/ssh/moduli > /home/$CURR_USER/moduli 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-    sudo mv /home/$CURR_USER/moduli /etc/ssh/moduli 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+	sudo awk '$5 > 2000' /etc/ssh/moduli > /home/$CURR_USER/moduli 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+	sudo mv /home/$CURR_USER/moduli /etc/ssh/moduli 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				77
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				78
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				62
			 | 
			
				79
			 | 
			
			
				 function configure_ssh_client { 
			 | 
		
	
		
			
			| 
				63
			 | 
			
				
			 | 
			
			
				-    #sudo sed -i 's/#   PasswordAuthentication.*/   PasswordAuthentication no/g' /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				
			 | 
			
			
				-    #sudo sed -i 's/#   ChallengeResponseAuthentication.*/   ChallengeResponseAuthentication no/g' /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				
			 | 
			
			
				-    sudo sed -i "s/#   HostKeyAlgorithms.*/   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				
			 | 
			
			
				-    sudo sed -i "s/#   Ciphers.*/   Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				
			 | 
			
			
				-    sudo sed -i "s/#   MACs.*/   MACs $SSH_MACS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				
			 | 
			
			
				-    if ! grep -q "HostKeyAlgorithms" /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				
			 | 
			
			
				-        sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				
			 | 
			
			
				-        sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				
			 | 
			
			
				-        echo "   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				72
			 | 
			
				
			 | 
			
			
				-        sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				73
			 | 
			
				
			 | 
			
			
				-        sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				74
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				
			 | 
			
			
				-    sudo sed -i "s/Ciphers.*/Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				
			 | 
			
			
				-    if ! grep -q "Ciphers " /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				77
			 | 
			
				
			 | 
			
			
				-        sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				
			 | 
			
			
				-        sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				
			 | 
			
			
				-        echo "   Ciphers $SSH_CIPHERS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				
			 | 
			
			
				-        sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				81
			 | 
			
				
			 | 
			
			
				-        sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				82
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				83
			 | 
			
				
			 | 
			
			
				-    sudo sed -i "s/MACs.*/MACs $SSH_MACS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				84
			 | 
			
				
			 | 
			
			
				-    if ! grep -q "MACs " /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				
			 | 
			
			
				-        sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				
			 | 
			
			
				-        sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				
			 | 
			
			
				-        echo "   MACs $SSH_MACS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				
			 | 
			
			
				-        sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				
			 | 
			
			
				-        sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				
			 | 
			
			
				-    # Create ssh keys 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				
			 | 
			
			
				-    if [ ! -f /home/$CURR_USER/.ssh/id_ed25519 ]; then 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				
			 | 
			
			
				-        ssh-keygen -t ed25519 -o -a 100 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				
			 | 
			
			
				-    if [ ! -f /home/$CURR_USER/.ssh/id_rsa ]; then 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				
			 | 
			
			
				-        ssh-keygen -t rsa -b 4096 -o -a 100 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				
			 | 
			
			
				-    ssh_remove_small_moduli 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				
			 | 
			
			
				-    if [ ! -d ~/.ssh ]; then 
			 | 
		
	
		
			
			| 
				103
			 | 
			
				
			 | 
			
			
				-        mkdir ~/.ssh 
			 | 
		
	
		
			
			| 
				104
			 | 
			
				
			 | 
			
			
				-    fi 
			 | 
		
	
		
			
			| 
				105
			 | 
			
				
			 | 
			
			
				-    echo 'Host *.onion' > ~/.ssh/config 
			 | 
		
	
		
			
			| 
				106
			 | 
			
				
			 | 
			
			
				-    echo '  ServerAliveInterval 60' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				107
			 | 
			
				
			 | 
			
			
				-    echo '  ServerAliveCountMax 3' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				108
			 | 
			
				
			 | 
			
			
				-    echo "  ProxyCommand connect -R remote -5 -S 127.0.0.1:9050 %h %p" >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				109
			 | 
			
				
			 | 
			
			
				-    echo "#  ProxyCommand sh -c 'monkeysphere ssh-proxycommand --no-connect %h %p ; connect -R remote -5 -S 127.0.0.1:9050 %h %p'" >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				110
			 | 
			
				
			 | 
			
			
				-    echo 'Host *' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				111
			 | 
			
				
			 | 
			
			
				-    echo '  ServerAliveInterval 60' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				112
			 | 
			
				
			 | 
			
			
				-    echo '  ServerAliveCountMax 3' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				113
			 | 
			
				
			 | 
			
			
				-    echo '#  ProxyCommand monkeysphere ssh-proxycommand %h %p' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				114
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				115
			 | 
			
				
			 | 
			
			
				-    echo '' 
			 | 
		
	
		
			
			| 
				116
			 | 
			
				
			 | 
			
			
				-    echo $'Copy the following into a file called /home/username/.ssh/authorized_keys on the Freedombone server' 
			 | 
		
	
		
			
			| 
				117
			 | 
			
				
			 | 
			
			
				-    echo '' 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				
			 | 
			
			
				-    echo $(cat /home/$CURR_USER/.ssh/id_rsa.pub) 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				
			 | 
			
			
				-    echo $(cat /home/$CURR_USER/.ssh/id_ed25519.pub) 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				
			 | 
			
			
				-    echo '' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+	#sudo sed -i 's/#   PasswordAuthentication.*/   PasswordAuthentication no/g' /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+	#sudo sed -i 's/#   ChallengeResponseAuthentication.*/   ChallengeResponseAuthentication no/g' /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+	sudo sed -i "s/#   HostKeyAlgorithms.*/   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+	sudo sed -i "s/#   Ciphers.*/   Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+	sudo sed -i "s/#   MACs.*/   MACs $SSH_MACS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+	if ! grep -q "HostKeyAlgorithms" /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				+		sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				+		sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+		echo "   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				+		sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+		sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+	sudo sed -i "s/Ciphers.*/Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				93
			 | 
			
			
				+	if ! grep -q "Ciphers " /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				94
			 | 
			
			
				+		sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+		sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+		echo "   Ciphers $SSH_CIPHERS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+		sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+		sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+	sudo sed -i "s/MACs.*/MACs $SSH_MACS/g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+	if ! grep -q "MACs " /etc/ssh/ssh_config; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+		sudo cp /etc/ssh/ssh_config ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				103
			 | 
			
			
				+		sudo chown $CURR_USER:$CURR_USER ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				104
			 | 
			
			
				+		echo "   MACs $SSH_MACS" >> ~/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+		sudo mv ~/ssh_config /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+		sudo chown root:root /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				+	# Create ssh keys 
			 | 
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				+	if [ ! -f /home/$CURR_USER/.ssh/id_ed25519 ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				+		ssh-keygen -t ed25519 -o -a 100 
			 | 
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				+	if [ ! -f /home/$CURR_USER/.ssh/id_rsa ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+		ssh-keygen -t rsa -b 4096 -o -a 100 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				117
			 | 
			
			
				+	ssh_remove_small_moduli 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+	if [ ! -d ~/.ssh ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				120
			 | 
			
			
				+		mkdir ~/.ssh 
			 | 
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				+	echo 'Host *.onion' > ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+	echo '  ServerAliveInterval 60' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				124
			 | 
			
			
				+	echo '  ServerAliveCountMax 3' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				125
			 | 
			
			
				+	echo "  ProxyCommand connect -R remote -5 -S 127.0.0.1:9050 %h %p" >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				126
			 | 
			
			
				+	echo "#  ProxyCommand sh -c 'monkeysphere ssh-proxycommand --no-connect %h %p ; connect -R remote -5 -S 127.0.0.1:9050 %h %p'" >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				127
			 | 
			
			
				+	echo 'Host *' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				128
			 | 
			
			
				+	echo '  ServerAliveInterval 60' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				129
			 | 
			
			
				+	echo '  ServerAliveCountMax 3' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				+	echo '#  ProxyCommand monkeysphere ssh-proxycommand %h %p' >> ~/.ssh/config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				+	echo '' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				133
			 | 
			
			
				+	echo $'Copy the following into a file called /home/username/.ssh/authorized_keys on the Freedombone server' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				134
			 | 
			
			
				+	echo '' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				135
			 | 
			
			
				+	echo $(cat /home/$CURR_USER/.ssh/id_rsa.pub) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				136
			 | 
			
			
				+	echo $(cat /home/$CURR_USER/.ssh/id_ed25519.pub) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				137
			 | 
			
			
				+	echo '' 
			 | 
		
	
		
			
			| 
				121
			 | 
			
				138
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				122
			 | 
			
				139
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				123
			 | 
			
				140
			 | 
			
			
				 function configure_monkeysphere { 
			 | 
		
	
		
			
			| 
				124
			 | 
			
				
			 | 
			
			
				-    sudo apt-get -y install tor connect-proxy monkeysphere 
			 | 
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				+	sudo apt-get -y install tor connect-proxy monkeysphere 
			 | 
		
	
		
			
			| 
				125
			 | 
			
				142
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				126
			 | 
			
				143
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				127
			 | 
			
				144
			 | 
			
			
				 function show_help { 
			 | 
		
	
		
			
			| 
				128
			 | 
			
				
			 | 
			
			
				-    echo '' 
			 | 
		
	
		
			
			| 
				129
			 | 
			
				
			 | 
			
			
				-    echo $"${PROJECT_NAME}-client --mesh [yes|no]" 
			 | 
		
	
		
			
			| 
				130
			 | 
			
				
			 | 
			
			
				-    echo '' 
			 | 
		
	
		
			
			| 
				131
			 | 
			
				
			 | 
			
			
				-    exit 0 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+	echo '' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+	echo $"${PROJECT_NAME}-client --mesh [yes|no]" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				+	echo '' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				148
			 | 
			
			
				+	exit 0 
			 | 
		
	
		
			
			| 
				132
			 | 
			
				149
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				133
			 | 
			
				150
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				134
			 | 
			
				151
			 | 
			
			
				 while [[ $# > 1 ]] 
			 | 
		
	
		
			
			| 
				135
			 | 
			
				152
			 | 
			
			
				 do 
			 | 
		
	
		
			
			| 
				136
			 | 
			
				
			 | 
			
			
				-    key="$1" 
			 | 
		
	
		
			
			| 
				137
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				138
			 | 
			
				
			 | 
			
			
				-    case $key in 
			 | 
		
	
		
			
			| 
				139
			 | 
			
				
			 | 
			
			
				-        -h|--help) 
			 | 
		
	
		
			
			| 
				140
			 | 
			
				
			 | 
			
			
				-            show_help 
			 | 
		
	
		
			
			| 
				141
			 | 
			
				
			 | 
			
			
				-            ;; 
			 | 
		
	
		
			
			| 
				142
			 | 
			
				
			 | 
			
			
				-        --essid) 
			 | 
		
	
		
			
			| 
				143
			 | 
			
				
			 | 
			
			
				-            shift 
			 | 
		
	
		
			
			| 
				144
			 | 
			
				
			 | 
			
			
				-            WIFI_SSID="$1" 
			 | 
		
	
		
			
			| 
				145
			 | 
			
				
			 | 
			
			
				-            ;; 
			 | 
		
	
		
			
			| 
				146
			 | 
			
				
			 | 
			
			
				-        --channel) 
			 | 
		
	
		
			
			| 
				147
			 | 
			
				
			 | 
			
			
				-            shift 
			 | 
		
	
		
			
			| 
				148
			 | 
			
				
			 | 
			
			
				-            WIFI_CHANNEL=${1} 
			 | 
		
	
		
			
			| 
				149
			 | 
			
				
			 | 
			
			
				-            ;; 
			 | 
		
	
		
			
			| 
				150
			 | 
			
				
			 | 
			
			
				-        --mesh) 
			 | 
		
	
		
			
			| 
				151
			 | 
			
				
			 | 
			
			
				-            shift 
			 | 
		
	
		
			
			| 
				152
			 | 
			
				
			 | 
			
			
				-            MESH_CLIENT_INSTALL=${1} 
			 | 
		
	
		
			
			| 
				153
			 | 
			
				
			 | 
			
			
				-            ;; 
			 | 
		
	
		
			
			| 
				154
			 | 
			
				
			 | 
			
			
				-        *) 
			 | 
		
	
		
			
			| 
				155
			 | 
			
				
			 | 
			
			
				-            # unknown option 
			 | 
		
	
		
			
			| 
				156
			 | 
			
				
			 | 
			
			
				-            ;; 
			 | 
		
	
		
			
			| 
				157
			 | 
			
				
			 | 
			
			
				-    esac 
			 | 
		
	
		
			
			| 
				158
			 | 
			
				
			 | 
			
			
				-    shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				153
			 | 
			
			
				+	key="$1" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				154
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+	case $key in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				+		-h|--help) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				157
			 | 
			
			
				+			show_help 
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+			;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+		--essid) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+			shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+			WIFI_SSID="$1" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+			;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+		--channel) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				164
			 | 
			
			
				+			shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				165
			 | 
			
			
				+			WIFI_CHANNEL=${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				166
			 | 
			
			
				+			;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				167
			 | 
			
			
				+		--mesh) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				168
			 | 
			
			
				+			shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				169
			 | 
			
			
				+			MESH_CLIENT_INSTALL=${1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				170
			 | 
			
			
				+			;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				171
			 | 
			
			
				+		*) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				172
			 | 
			
			
				+			# unknown option 
			 | 
		
	
		
			
			| 
				
			 | 
			
				173
			 | 
			
			
				+			;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				174
			 | 
			
			
				+	esac 
			 | 
		
	
		
			
			| 
				
			 | 
			
				175
			 | 
			
			
				+	shift 
			 | 
		
	
		
			
			| 
				159
			 | 
			
				176
			 | 
			
			
				 done 
			 | 
		
	
		
			
			| 
				160
			 | 
			
				177
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				161
			 | 
			
				178
			 | 
			
			
				 echo $'Configuring client' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				179
			 | 
			
			
				+refresh_gpg_keys 
			 | 
		
	
		
			
			| 
				162
			 | 
			
				180
			 | 
			
			
				 configure_ssh_client 
			 | 
		
	
		
			
			| 
				163
			 | 
			
				181
			 | 
			
			
				 configure_monkeysphere 
			 | 
		
	
		
			
			| 
				164
			 | 
			
				182
			 | 
			
			
				 if [[ $MESH_CLIENT_INSTALL == $'yes' || $MESH_CLIENT_INSTALL == $'y' || $MESH_CLIENT_INSTALL == $'on' ]]; then 
			 | 
		
	
		
			
			| 
				165
			 | 
			
				
			 | 
			
			
				-    ${PROJECT_NAME}-mesh-install batman_client 
			 | 
		
	
		
			
			| 
				166
			 | 
			
				
			 | 
			
			
				-    ${PROJECT_NAME}-mesh-install babel_client 
			 | 
		
	
		
			
			| 
				
			 | 
			
				183
			 | 
			
			
				+	${PROJECT_NAME}-mesh-install batman_client 
			 | 
		
	
		
			
			| 
				
			 | 
			
				184
			 | 
			
			
				+	${PROJECT_NAME}-mesh-install babel_client 
			 | 
		
	
		
			
			| 
				167
			 | 
			
				185
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				168
			 | 
			
				186
			 | 
			
			
				 echo $'Configuration complete' 
			 | 
		
	
		
			
			| 
				169
			 | 
			
				187
			 | 
			
			
				 exit 0 
			 |