|  | @@ -52,6 +52,14 @@ SSH_PORT=2222
 | 
	
		
			
			| 52 | 52 |  IRC_PORT=6697
 | 
	
		
			
			| 53 | 53 |  IRC_ONION_PORT=8093
 | 
	
		
			
			| 54 | 54 |  
 | 
	
		
			
			|  | 55 | +# outgoing SMTP proxy
 | 
	
		
			
			|  | 56 | +SMTP_PROXY_ENABLE=$'no'
 | 
	
		
			
			|  | 57 | +SMTP_PROXY_PROTOCOL='smtps'
 | 
	
		
			
			|  | 58 | +SMTP_PROXY_SERVER='mail.myispdomain'
 | 
	
		
			
			|  | 59 | +SMTP_PROXY_PORT=465
 | 
	
		
			
			|  | 60 | +SMTP_PROXY_USERNAME=''
 | 
	
		
			
			|  | 61 | +SMTP_PROXY_PASSWORD=''
 | 
	
		
			
			|  | 62 | +
 | 
	
		
			
			| 55 | 63 |  USB_DRIVE=sdb
 | 
	
		
			
			| 56 | 64 |  # get default USB from config file
 | 
	
		
			
			| 57 | 65 |  CONFIGURATION_FILE=/root/${PROJECT_NAME}.cfg
 | 
	
	
		
			
			|  | @@ -68,6 +76,25 @@ if [ -f $CONFIGURATION_FILE ]; then
 | 
	
		
			
			| 68 | 76 |      if grep -q "IRC_PORT=" $CONFIGURATION_FILE; then
 | 
	
		
			
			| 69 | 77 |          IRC_PORT=$(cat $CONFIGURATION_FILE | grep "IRC_PORT=" | awk -F '=' '{print $2}')
 | 
	
		
			
			| 70 | 78 |      fi
 | 
	
		
			
			|  | 79 | +
 | 
	
		
			
			|  | 80 | +    if grep -q "SMTP_PROXY_ENABLE=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 81 | +        SMTP_PROXY_ENABLE=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_ENABLE=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 82 | +    fi
 | 
	
		
			
			|  | 83 | +    if grep -q "SMTP_PROXY_PROTOCOL=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 84 | +        SMTP_PROXY_PROTOCOL=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_PROTOCOL=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 85 | +    fi
 | 
	
		
			
			|  | 86 | +    if grep -q "SMTP_PROXY_SERVER=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 87 | +        SMTP_PROXY_SERVER=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_SERVER=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 88 | +    fi
 | 
	
		
			
			|  | 89 | +    if grep -q "SMTP_PROXY_PORT=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 90 | +        SMTP_PROXY_PORT=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_PORT=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 91 | +    fi
 | 
	
		
			
			|  | 92 | +    if grep -q "SMTP_PROXY_USERNAME=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 93 | +        SMTP_PROXY_USERNAME=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_USERNAME=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 94 | +    fi
 | 
	
		
			
			|  | 95 | +    if grep -q "SMTP_PROXY_PASSWORD=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 96 | +        SMTP_PROXY_PASSWORD=$(cat $CONFIGURATION_FILE | grep "SMTP_PROXY_PASSWORD=" | awk -F '=' '{print $2}')
 | 
	
		
			
			|  | 97 | +    fi
 | 
	
		
			
			| 71 | 98 |  fi
 | 
	
		
			
			| 72 | 99 |  
 | 
	
		
			
			| 73 | 100 |  # Mirrors settings
 | 
	
	
		
			
			|  | @@ -138,10 +165,10 @@ function set_main_repo {
 | 
	
		
			
			| 138 | 165 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 139 | 166 |             --title $"Main Repository (Mirrors)" \
 | 
	
		
			
			| 140 | 167 |             --form $"If you do not wish to use the default repositories they can be obtained from mirrors on another ${PROJECT_NAME} server." 14 60 3 \
 | 
	
		
			
			| 141 |  | -              $"URL:" 1 1 "$FRIENDS_MIRRORS_SERVER" 1 14 40 15 \
 | 
	
		
			
			| 142 |  | -              $"SSH Port:" 2 1 "$FRIENDS_MIRRORS_SSH_PORT" 2 14 40 10000 \
 | 
	
		
			
			| 143 |  | -              $"Password:" 3 1 "$FRIENDS_MIRRORS_PASSWORD" 3 14 40 10000 \
 | 
	
		
			
			| 144 |  | -              2> $data
 | 
	
		
			
			|  | 168 | +           $"URL:" 1 1 "$FRIENDS_MIRRORS_SERVER" 1 14 40 15 \
 | 
	
		
			
			|  | 169 | +           $"SSH Port:" 2 1 "$FRIENDS_MIRRORS_SSH_PORT" 2 14 40 10000 \
 | 
	
		
			
			|  | 170 | +           $"Password:" 3 1 "$FRIENDS_MIRRORS_PASSWORD" 3 14 40 10000 \
 | 
	
		
			
			|  | 171 | +           2> $data
 | 
	
		
			
			| 145 | 172 |      sel=$?
 | 
	
		
			
			| 146 | 173 |      case $sel in
 | 
	
		
			
			| 147 | 174 |          1) return;;
 | 
	
	
		
			
			|  | @@ -200,9 +227,9 @@ function add_user {
 | 
	
		
			
			| 200 | 227 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 201 | 228 |             --title $"Add new user" \
 | 
	
		
			
			| 202 | 229 |             --form "\n" 8 60 3 \
 | 
	
		
			
			| 203 |  | -              $"Username:" 1 1 "" 1 28 16 15 \
 | 
	
		
			
			| 204 |  | -              $"ssh public key (optional):" 2 1 "" 2 28 40 10000 \
 | 
	
		
			
			| 205 |  | -              2> $data
 | 
	
		
			
			|  | 230 | +           $"Username:" 1 1 "" 1 28 16 15 \
 | 
	
		
			
			|  | 231 | +           $"ssh public key (optional):" 2 1 "" 2 28 40 10000 \
 | 
	
		
			
			|  | 232 | +           2> $data
 | 
	
		
			
			| 206 | 233 |      sel=$?
 | 
	
		
			
			| 207 | 234 |      case $sel in
 | 
	
		
			
			| 208 | 235 |          1) return;;
 | 
	
	
		
			
			|  | @@ -453,6 +480,83 @@ function select_user {
 | 
	
		
			
			| 453 | 480 |      fi
 | 
	
		
			
			| 454 | 481 |  }
 | 
	
		
			
			| 455 | 482 |  
 | 
	
		
			
			|  | 483 | +function smtp_proxy {
 | 
	
		
			
			|  | 484 | +    MUTTRC_FILE=/home/$ADMIN_USER/.muttrc
 | 
	
		
			
			|  | 485 | +    if [ ! -f $MUTTRC_FILE ]; then
 | 
	
		
			
			|  | 486 | +        return
 | 
	
		
			
			|  | 487 | +    fi
 | 
	
		
			
			|  | 488 | +    
 | 
	
		
			
			|  | 489 | +    data=$(tempfile 2>/dev/null)
 | 
	
		
			
			|  | 490 | +    trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			|  | 491 | +    dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			|  | 492 | +           --title $"SMTP Proxy for $ADMIN_USER" \
 | 
	
		
			
			|  | 493 | +           --form $"You may need to proxy outgoing email via your ISP's mail server. If so enter the details below." 14 75 6 \
 | 
	
		
			
			|  | 494 | +           $"Enable proxy:" 1 1 "$SMTP_PROXY_ENABLE" 1 24 5 5 \
 | 
	
		
			
			|  | 495 | +           $"Protocol (smtp/smtps):" 2 1 "$SMTP_PROXY_PROTOCOL" 2 24 5 5 \
 | 
	
		
			
			|  | 496 | +           $"ISP mail server:" 3 1 "$SMTP_PROXY_SERVER" 3 24 40 10000 \
 | 
	
		
			
			|  | 497 | +           $"Port:" 4 1 "$SMTP_PROXY_PORT" 4 24 5 5 \
 | 
	
		
			
			|  | 498 | +           $"Username:" 5 1 "$SMTP_PROXY_USERNAME" 5 24 40 10000 \
 | 
	
		
			
			|  | 499 | +           $"Password:" 6 1 "$SMTP_PROXY_PASSWORD" 6 24 40 10000 \
 | 
	
		
			
			|  | 500 | +           2> $data
 | 
	
		
			
			|  | 501 | +    sel=$?
 | 
	
		
			
			|  | 502 | +    case $sel in
 | 
	
		
			
			|  | 503 | +        1) return;;
 | 
	
		
			
			|  | 504 | +        255) return;;
 | 
	
		
			
			|  | 505 | +    esac
 | 
	
		
			
			|  | 506 | +    SMTP_PROXY_ENABLE=$(cat $data | sed -n 1p)
 | 
	
		
			
			|  | 507 | +    SMTP_PROXY_PROTOCOL=$(cat $data | sed -n 2p)
 | 
	
		
			
			|  | 508 | +    SMTP_PROXY_SERVER=$(cat $data | sed -n 3p)
 | 
	
		
			
			|  | 509 | +    SMTP_PROXY_PORT=$(cat $data | sed -n 4p)
 | 
	
		
			
			|  | 510 | +    SMTP_PROXY_USERNAME=$(cat $data | sed -n 5p)
 | 
	
		
			
			|  | 511 | +    SMTP_PROXY_PASSWORD=$(cat $data | sed -n 6p)
 | 
	
		
			
			|  | 512 | +
 | 
	
		
			
			|  | 513 | +    # change muttrc
 | 
	
		
			
			|  | 514 | +    if [ $SMTP_PROXY_ENABLE != $'no' ]; then
 | 
	
		
			
			|  | 515 | +        if ! grep "set smtp_url" $MUTTRC_FILE; then
 | 
	
		
			
			|  | 516 | +            echo "set smtp_url=\"${SMTP_PROXY_PROTOCOL}://${SMTP_PROXY_USERNAME}:${SMTP_PROXY_PASSWORD}@${SMTP_PROXY_SERVER}:${SMTP_PROXY_PORT}/\"" >> $MUTTRC_FILE
 | 
	
		
			
			|  | 517 | +        else
 | 
	
		
			
			|  | 518 | +            sed -i "s|set smtp_url=.*|set smtp_url=\"${SMTP_PROXY_PROTOCOL}://${SMTP_PROXY_USNAME}:${SMTP_PROXY_PASSWORD}@${SMTP_PROXY_SERVER}:${SMTP_PROXY_PORT}/\"|g" $MUTTRC_FILE
 | 
	
		
			
			|  | 519 | +        fi          
 | 
	
		
			
			|  | 520 | +        sed -i 's|#set smtp_url|set smtp_url|g' $MUTTRC_FILE
 | 
	
		
			
			|  | 521 | +    else
 | 
	
		
			
			|  | 522 | +        if grep "set smtp_url" $MUTTRC_FILE; then
 | 
	
		
			
			|  | 523 | +            sed -i 's|set smtp_url|#set smtp_url|g' $MUTTRC_FILE
 | 
	
		
			
			|  | 524 | +        fi
 | 
	
		
			
			|  | 525 | +    fi
 | 
	
		
			
			|  | 526 | +
 | 
	
		
			
			|  | 527 | +    # save settings within the main configuration file
 | 
	
		
			
			|  | 528 | +    if ! grep -q "SMTP_PROXY_ENABLE=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 529 | +        echo "SMTP_PROXY_ENABLE=$SMTP_PROXY_ENABLE" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 530 | +    else
 | 
	
		
			
			|  | 531 | +        sed -i "s|SMTP_PROXY_ENABLE=.*|SMTP_PROXY_ENABLE=$SMTP_PROXY_ENABLE|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 532 | +    fi
 | 
	
		
			
			|  | 533 | +    if ! grep -q "SMTP_PROXY_PROTOCOL=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 534 | +        echo "SMTP_PROXY_PROTOCOL=$SMTP_PROXY_PROTOCOL" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 535 | +    else
 | 
	
		
			
			|  | 536 | +        sed -i "s|SMTP_PROXY_PROTOCOL=.*|SMTP_PROXY_PROTOCOL=$SMTP_PROXY_PROTOCOL|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 537 | +    fi
 | 
	
		
			
			|  | 538 | +    if ! grep -q "SMTP_PROXY_SERVER=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 539 | +        echo "SMTP_PROXY_SERVER=$SMTP_PROXY_SERVER" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 540 | +    else
 | 
	
		
			
			|  | 541 | +        sed -i "s|SMTP_PROXY_SERVER=.*|SMTP_PROXY_SERVER=$SMTP_PROXY_SERVER|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 542 | +    fi
 | 
	
		
			
			|  | 543 | +    if ! grep -q "SMTP_PROXY_PORT=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 544 | +        echo "SMTP_PROXY_PORT=$SMTP_PROXY_PORT" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 545 | +    else
 | 
	
		
			
			|  | 546 | +        sed -i "s|SMTP_PROXY_PORT=.*|SMTP_PROXY_PORT=$SMTP_PROXY_PORT|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 547 | +    fi
 | 
	
		
			
			|  | 548 | +    if ! grep -q "SMTP_PROXY_USERNAME=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 549 | +        echo "SMTP_PROXY_USERNAME=$SMTP_PROXY_USERNAME" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 550 | +    else
 | 
	
		
			
			|  | 551 | +        sed -i "s|SMTP_PROXY_USERNAME=.*|SMTP_PROXY_USERNAME=$SMTP_PROXY_USERNAME|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 552 | +    fi
 | 
	
		
			
			|  | 553 | +    if ! grep -q "SMTP_PROXY_PASSWORD=" $CONFIGURATION_FILE; then
 | 
	
		
			
			|  | 554 | +        echo "SMTP_PROXY_PASSWORD=$SMTP_PROXY_PASSWORD" >> $CONFIGURATION_FILE
 | 
	
		
			
			|  | 555 | +    else
 | 
	
		
			
			|  | 556 | +        sed -i "s|SMTP_PROXY_PASSWORD=.*|SMTP_PROXY_PASSWORD=$SMTP_PROXY_PASSWORD|g" $CONFIGURATION_FILE
 | 
	
		
			
			|  | 557 | +    fi
 | 
	
		
			
			|  | 558 | +}
 | 
	
		
			
			|  | 559 | +
 | 
	
		
			
			| 456 | 560 |  function delete_user {
 | 
	
		
			
			| 457 | 561 |      select_user
 | 
	
		
			
			| 458 | 562 |      if [ ! $SELECTED_USERNAME ]; then
 | 
	
	
		
			
			|  | @@ -714,11 +818,11 @@ function add_to_mailing_list {
 | 
	
		
			
			| 714 | 818 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 715 | 819 |             --title $"Subscribe $SELECTED_USERNAME to a mailing list" \
 | 
	
		
			
			| 716 | 820 |             --form $"You can either enter a subject or an email address\n" 11 68 4 \
 | 
	
		
			
			| 717 |  | -              $"List folder name:" 1 1 "" 1 35 26 25 \
 | 
	
		
			
			| 718 |  | -              $"Name between [] on subject line:" 2 1 "" 2 35 26 25 \
 | 
	
		
			
			| 719 |  | -              $"List email address:" 3 1 "" 3 35 26 25 \
 | 
	
		
			
			| 720 |  | -              $"Public:" 4 1 $"yes" 4 35 4 25 \
 | 
	
		
			
			| 721 |  | -              2> $data
 | 
	
		
			
			|  | 821 | +           $"List folder name:" 1 1 "" 1 35 26 25 \
 | 
	
		
			
			|  | 822 | +           $"Name between [] on subject line:" 2 1 "" 2 35 26 25 \
 | 
	
		
			
			|  | 823 | +           $"List email address:" 3 1 "" 3 35 26 25 \
 | 
	
		
			
			|  | 824 | +           $"Public:" 4 1 $"yes" 4 35 4 25 \
 | 
	
		
			
			|  | 825 | +           2> $data
 | 
	
		
			
			| 722 | 826 |      sel=$?
 | 
	
		
			
			| 723 | 827 |      case $sel in
 | 
	
		
			
			| 724 | 828 |          1) return;;
 | 
	
	
		
			
			|  | @@ -777,10 +881,10 @@ function email_rule {
 | 
	
		
			
			| 777 | 881 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 778 | 882 |             --title $"Email rule for user $SELECTED_USERNAME" \
 | 
	
		
			
			| 779 | 883 |             --form "\n" 9 65 4 \
 | 
	
		
			
			| 780 |  | -              $"When email arrives from address:" 1 1 "" 1 35 24 28 \
 | 
	
		
			
			| 781 |  | -              $"Move to folder:" 2 1 "" 2 35 24 28 \
 | 
	
		
			
			| 782 |  | -              $"Public:" 3 1 $"no" 3 35 4 25 \
 | 
	
		
			
			| 783 |  | -              2> $data
 | 
	
		
			
			|  | 884 | +           $"When email arrives from address:" 1 1 "" 1 35 24 28 \
 | 
	
		
			
			|  | 885 | +           $"Move to folder:" 2 1 "" 2 35 24 28 \
 | 
	
		
			
			|  | 886 | +           $"Public:" 3 1 $"no" 3 35 4 25 \
 | 
	
		
			
			|  | 887 | +           2> $data
 | 
	
		
			
			| 784 | 888 |      sel=$?
 | 
	
		
			
			| 785 | 889 |      case $sel in
 | 
	
		
			
			| 786 | 890 |          1) return;;
 | 
	
	
		
			
			|  | @@ -815,7 +919,7 @@ function email_rule {
 | 
	
		
			
			| 815 | 919 |      fi
 | 
	
		
			
			| 816 | 920 |  
 | 
	
		
			
			| 817 | 921 |      ${PROJECT_NAME}-addemail -u $SELECTED_USERNAME -e "$RULE_EMAIL" \
 | 
	
		
			
			| 818 |  | -                         -g "$RULE_FOLDER" --public $RULE_PUBLIC
 | 
	
		
			
			|  | 922 | +                   -g "$RULE_FOLDER" --public $RULE_PUBLIC
 | 
	
		
			
			| 819 | 923 |      dialog --title $"Add email rule" \
 | 
	
		
			
			| 820 | 924 |             --msgbox $"Email rule for $RULE_EMAIL was added" 6 40
 | 
	
		
			
			| 821 | 925 |  }
 | 
	
	
		
			
			|  | @@ -831,9 +935,9 @@ function block_unblock_email {
 | 
	
		
			
			| 831 | 935 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 832 | 936 |             --title "$blockstr $SELECTED_USERNAME" \
 | 
	
		
			
			| 833 | 937 |             --form "\n" 8 65 3 \
 | 
	
		
			
			| 834 |  | -              $"When email arrives from address:" 1 1 "" 1 35 24 100 \
 | 
	
		
			
			| 835 |  | -              $"Block it:" 2 1 "yes" 2 35 4 4 \
 | 
	
		
			
			| 836 |  | -              2> $data
 | 
	
		
			
			|  | 938 | +           $"When email arrives from address:" 1 1 "" 1 35 24 100 \
 | 
	
		
			
			|  | 939 | +           $"Block it:" 2 1 "yes" 2 35 4 4 \
 | 
	
		
			
			|  | 940 | +           2> $data
 | 
	
		
			
			| 837 | 941 |      sel=$?
 | 
	
		
			
			| 838 | 942 |      case $sel in
 | 
	
		
			
			| 839 | 943 |          1) return;;
 | 
	
	
		
			
			|  | @@ -873,9 +977,9 @@ function block_unblock_subject {
 | 
	
		
			
			| 873 | 977 |      dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 874 | 978 |             --title "$blockstr $SELECTED_USERNAME" \
 | 
	
		
			
			| 875 | 979 |             --form "\n" 8 70 3 \
 | 
	
		
			
			| 876 |  | -              $"When email arrives with subject text:" 1 1 "" 1 40 24 28 \
 | 
	
		
			
			| 877 |  | -              $"Block it:" 2 1 "yes" 2 40 4 4 \
 | 
	
		
			
			| 878 |  | -              2> $data
 | 
	
		
			
			|  | 980 | +           $"When email arrives with subject text:" 1 1 "" 1 40 24 28 \
 | 
	
		
			
			|  | 981 | +           $"Block it:" 2 1 "yes" 2 40 4 4 \
 | 
	
		
			
			|  | 982 | +           2> $data
 | 
	
		
			
			| 879 | 983 |      sel=$?
 | 
	
		
			
			| 880 | 984 |      case $sel in
 | 
	
		
			
			| 881 | 985 |          1) return;;
 | 
	
	
		
			
			|  | @@ -1216,7 +1320,7 @@ function reset_tripwire {
 | 
	
		
			
			| 1216 | 1320 |      echo ' '
 | 
	
		
			
			| 1217 | 1321 |      echo '
 | 
	
		
			
			| 1218 | 1322 |  
 | 
	
		
			
			| 1219 |  | -' | reset-tripwire
 | 
	
		
			
			|  | 1323 | +                ' | reset-tripwire
 | 
	
		
			
			| 1220 | 1324 |      any_key
 | 
	
		
			
			| 1221 | 1325 |  }
 | 
	
		
			
			| 1222 | 1326 |  
 | 
	
	
		
			
			|  | @@ -1704,7 +1808,7 @@ function menu_top_level {
 | 
	
		
			
			| 1704 | 1808 |          trap "rm -f $data" 0 1 2 5 15
 | 
	
		
			
			| 1705 | 1809 |          dialog --backtitle $"Freedombone Control Panel" \
 | 
	
		
			
			| 1706 | 1810 |                 --title $"Control Panel" \
 | 
	
		
			
			| 1707 |  | -               --radiolist $"Choose an operation:" 26 70 19 \
 | 
	
		
			
			|  | 1811 | +               --radiolist $"Choose an operation:" 27 70 20 \
 | 
	
		
			
			| 1708 | 1812 |                 1 $"About this system" off \
 | 
	
		
			
			| 1709 | 1813 |                 2 $"Backup and Restore" off \
 | 
	
		
			
			| 1710 | 1814 |                 3 $"Reset Tripwire" off \
 | 
	
	
		
			
			|  | @@ -1712,18 +1816,19 @@ function menu_top_level {
 | 
	
		
			
			| 1712 | 1816 |                 5 $"Ping enable/disable" off \
 | 
	
		
			
			| 1713 | 1817 |                 6 $"Manage Users" off \
 | 
	
		
			
			| 1714 | 1818 |                 7 $"Email Filtering Rules" off \
 | 
	
		
			
			| 1715 |  | -               8 $"Security Settings" off \
 | 
	
		
			
			| 1716 |  | -               9 $"Set the main repository (repo mirrors)" off \
 | 
	
		
			
			| 1717 |  | -               10 $"Hubzilla" off \
 | 
	
		
			
			| 1718 |  | -               11 $"Media menu" off \
 | 
	
		
			
			| 1719 |  | -               12 $"IRC menu" off \
 | 
	
		
			
			| 1720 |  | -               13 $"Change the name of this system" off \
 | 
	
		
			
			| 1721 |  | -               14 $"Set the TLS date/time source" off \
 | 
	
		
			
			| 1722 |  | -               15 $"Set a static local IP address" off \
 | 
	
		
			
			| 1723 |  | -               16 $"Check for updates" off \
 | 
	
		
			
			| 1724 |  | -               17 $"Power off the system" off \
 | 
	
		
			
			| 1725 |  | -               18 $"Restart the system" off \
 | 
	
		
			
			| 1726 |  | -               19 $"Exit" on 2> $data
 | 
	
		
			
			|  | 1819 | +               8 $"Outgoing Email Proxy" off \
 | 
	
		
			
			|  | 1820 | +               9 $"Security Settings" off \
 | 
	
		
			
			|  | 1821 | +               10 $"Set the main repository (repo mirrors)" off \
 | 
	
		
			
			|  | 1822 | +               11 $"Hubzilla" off \
 | 
	
		
			
			|  | 1823 | +               12 $"Media menu" off \
 | 
	
		
			
			|  | 1824 | +               13 $"IRC menu" off \
 | 
	
		
			
			|  | 1825 | +               14 $"Change the name of this system" off \
 | 
	
		
			
			|  | 1826 | +               15 $"Set the TLS date/time source" off \
 | 
	
		
			
			|  | 1827 | +               16 $"Set a static local IP address" off \
 | 
	
		
			
			|  | 1828 | +               17 $"Check for updates" off \
 | 
	
		
			
			|  | 1829 | +               18 $"Power off the system" off \
 | 
	
		
			
			|  | 1830 | +               19 $"Restart the system" off \
 | 
	
		
			
			|  | 1831 | +               20 $"Exit" on 2> $data
 | 
	
		
			
			| 1727 | 1832 |          sel=$?
 | 
	
		
			
			| 1728 | 1833 |          case $sel in
 | 
	
		
			
			| 1729 | 1834 |              1) exit 1;;
 | 
	
	
		
			
			|  | @@ -1737,18 +1842,19 @@ function menu_top_level {
 | 
	
		
			
			| 1737 | 1842 |              5) ping_enable_disable;;
 | 
	
		
			
			| 1738 | 1843 |              6) menu_users;;
 | 
	
		
			
			| 1739 | 1844 |              7) menu_email;;
 | 
	
		
			
			| 1740 |  | -            8) security_settings;;
 | 
	
		
			
			| 1741 |  | -            9) set_main_repo;;
 | 
	
		
			
			| 1742 |  | -            10) menu_hubzilla;;
 | 
	
		
			
			| 1743 |  | -            11) menu_media;;
 | 
	
		
			
			| 1744 |  | -            12) menu_irc;;
 | 
	
		
			
			| 1745 |  | -            13) change_system_name;;
 | 
	
		
			
			| 1746 |  | -            14) set_tls_time_source;;
 | 
	
		
			
			| 1747 |  | -            15) set_static_IP;;
 | 
	
		
			
			| 1748 |  | -            16) check_for_updates;;
 | 
	
		
			
			| 1749 |  | -            17) shut_down_system;;
 | 
	
		
			
			| 1750 |  | -            18) restart_system;;
 | 
	
		
			
			| 1751 |  | -            19) break;;
 | 
	
		
			
			|  | 1845 | +            8) smtp_proxy;;
 | 
	
		
			
			|  | 1846 | +            9) security_settings;;
 | 
	
		
			
			|  | 1847 | +            10) set_main_repo;;
 | 
	
		
			
			|  | 1848 | +            11) menu_hubzilla;;
 | 
	
		
			
			|  | 1849 | +            12) menu_media;;
 | 
	
		
			
			|  | 1850 | +            13) menu_irc;;
 | 
	
		
			
			|  | 1851 | +            14) change_system_name;;
 | 
	
		
			
			|  | 1852 | +            15) set_tls_time_source;;
 | 
	
		
			
			|  | 1853 | +            16) set_static_IP;;
 | 
	
		
			
			|  | 1854 | +            17) check_for_updates;;
 | 
	
		
			
			|  | 1855 | +            18) shut_down_system;;
 | 
	
		
			
			|  | 1856 | +            19) restart_system;;
 | 
	
		
			
			|  | 1857 | +            20) break;;
 | 
	
		
			
			| 1752 | 1858 |          esac
 | 
	
		
			
			| 1753 | 1859 |      done
 | 
	
		
			
			| 1754 | 1860 |  }
 |