瀏覽代碼

Wifi setup during install

Bob Mottram 9 年之前
父節點
當前提交
e4fcb38372
共有 3 個檔案被更改,包括 715 行新增661 行删除
  1. 85
    55
      src/freedombone
  2. 617
    593
      src/freedombone-config
  3. 13
    13
      src/freedombone-wifi

+ 85
- 55
src/freedombone 查看文件

@@ -1712,6 +1712,35 @@ function add_onion_service {
1712 1712
     echo $(cat /var/lib/tor/hidden_service_${onion_service_name}/hostname)
1713 1713
 }
1714 1714
 
1715
+function setup_wifi {
1716
+    if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
1717
+        return
1718
+    fi
1719
+    if [ ! $WIFI_SSID ]; then
1720
+        return
1721
+    fi
1722
+    if [ ${#WIFI_SSID} -lt 2 ]; then
1723
+        return
1724
+    fi  
1725
+    if grep -Fxq "setup_wifi" $COMPLETION_FILE; then
1726
+        return
1727
+    fi
1728
+    if [[ $WIFI_TYPE != 'none' ]]; then
1729
+        if [ ! $WIFI_PASSPHRASE ]; then
1730
+            echo $'No wifi passphrase was given'
1731
+            return
1732
+        fi
1733
+        if [ ${#WIFI_PASSPHRASE} -lt 2 ]; then
1734
+            echo $'Wifi passphrase was too short'
1735
+            return
1736
+        fi  
1737
+        ${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE -p $WIFI_PASSPHRASE
1738
+    else
1739
+        ${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE     
1740
+    fi
1741
+    echo 'setup_wifi' >> $COMPLETION_FILE
1742
+}
1743
+
1715 1744
 function create_avahi_onion_domains {
1716 1745
     if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
1717 1746
         return
@@ -6589,11 +6618,11 @@ function install_tox_client {
6589 6618
         exit 67248
6590 6619
     fi
6591 6620
 
6592
-    # initial setup of username	
6621
+    # initial setup of username 
6593 6622
     #su -c "echo 'n
6594
-	#/nick $MY_USERNAME
6595
-	#/exit
6596
-	#' | $TOXIC_FILE -d" - $MY_USERNAME
6623
+    #/nick $MY_USERNAME
6624
+    #/exit
6625
+    #' | $TOXIC_FILE -d" - $MY_USERNAME
6597 6626
 
6598 6627
     echo 'install_tox_client' >> $COMPLETION_FILE
6599 6628
 }
@@ -6876,57 +6905,57 @@ function install_irc_client {
6876 6905
     echo '  },' >> /home/$MY_USERNAME/.irssi/config
6877 6906
     echo '  {' >> /home/$MY_USERNAME/.irssi/config
6878 6907
     echo "    address = \"127.0.0.1\";" >> /home/$MY_USERNAME/.irssi/config
6879
-	if [[ $ONION_ONLY == 'no' ]]; then
6880
-		echo "    port = \"${IRC_PORT}\";" >> /home/$MY_USERNAME/.irssi/config
6881
-		echo '    use_ssl = "yes";' >> /home/$MY_USERNAME/.irssi/config
6882
-	else
6883
-		IRC_ONION_HOSTNAME=$(cat $COMPLETION_FILE | grep "IRC onion domain" | awk -F ':' '{print $2}')
6884
-		echo "    port = \"${IRC_ONION_PORT}\";" >> /home/$MY_USERNAME/.irssi/config 
6885
-		echo '    use_ssl = "no";' >> /home/$MY_USERNAME/.irssi/config
6886
-	fi
6887
-	echo '    chatnet = "Freedombone";' >> /home/$MY_USERNAME/.irssi/config
6888
-	echo '    ssl_verify = "no";' >> /home/$MY_USERNAME/.irssi/config
6889
-	echo '    autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
6890
-	if [ $IRC_PASSWORD ]; then
6891
-		echo "    password = \"${IRC_PASSWORD}\";" >> /home/$MY_USERNAME/.irssi/config
6892
-	fi
6893
-	echo '  }' >> /home/$MY_USERNAME/.irssi/config
6894
-	echo ');' >> /home/$MY_USERNAME/.irssi/config
6895
-	echo '' >> /home/$MY_USERNAME/.irssi/config
6896
-	echo 'chatnets = {' >> /home/$MY_USERNAME/.irssi/config
6897
-	echo '  Freedombone = {' >> /home/$MY_USERNAME/.irssi/config
6898
-	echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6899
-	echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6900
-	echo '    max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
6901
-	echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6902
-	echo '  };' >> /home/$MY_USERNAME/.irssi/config
6903
-	echo '  Freenode = {' >> /home/$MY_USERNAME/.irssi/config
6904
-	echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6905
-	echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6906
-	echo '    max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
6907
-	echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6908
-	echo '  };' >> /home/$MY_USERNAME/.irssi/config
6909
-	echo '  OFTC = {' >> /home/$MY_USERNAME/.irssi/config
6910
-	echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6911
-	echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6912
-	echo '    max_msgs = "1";' >> /home/$MY_USERNAME/.irssi/config
6913
-	echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6914
-	echo '  };' >> /home/$MY_USERNAME/.irssi/config
6915
-	echo '};' >> /home/$MY_USERNAME/.irssi/config
6916
-	echo '' >> /home/$MY_USERNAME/.irssi/config
6917
-	echo 'channels = (' >> /home/$MY_USERNAME/.irssi/config
6918
-	echo '  { name = "#freedombone"; chatnet = "Freedombone"; autojoin = "Yes"; },' >> /home/$MY_USERNAME/.irssi/config
6919
-	echo ');' >> /home/$MY_USERNAME/.irssi/config
6920
-	echo '' >> /home/$MY_USERNAME/.irssi/config
6921
-	echo 'settings = {' >> /home/$MY_USERNAME/.irssi/config
6922
-	echo "  core = { real_name = \"$MY_NAME\"; user_name = \"$MY_USERNAME\"; nick = \"$MY_USERNAME\"; };" >> /home/$MY_USERNAME/.irssi/config
6923
-	echo '  "fe-text" = { actlist_sort = "refnum"; };' >> /home/$MY_USERNAME/.irssi/config
6924
-	echo '};' >> /home/$MY_USERNAME/.irssi/config
6925
-	echo 'ignores = ( { level = "CTCPS"; } );' >> /home/$MY_USERNAME/.irssi/config
6926
-
6927
-	chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.irssi
6928
-
6929
-	echo 'install_irc_client' >> $COMPLETION_FILE
6908
+    if [[ $ONION_ONLY == 'no' ]]; then
6909
+        echo "    port = \"${IRC_PORT}\";" >> /home/$MY_USERNAME/.irssi/config
6910
+        echo '    use_ssl = "yes";' >> /home/$MY_USERNAME/.irssi/config
6911
+    else
6912
+        IRC_ONION_HOSTNAME=$(cat $COMPLETION_FILE | grep "IRC onion domain" | awk -F ':' '{print $2}')
6913
+        echo "    port = \"${IRC_ONION_PORT}\";" >> /home/$MY_USERNAME/.irssi/config 
6914
+        echo '    use_ssl = "no";' >> /home/$MY_USERNAME/.irssi/config
6915
+    fi
6916
+    echo '    chatnet = "Freedombone";' >> /home/$MY_USERNAME/.irssi/config
6917
+    echo '    ssl_verify = "no";' >> /home/$MY_USERNAME/.irssi/config
6918
+    echo '    autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
6919
+    if [ $IRC_PASSWORD ]; then
6920
+        echo "    password = \"${IRC_PASSWORD}\";" >> /home/$MY_USERNAME/.irssi/config
6921
+    fi
6922
+    echo '  }' >> /home/$MY_USERNAME/.irssi/config
6923
+    echo ');' >> /home/$MY_USERNAME/.irssi/config
6924
+    echo '' >> /home/$MY_USERNAME/.irssi/config
6925
+    echo 'chatnets = {' >> /home/$MY_USERNAME/.irssi/config
6926
+    echo '  Freedombone = {' >> /home/$MY_USERNAME/.irssi/config
6927
+    echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6928
+    echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6929
+    echo '    max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
6930
+    echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6931
+    echo '  };' >> /home/$MY_USERNAME/.irssi/config
6932
+    echo '  Freenode = {' >> /home/$MY_USERNAME/.irssi/config
6933
+    echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6934
+    echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6935
+    echo '    max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
6936
+    echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6937
+    echo '  };' >> /home/$MY_USERNAME/.irssi/config
6938
+    echo '  OFTC = {' >> /home/$MY_USERNAME/.irssi/config
6939
+    echo '    type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
6940
+    echo '    max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
6941
+    echo '    max_msgs = "1";' >> /home/$MY_USERNAME/.irssi/config
6942
+    echo '    max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
6943
+    echo '  };' >> /home/$MY_USERNAME/.irssi/config
6944
+    echo '};' >> /home/$MY_USERNAME/.irssi/config
6945
+    echo '' >> /home/$MY_USERNAME/.irssi/config
6946
+    echo 'channels = (' >> /home/$MY_USERNAME/.irssi/config
6947
+    echo '  { name = "#freedombone"; chatnet = "Freedombone"; autojoin = "Yes"; },' >> /home/$MY_USERNAME/.irssi/config
6948
+    echo ');' >> /home/$MY_USERNAME/.irssi/config
6949
+    echo '' >> /home/$MY_USERNAME/.irssi/config
6950
+    echo 'settings = {' >> /home/$MY_USERNAME/.irssi/config
6951
+    echo "  core = { real_name = \"$MY_NAME\"; user_name = \"$MY_USERNAME\"; nick = \"$MY_USERNAME\"; };" >> /home/$MY_USERNAME/.irssi/config
6952
+    echo '  "fe-text" = { actlist_sort = "refnum"; };' >> /home/$MY_USERNAME/.irssi/config
6953
+    echo '};' >> /home/$MY_USERNAME/.irssi/config
6954
+    echo 'ignores = ( { level = "CTCPS"; } );' >> /home/$MY_USERNAME/.irssi/config
6955
+
6956
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.irssi
6957
+
6958
+    echo 'install_irc_client' >> $COMPLETION_FILE
6930 6959
 }
6931 6960
 
6932 6961
 function install_irc_server {
@@ -10395,6 +10424,7 @@ set_your_domain_name
10395 10424
 time_synchronisation
10396 10425
 configure_internet_protocol
10397 10426
 create_git_project
10427
+setup_wifi
10398 10428
 configure_ssh
10399 10429
 configure_ssh_onion
10400 10430
 allow_ssh_to_onion_address

+ 617
- 593
src/freedombone-config
文件差異過大導致無法顯示
查看文件


+ 13
- 13
src/freedombone-wifi 查看文件

@@ -36,7 +36,7 @@ export TEXTDOMAINDIR="/usr/share/locale"
36 36
 CONFIGURATION_FILE=$HOME/${PROJECT_NAME}.cfg
37 37
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
38 38
 
39
-WIFI_DEVICE=wlan0
39
+WIFI_INTERFACE=wlan0
40 40
 WIFI_TYPE='wpa2-psk'
41 41
 WIFI_SSID=
42 42
 WIFI_PASSPHRASE=
@@ -53,30 +53,30 @@ function wifi_wpa2_psk {
53 53
     ssid=$1
54 54
     passphrase=$2
55 55
     psk=$(wifi_get_psk "$ssid" "$passphrase")
56
-    echo "auto $WIFI_DEVICE" > /etc/network/interfaces.d/wifi
57
-    echo 'iface $WIFI_DEVICE inet dhcp' >> /etc/network/interfaces.d/wifi
56
+    echo "auto $WIFI_INTERFACE" > /etc/network/interfaces.d/wifi
57
+    echo 'iface $WIFI_INTERFACE inet dhcp' >> /etc/network/interfaces.d/wifi
58 58
     echo "    wpa-ssid $ssid" >> /etc/network/interfaces.d/wifi
59 59
     echo "    wpa-psk $psk" >> /etc/network/interfaces.d/wifi
60 60
 }
61 61
 
62 62
 function wifi_none {
63 63
     ssid=$1
64
-    echo "auto $WIFI_DEVICE" > /etc/network/interfaces.d/wifi
65
-    echo 'iface $WIFI_DEVICE inet dhcp' >> /etc/network/interfaces.d/wifi
64
+    echo "auto $WIFI_INTERFACE" > /etc/network/interfaces.d/wifi
65
+    echo 'iface $WIFI_INTERFACE inet dhcp' >> /etc/network/interfaces.d/wifi
66 66
     echo "    wireless-essid $ssid" >> /etc/network/interfaces.d/wifi
67 67
 }
68 68
 
69 69
 function show_help {
70 70
     echo ''
71
-    echo $"${PROJECT_NAME}-wifi -d [device] -t [type] -s [ssid] -p [passphrase]"
71
+    echo $"${PROJECT_NAME}-wifi -i [interface] -t [type] -s [ssid] -p [passphrase]"
72 72
     echo ''
73 73
     echo $'Wifi configuration tool'
74 74
     echo ''
75
-    echo $'     --help                   Show help'
76
-    echo $'  -d --device [name]          Device name'
77
-    echo $'  -t --type [wpa2-psk|none]   Security type'
78
-    echo $'  -s --ssid [id]              Set SSID'
79
-    echo $'  -p --passphrase [text]      Set passphrase'
75
+    echo $'     --help                        Show help'
76
+    echo $'  -i --interface [wlan0|wlan1...]  Device name'
77
+    echo $'  -t --type [wpa2-psk|none]        Security type'
78
+    echo $'  -s --ssid [id]                   Set SSID'
79
+    echo $'  -p --passphrase [text]           Set passphrase'
80 80
     echo ''
81 81
     exit 0
82 82
 }
@@ -89,9 +89,9 @@ do
89 89
         --help)
90 90
             show_help
91 91
             ;;
92
-        -d|--device)
92
+        -i|--if|--interface)
93 93
             shift
94
-            WIFI_DEVICE=${1}            
94
+            WIFI_INTERFACE=${1}            
95 95
             ;;
96 96
         -t|--type)
97 97
             shift