diff --git a/src/freedombone-config b/src/freedombone-config index 660f60e5..418168ae 100755 --- a/src/freedombone-config +++ b/src/freedombone-config @@ -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 diff --git a/src/freedombone-image-mesh b/src/freedombone-image-mesh index 03fa435b..4163da2e 100755 --- a/src/freedombone-image-mesh +++ b/src/freedombone-image-mesh @@ -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