Support for amnesia

This commit is contained in:
Bob Mottram 2016-07-22 09:39:21 +01:00
parent 1e626eb44d
commit 3f01621a23
2 changed files with 47 additions and 20 deletions

View File

@ -2016,7 +2016,7 @@ function show_result {
echo ''
}
function read_configuration {
function read_config {
if [ ! $CONFIGURATION_FILE ]; then
CONFIGURATION_FILE='freedombone.cfg'
fi
@ -2191,7 +2191,7 @@ function read_configuration {
fi
}
read_configuration
read_config
interactive_config
show_result
exit 0

View File

@ -75,9 +75,6 @@ function change_avahi_name {
echo "New avahi name for this peer is P$PEER_ID"
toilet "mesh-$PEER_ID"
echo $"avahi name changed to P${PEER_ID}.local" >> $INSTALL_LOG
if [ -f $MESH_INSTALL_COMPLETED ]; then
systemctl restart avahi-daemon
fi
}
function regenerate_ssh_host_keys {
@ -89,10 +86,6 @@ function regenerate_ssh_host_keys {
awk '$5 > 2000' /etc/ssh/moduli > ~/moduli
mv ~/moduli /etc/ssh/moduli
echo $'ssh small moduli removed' >> $INSTALL_LOG
if [ -f $MESH_INSTALL_COMPLETED ]; then
systemctl restart ssh
fi
}
function configure_zeronet {
@ -528,21 +521,29 @@ function enable_batman_daemon {
function mesh_amnesic {
if [ ! -f $MESH_AMNESIC ]; then
if [ -f /etc/systemd/system/amnesic.service ]; then
systemctl disable amnesic
fi
return
fi
echo '#!/bin/bash' > /usr/bin/amnesic
echo '' >> /usr/bin/amnesic
echo 'MY_USERNAME=$1' >> /usr/bin/amnesic
echo -n "${PROJECT_NAME}-image-mesh " >> /usr/bin/amnesic
echo '$MY_USERNAME amnesic' >> /usr/bin/amnesic
echo '' >> /usr/bin/amnesic
echo 'exit 0' >> /usr/bin/amnesic
chmod +x /usr/bin/amnesic
if [ ! -f /etc/systemd/system/amnesic.service ]; then
echo '[Unit]' > /etc/systemd/system/amnesic.service
echo 'Description=Amnesic Mesh' >> /etc/systemd/system/amnesic.service
echo '' >> /etc/systemd/system/amnesic.service
echo '[Service]' >> /etc/systemd/system/amnesic.service
echo 'User=root' >> /etc/systemd/system/amnesic.service
echo 'Group=root' >> /etc/systemd/system/amnesic.service
echo 'Type=oneshot' >> /etc/systemd/system/amnesic.service
echo 'RemainAfterExit=true' >> /etc/systemd/system/amnesic.service
echo 'ExecStart=/bin/true' >> /etc/systemd/system/amnesic.service
echo 'ExecStop=TODO' >> /etc/systemd/system/amnesic.service
echo 'ExecStop=/usr/bin/amnesic' >> /etc/systemd/system/amnesic.service
echo '' >> /etc/systemd/system/amnesic.service
echo '[Install]' >> /etc/systemd/system/amnesic.service
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/amnesic.service
@ -553,12 +554,31 @@ function mesh_amnesic {
systemctl start amnesic
}
function mesh_restart_daemons {
systemctl restart avahi-daemon
systemctl restart ssh
systemctl restart tox-bootstrapd
systemctl restart zeronet
echo $'Daemons restarted' >> $INSTALL_LOG
}
# whether to reset the identity
set_new_identity=
if [ $2 ]; then
if [[ "$2" == $"new"* ]]; then
if [ ! -f $MESH_INSTALL_SETUP ]; then
touch $MESH_INSTALL_SETUP
fi
set_new_identity=1
fi
if [[ "$2" == $"amnesic"* ]]; then
if [ ! -f $MESH_AMNESIC ]; then
touch $MESH_AMNESIC
fi
if [ ! -f $MESH_INSTALL_SETUP ]; then
touch $MESH_INSTALL_SETUP
fi
set_new_identity=1
fi
fi
@ -567,8 +587,10 @@ if [ -f $MESH_INSTALL_SETUP ]; then
MY_USERNAME=$1
fi
# sleep in order to allow other daemons to start up
sleep 15
if [ ! $set_new_identity ]; then
# sleep in order to allow other daemons to start up
sleep 15
fi
# clear the install log
if [ -f $INSTALL_LOG ]; then
@ -589,11 +611,16 @@ if [ -f $MESH_INSTALL_SETUP ]; then
disable_screen_lock
mesh_amnesic
rm $MESH_INSTALL_SETUP
systemctl disable mesh-setup.service
touch $MESH_INSTALL_COMPLETED
echo $'Mesh node setup complete. Rebooting...' >> $INSTALL_LOG
reboot
if [ ! -f $MESH_AMNESIC ]; then
rm $MESH_INSTALL_SETUP
systemctl disable mesh-setup.service
fi
mesh_restart_daemons
if [ ! -f $MESH_INSTALL_COMPLETED ]; then
echo $'Mesh node setup complete' >> $INSTALL_LOG
touch $MESH_INSTALL_COMPLETED
fi
fi
exit 0