|  | @@ -402,6 +402,9 @@ TOX_NODE=
 | 
	
		
			
			| 402 | 402 |  
 | 
	
		
			
			| 403 | 403 |  ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
 | 
	
		
			
			| 404 | 404 |  
 | 
	
		
			
			|  | 405 | +# Default diffie-hellman key length in bits
 | 
	
		
			
			|  | 406 | +DH_KEYLENGTH=3072
 | 
	
		
			
			|  | 407 | +
 | 
	
		
			
			| 405 | 408 |  function show_help {
 | 
	
		
			
			| 406 | 409 |    echo ''
 | 
	
		
			
			| 407 | 410 |    echo 'freedombone -c [configuration file]'
 | 
	
	
		
			
			|  | @@ -753,6 +756,9 @@ function read_configuration {
 | 
	
		
			
			| 753 | 756 |    fi
 | 
	
		
			
			| 754 | 757 |  
 | 
	
		
			
			| 755 | 758 |    if [ -f $CONFIGURATION_FILE ]; then
 | 
	
		
			
			|  | 759 | +      if grep -q "DH_KEYLENGTH" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 760 | +          DH_KEYLENGTH=$(grep "DH_KEYLENGTH" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 761 | +      fi
 | 
	
		
			
			| 756 | 762 |        if grep -q "WIFI_INTERFACE" $CONFIGURATION_FILE; then
 | 
	
		
			
			| 757 | 763 |            WIFI_INTERFACE=$(grep "WIFI_INTERFACE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
 | 
	
		
			
			| 758 | 764 |        fi
 | 
	
	
		
			
			|  | @@ -1595,7 +1601,7 @@ function install_zeronet {
 | 
	
		
			
			| 1595 | 1601 |  
 | 
	
		
			
			| 1596 | 1602 |    apt-get -y install python python-msgpack python-gevent python-pip
 | 
	
		
			
			| 1597 | 1603 |    pip install msgpack-python --upgrade
 | 
	
		
			
			| 1598 |  | -  
 | 
	
		
			
			|  | 1604 | +
 | 
	
		
			
			| 1599 | 1605 |    adduser --home /opt/zeronet/ --shell /bin/false --no-create-home --ingroup daemon --disabled-password --disabled-login zeronet
 | 
	
		
			
			| 1600 | 1606 |    git clone $ZERONET_REPO /opt/zeronet
 | 
	
		
			
			| 1601 | 1607 |    sudo chown -R zeronet:zeronet /opt/zeronet
 | 
	
	
		
			
			|  | @@ -1615,10 +1621,10 @@ function install_zeronet {
 | 
	
		
			
			| 1615 | 1621 |    echo '' >> /etc/systemd/system/zeronet.service
 | 
	
		
			
			| 1616 | 1622 |    echo '[Install]' >> /etc/systemd/system/zeronet.service
 | 
	
		
			
			| 1617 | 1623 |    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/zeronet.service
 | 
	
		
			
			| 1618 |  | -  
 | 
	
		
			
			|  | 1624 | +
 | 
	
		
			
			| 1619 | 1625 |    systemctl enable zeronet.service
 | 
	
		
			
			| 1620 | 1626 |    systemctl start zeronet.service
 | 
	
		
			
			| 1621 |  | -  
 | 
	
		
			
			|  | 1627 | +
 | 
	
		
			
			| 1622 | 1628 |    echo 'mesh_zeronet' >> $COMPLETION_FILE
 | 
	
		
			
			| 1623 | 1629 |  }
 | 
	
		
			
			| 1624 | 1630 |  
 | 
	
	
		
			
			|  | @@ -1830,7 +1836,7 @@ function mesh_babel {
 | 
	
		
			
			| 1830 | 1836 |    echo 'RemainAfterExit=yes' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1831 | 1837 |    echo '' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1832 | 1838 |    echo '# Allow time for the server to start/stop' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1833 |  | -  echo 'TimeoutSec=300' >> /etc/systemd/system/babel.service  
 | 
	
		
			
			|  | 1839 | +  echo 'TimeoutSec=300' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1834 | 1840 |    echo '' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1835 | 1841 |    echo '[Install]' >> /etc/systemd/system/babel.service
 | 
	
		
			
			| 1836 | 1842 |    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/babel.service
 | 
	
	
		
			
			|  | @@ -2048,7 +2054,7 @@ function mesh_batman_bridge {
 | 
	
		
			
			| 2048 | 2054 |    echo 'RemainAfterExit=yes' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2049 | 2055 |    echo '' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2050 | 2056 |    echo '# Allow time for the server to start/stop' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2051 |  | -  echo 'TimeoutSec=300' >> /etc/systemd/system/batman.service  
 | 
	
		
			
			|  | 2057 | +  echo 'TimeoutSec=300' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2052 | 2058 |    echo '' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2053 | 2059 |    echo '[Install]' >> /etc/systemd/system/batman.service
 | 
	
		
			
			| 2054 | 2060 |    echo 'WantedBy=multi-user.target' >> /etc/systemd/system/batman.service
 | 
	
	
		
			
			|  | @@ -2199,7 +2205,7 @@ function create_backup_script {
 | 
	
		
			
			| 2199 | 2205 |  
 | 
	
		
			
			| 2200 | 2206 |    echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 2201 | 2207 |    echo '    echo "Creating backup key"' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 2202 |  | -  echo '    freedombone-addcert -h backup' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			|  | 2208 | +  echo "    freedombone-addcert -h backup --dhkey $DH_KEYLENGTH" >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 2203 | 2209 |    echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 2204 | 2210 |    echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
 | 
	
		
			
			| 2205 | 2211 |  
 | 
	
	
		
			
			|  | @@ -3644,7 +3650,7 @@ function backup_to_friends_servers {
 | 
	
		
			
			| 3644 | 3650 |  
 | 
	
		
			
			| 3645 | 3651 |    echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 3646 | 3652 |    echo '    echo "Creating backup key"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 3647 |  | -  echo '    freedombone-addcert -h backup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			|  | 3653 | +  echo "    freedombone-addcert -h backup --dhkey $DH_KEYLENGTH" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 3648 | 3654 |    echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 3649 | 3655 |    echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
 | 
	
		
			
			| 3650 | 3656 |  
 | 
	
	
		
			
			|  | @@ -6202,7 +6208,7 @@ function configure_email {
 | 
	
		
			
			| 6202 | 6208 |  
 | 
	
		
			
			| 6203 | 6209 |    # make a tls certificate for email
 | 
	
		
			
			| 6204 | 6210 |    if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
 | 
	
		
			
			| 6205 |  | -      freedombone-addcert -h exim
 | 
	
		
			
			|  | 6211 | +      freedombone-addcert -h exim --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 6206 | 6212 |        check_certificates exim
 | 
	
		
			
			| 6207 | 6213 |    fi
 | 
	
		
			
			| 6208 | 6214 |    cp /etc/ssl/private/exim.key /etc/exim4
 | 
	
	
		
			
			|  | @@ -6431,7 +6437,7 @@ function configure_imap {
 | 
	
		
			
			| 6431 | 6437 |    fi
 | 
	
		
			
			| 6432 | 6438 |  
 | 
	
		
			
			| 6433 | 6439 |    if [ ! -f /etc/ssl/certs/dovecot.dhparam ]; then
 | 
	
		
			
			| 6434 |  | -      freedombone-addcert -h dovecot
 | 
	
		
			
			|  | 6440 | +      freedombone-addcert -h dovecot --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 6435 | 6441 |        check_certificates dovecot
 | 
	
		
			
			| 6436 | 6442 |    fi
 | 
	
		
			
			| 6437 | 6443 |    chown root:dovecot /etc/ssl/certs/dovecot.*
 | 
	
	
		
			
			|  | @@ -6518,7 +6524,7 @@ function configure_imap_client_certs {
 | 
	
		
			
			| 6518 | 6524 |    fi
 | 
	
		
			
			| 6519 | 6525 |    # make a CA cert
 | 
	
		
			
			| 6520 | 6526 |    if [ ! -f /etc/ssl/private/ca-$DEFAULT_DOMAIN_NAME.key ]; then
 | 
	
		
			
			| 6521 |  | -      freedombone-addcert -h $DEFAULT_DOMAIN_NAME --ca ""
 | 
	
		
			
			|  | 6527 | +      freedombone-addcert -h $DEFAULT_DOMAIN_NAME --ca "" --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 6522 | 6528 |    fi
 | 
	
		
			
			| 6523 | 6529 |    # CA configuration
 | 
	
		
			
			| 6524 | 6530 |    echo '[ ca ]' > /etc/ssl/dovecot-ca.cnf
 | 
	
	
		
			
			|  | @@ -7820,7 +7826,7 @@ quit" > $INSTALL_DIR/batch.sql
 | 
	
		
			
			| 7820 | 7826 |    configure_php
 | 
	
		
			
			| 7821 | 7827 |  
 | 
	
		
			
			| 7822 | 7828 |    if [ ! -f /etc/ssl/certs/$OWNCLOUD_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 7823 |  | -      freedombone-addcert -h $OWNCLOUD_DOMAIN_NAME
 | 
	
		
			
			|  | 7829 | +      freedombone-addcert -h $OWNCLOUD_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 7824 | 7830 |        check_certificates $OWNCLOUD_DOMAIN_NAME
 | 
	
		
			
			| 7825 | 7831 |    fi
 | 
	
		
			
			| 7826 | 7832 |  
 | 
	
	
		
			
			|  | @@ -8069,7 +8075,7 @@ quit" > $INSTALL_DIR/batch.sql
 | 
	
		
			
			| 8069 | 8075 |    configure_php
 | 
	
		
			
			| 8070 | 8076 |  
 | 
	
		
			
			| 8071 | 8077 |    if [ ! -f /etc/ssl/certs/$GIT_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 8072 |  | -      freedombone-addcert -h $GIT_DOMAIN_NAME
 | 
	
		
			
			|  | 8078 | +      freedombone-addcert -h $GIT_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 8073 | 8079 |        check_certificates $GIT_DOMAIN_NAME
 | 
	
		
			
			| 8074 | 8080 |    fi
 | 
	
		
			
			| 8075 | 8081 |  
 | 
	
	
		
			
			|  | @@ -8242,7 +8248,7 @@ function install_xmpp {
 | 
	
		
			
			| 8242 | 8248 |    fi
 | 
	
		
			
			| 8243 | 8249 |  
 | 
	
		
			
			| 8244 | 8250 |    if [ ! -f /etc/ssl/certs/xmpp.dhparam ]; then
 | 
	
		
			
			| 8245 |  | -      freedombone-addcert -h xmpp
 | 
	
		
			
			|  | 8251 | +      freedombone-addcert -h xmpp --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 8246 | 8252 |        check_certificates xmpp
 | 
	
		
			
			| 8247 | 8253 |    fi
 | 
	
		
			
			| 8248 | 8254 |    chown prosody:prosody /etc/ssl/private/xmpp.key
 | 
	
	
		
			
			|  | @@ -8367,7 +8373,7 @@ function install_irc_server {
 | 
	
		
			
			| 8367 | 8373 |    fi
 | 
	
		
			
			| 8368 | 8374 |  
 | 
	
		
			
			| 8369 | 8375 |    if [ ! -f /etc/ssl/certs/ngircd.dhparam ]; then
 | 
	
		
			
			| 8370 |  | -      freedombone-addcert -h ngircd
 | 
	
		
			
			|  | 8376 | +      freedombone-addcert -h ngircd --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 8371 | 8377 |        check_certificates ngircd
 | 
	
		
			
			| 8372 | 8378 |    fi
 | 
	
		
			
			| 8373 | 8379 |  
 | 
	
	
		
			
			|  | @@ -8464,7 +8470,7 @@ function install_wiki {
 | 
	
		
			
			| 8464 | 8470 |        rm -rf /var/www/$WIKI_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 8465 | 8471 |    fi
 | 
	
		
			
			| 8466 | 8472 |    if [ ! -f /etc/ssl/certs/$WIKI_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 8467 |  | -      freedombone-addcert -h $WIKI_DOMAIN_NAME
 | 
	
		
			
			|  | 8473 | +      freedombone-addcert -h $WIKI_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 8468 | 8474 |        check_certificates $WIKI_DOMAIN_NAME
 | 
	
		
			
			| 8469 | 8475 |    fi
 | 
	
		
			
			| 8470 | 8476 |  
 | 
	
	
		
			
			|  | @@ -8750,7 +8756,7 @@ function install_blog {
 | 
	
		
			
			| 8750 | 8756 |    chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
 | 
	
		
			
			| 8751 | 8757 |  
 | 
	
		
			
			| 8752 | 8758 |    if [ ! -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 8753 |  | -      freedombone-addcert -h $FULLBLOG_DOMAIN_NAME
 | 
	
		
			
			|  | 8759 | +      freedombone-addcert -h $FULLBLOG_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 8754 | 8760 |        check_certificates $FULLBLOG_DOMAIN_NAME
 | 
	
		
			
			| 8755 | 8761 |    fi
 | 
	
		
			
			| 8756 | 8762 |  
 | 
	
	
		
			
			|  | @@ -9115,7 +9121,7 @@ quit" > $INSTALL_DIR/batch.sql
 | 
	
		
			
			| 9115 | 9121 |    configure_php
 | 
	
		
			
			| 9116 | 9122 |  
 | 
	
		
			
			| 9117 | 9123 |    if [ ! -f /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 9118 |  | -      freedombone-addcert -h $MICROBLOG_DOMAIN_NAME
 | 
	
		
			
			|  | 9124 | +      freedombone-addcert -h $MICROBLOG_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 9119 | 9125 |        check_certificates $MICROBLOG_DOMAIN_NAME
 | 
	
		
			
			| 9120 | 9126 |    fi
 | 
	
		
			
			| 9121 | 9127 |  
 | 
	
	
		
			
			|  | @@ -9384,7 +9390,7 @@ quit" > $INSTALL_DIR/batch.sql
 | 
	
		
			
			| 9384 | 9390 |    configure_php
 | 
	
		
			
			| 9385 | 9391 |  
 | 
	
		
			
			| 9386 | 9392 |    if [ ! -f /etc/ssl/certs/$REDMATRIX_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 9387 |  | -      freedombone-addcert -h $REDMATRIX_DOMAIN_NAME
 | 
	
		
			
			|  | 9393 | +      freedombone-addcert -h $REDMATRIX_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 9388 | 9394 |        check_certificates $REDMATRIX_DOMAIN_NAME
 | 
	
		
			
			| 9389 | 9395 |    fi
 | 
	
		
			
			| 9390 | 9396 |  
 | 
	
	
		
			
			|  | @@ -9702,7 +9708,7 @@ function install_mediagoblin {
 | 
	
		
			
			| 9702 | 9708 |    echo '}' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 9703 | 9709 |  
 | 
	
		
			
			| 9704 | 9710 |    if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
 | 
	
		
			
			| 9705 |  | -      freedombone-addcert -h $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			|  | 9711 | +      freedombone-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 9706 | 9712 |        check_certificates $MEDIAGOBLIN_DOMAIN_NAME
 | 
	
		
			
			| 9707 | 9713 |    fi
 | 
	
		
			
			| 9708 | 9714 |  
 | 
	
	
		
			
			|  | @@ -10141,7 +10147,7 @@ function install_voip {
 | 
	
		
			
			| 10141 | 10147 |  
 | 
	
		
			
			| 10142 | 10148 |    # Make an ssl cert for the server
 | 
	
		
			
			| 10143 | 10149 |    if [ ! -f /etc/ssl/certs/mumble.dhparam ]; then
 | 
	
		
			
			| 10144 |  | -      freedombone-addcert -h mumble
 | 
	
		
			
			|  | 10150 | +      freedombone-addcert -h mumble --dhkey $DH_KEYLENGTH
 | 
	
		
			
			| 10145 | 10151 |        check_certificates mumble
 | 
	
		
			
			| 10146 | 10152 |    fi
 | 
	
		
			
			| 10147 | 10153 |  
 |