| 
				
			 | 
			
			
				@@ -199,6 +199,9 @@ MAX_PHP_MEMORY=32 
			 | 
		
	
		
			
			| 
				199
			 | 
			
				199
			 | 
			
			
				 # default MariaDB password 
			 | 
		
	
		
			
			| 
				200
			 | 
			
				200
			 | 
			
			
				 MARIADB_PASSWORD= 
			 | 
		
	
		
			
			| 
				201
			 | 
			
				201
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				202
			 | 
			
			
				+# file containing a list of remote locations to backup to 
			 | 
		
	
		
			
			| 
				
			 | 
			
				203
			 | 
			
			
				+FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list 
			 | 
		
	
		
			
			| 
				
			 | 
			
				204
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				202
			 | 
			
				205
			 | 
			
			
				 #list of encryption protocols 
			 | 
		
	
		
			
			| 
				203
			 | 
			
				206
			 | 
			
			
				 SSL_PROTOCOLS="TLSv1 TLSv1.1 TLSv1.2" 
			 | 
		
	
		
			
			| 
				204
			 | 
			
				207
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -1442,6 +1445,41 @@ function encrypt_incoming_email { 
			 | 
		
	
		
			
			| 
				1442
			 | 
			
				1445
			 | 
			
			
				   echo 'encrypt_incoming_email' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				1443
			 | 
			
				1446
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				1444
			 | 
			
				1447
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				1448
			 | 
			
			
				+function encrypt_outgoing_email { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1449
			 | 
			
			
				+  # encrypts outgoing mail using your GPG public key 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1450
			 | 
			
			
				+  # so even if an attacker gains access to the data at rest they still need 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1451
			 | 
			
			
				+  # to know your GPG key password to be able to read sent mail 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1452
			 | 
			
			
				+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1453
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1454
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1455
			 | 
			
			
				+  if grep -Fxq "encrypt_outgoing_email" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1456
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1457
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1458
			 | 
			
			
				+  if [[ $GPG_ENCRYPT_STORED_EMAIL != "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1459
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1460
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1461
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1462
			 | 
			
			
				+  echo 'sent_items_router:' > /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1463
			 | 
			
			
				+  echo '   driver    = accept' >> /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1464
			 | 
			
			
				+  echo '   transport = sent_items_transport' >> /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1465
			 | 
			
			
				+  echo '   condition = ${if !eq{$authenticated_id}{}}' >> /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1466
			 | 
			
			
				+  echo '   unseen' >> /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1467
			 | 
			
			
				+  echo '   no_verify' >> /etc/exim4/conf.d/router/170_exim4-config_encryptsent 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1468
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1469
			 | 
			
			
				+  # TODO 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1470
			 | 
			
			
				+  echo 'sent_items_transport:' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1471
			 | 
			
			
				+  echo '   driver           = pipe' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1472
			 | 
			
			
				+  echo '   user             = $authenticated_id' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1473
			 | 
			
			
				+  echo '   group            = Debian-exim' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1474
			 | 
			
			
				+  echo '   temp_errors      = *' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1475
			 | 
			
			
				+  echo '   transport_filter = /usr/bin/gpgit.pl $sender_address' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1476
			 | 
			
			
				+  echo '   command          = /usr/bin/pipe2imap.pl --ssl --user master --authas $authenticated_id --passfile /etc/exim4/master_imap_password.txt --folder "Sent Items" --flags "\\seen"' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1477
			 | 
			
			
				+  echo '   log_defer_output = true' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1478
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1479
			 | 
			
			
				+  service exim4 restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1480
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1481
			 | 
			
			
				+  echo 'encrypt_outgoing_email' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1482
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				1445
			 | 
			
				1483
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				1446
			 | 
			
				1484
			 | 
			
			
				 function email_client { 
			 | 
		
	
		
			
			| 
				1447
			 | 
			
				1485
			 | 
			
			
				   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -3576,6 +3614,49 @@ IPT_NAME 
			 | 
		
	
		
			
			| 
				3576
			 | 
			
				3614
			 | 
			
			
				   echo 'create_restore_script' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				3577
			 | 
			
				3615
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				3578
			 | 
			
				3616
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				3617
			 | 
			
			
				+function backup_to_friends_servers { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3618
			 | 
			
			
				+  if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3619
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3620
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3621
			 | 
			
			
				+  if [ ! $FRIENDS_SERVERS_LIST ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3622
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3623
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3624
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3625
			 | 
			
			
				+  apt-get -y --force-yes install duplicity 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3626
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3627
			 | 
			
			
				+  # script to do backups 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3628
			 | 
			
			
				+  echo '#!/bin/bash' > /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3629
			 | 
			
			
				+  echo 'GPG_KEY=$1' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3630
			 | 
			
			
				+  echo '' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3631
			 | 
			
			
				+  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3632
			 | 
			
			
				+  echo '    echo "No GPG key specified"' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3633
			 | 
			
			
				+  echo '    exit 1' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3634
			 | 
			
			
				+  echo 'fi' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3635
			 | 
			
			
				+  echo '' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3636
			 | 
			
			
				+  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3637
			 | 
			
			
				+  echo '    exit 2' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3638
			 | 
			
			
				+  echo 'fi' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3639
			 | 
			
			
				+  echo '' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3640
			 | 
			
			
				+  echo 'while read remote_server' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3641
			 | 
			
			
				+  echo 'do' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3642
			 | 
			
			
				+  echo '    SERVER="${* %%remote_server}"' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3643
			 | 
			
			
				+  echo '    FTP_PASSWORD="${remote_server%% *}"' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3644
			 | 
			
			
				+  echo "    duplicity incr --ssh-askpass --encrypt-key $GPG_KEY --full-if-older-than 4W --exclude-other-filesystems /home/$MY_USERNAME $SERVER" >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3645
			 | 
			
			
				+  echo '    duplicity --ssh-askpass --force cleanup $SERVER' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3646
			 | 
			
			
				+  echo '    duplicity --ssh-askpass --force remove-all-but-n-full 2 $SERVER' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3647
			 | 
			
			
				+  echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3648
			 | 
			
			
				+  echo 'exit 0' >> /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3649
			 | 
			
			
				+  chmod +x /usr/bin/backup2friends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3650
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3651
			 | 
			
			
				+  # update crontab 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3652
			 | 
			
			
				+  echo '#!/bin/bash' > /etc/cron.daily/backuptofriends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3653
			 | 
			
			
				+  echo 'GPG_KEY=' >> /etc/cron.daily/backuptofriends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3654
			 | 
			
			
				+  echo '/usr/bin/backup2friends $GPG_KEY' >> /etc/cron.daily/backuptofriends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3655
			 | 
			
			
				+  chmod +x /etc/cron.daily/backuptofriends 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3656
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3657
			 | 
			
			
				+  echo 'backup_to_friends_servers' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3658
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3659
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				3579
			 | 
			
				3660
			 | 
			
			
				 function install_final { 
			 | 
		
	
		
			
			| 
				3580
			 | 
			
				3661
			 | 
			
			
				   if grep -Fxq "install_final" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				3581
			 | 
			
				3662
			 | 
			
			
				       return 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -3622,6 +3703,7 @@ time_synchronisation 
			 | 
		
	
		
			
			| 
				3622
			 | 
			
				3703
			 | 
			
			
				 configure_internet_protocol 
			 | 
		
	
		
			
			| 
				3623
			 | 
			
				3704
			 | 
			
			
				 configure_ssh 
			 | 
		
	
		
			
			| 
				3624
			 | 
			
				3705
			 | 
			
			
				 check_hwrng 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3706
			 | 
			
			
				+backup_to_friends_servers 
			 | 
		
	
		
			
			| 
				3625
			 | 
			
				3707
			 | 
			
			
				 search_for_attached_usb_drive 
			 | 
		
	
		
			
			| 
				3626
			 | 
			
				3708
			 | 
			
			
				 regenerate_ssh_keys 
			 | 
		
	
		
			
			| 
				3627
			 | 
			
				3709
			 | 
			
			
				 script_to_make_self_signed_certificates 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -3631,6 +3713,7 @@ create_procmail 
			 | 
		
	
		
			
			| 
				3631
			 | 
			
				3713
			 | 
			
			
				 configure_imap 
			 | 
		
	
		
			
			| 
				3632
			 | 
			
				3714
			 | 
			
			
				 configure_gpg 
			 | 
		
	
		
			
			| 
				3633
			 | 
			
				3715
			 | 
			
			
				 encrypt_incoming_email 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3716
			 | 
			
			
				+#encrypt_outgoing_email 
			 | 
		
	
		
			
			| 
				3634
			 | 
			
				3717
			 | 
			
			
				 email_client 
			 | 
		
	
		
			
			| 
				3635
			 | 
			
				3718
			 | 
			
			
				 configure_firewall_for_email 
			 | 
		
	
		
			
			| 
				3636
			 | 
			
				3719
			 | 
			
			
				 folders_for_mailing_lists 
			 |