|  | @@ -315,9 +315,13 @@ WIFI_ESSID=
 | 
	
		
			
			| 315 | 315 |  # Optional wifi password
 | 
	
		
			
			| 316 | 316 |  WIFI_PASSWORD=
 | 
	
		
			
			| 317 | 317 |  
 | 
	
		
			
			| 318 |  | -# wifi interface
 | 
	
		
			
			|  | 318 | +# Wifi interface
 | 
	
		
			
			| 319 | 319 |  WIFI_INTERFACE="wlan0"
 | 
	
		
			
			| 320 |  | -WIFI_HOTSPOT_MODE="g"
 | 
	
		
			
			|  | 320 | +
 | 
	
		
			
			|  | 321 | +# Whether to always force there to exist a wifi password
 | 
	
		
			
			|  | 322 | +WIFI_FORCE_PASSWORD="no"
 | 
	
		
			
			|  | 323 | +
 | 
	
		
			
			|  | 324 | +# Channel number for wifi hotspot
 | 
	
		
			
			| 321 | 325 |  WIFI_HOTSPOT_CHANNEL=7
 | 
	
		
			
			| 322 | 326 |  
 | 
	
		
			
			| 323 | 327 |  # message if something fails to install
 | 
	
	
		
			
			|  | @@ -405,9 +409,6 @@ function read_configuration {
 | 
	
		
			
			| 405 | 409 |        if grep -q "WIFI_INTERFACE" $CONFIGURATION_FILE; then
 | 
	
		
			
			| 406 | 410 |            WIFI_INTERFACE=$(grep "WIFI_INTERFACE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
 | 
	
		
			
			| 407 | 411 |        fi
 | 
	
		
			
			| 408 |  | -      if grep -q "WIFI_HOTSPOT_MODE" $CONFIGURATION_FILE; then
 | 
	
		
			
			| 409 |  | -          WIFI_HOTSPOT_MODE=$(grep "WIFI_HOTSPOT_MODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
 | 
	
		
			
			| 410 |  | -      fi
 | 
	
		
			
			| 411 | 412 |        if grep -q "WIFI_HOTSPOT_CHANNEL" $CONFIGURATION_FILE; then
 | 
	
		
			
			| 412 | 413 |            WIFI_HOTSPOT_CHANNEL=$(grep "WIFI_HOTSPOT_CHANNEL" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
 | 
	
		
			
			| 413 | 414 |        fi
 | 
	
	
		
			
			|  | @@ -7131,15 +7132,37 @@ function enable_wifi_hotspot {
 | 
	
		
			
			| 7131 | 7132 |        exit 853
 | 
	
		
			
			| 7132 | 7133 |    fi
 | 
	
		
			
			| 7133 | 7134 |  
 | 
	
		
			
			|  | 7135 | +  get_wifi_essid
 | 
	
		
			
			|  | 7136 | +  get_wifi_password
 | 
	
		
			
			|  | 7137 | +
 | 
	
		
			
			|  | 7138 | +  # Create an ESSID if one doesn't exist
 | 
	
		
			
			|  | 7139 | +  if [ ! $WIFI_ESSID ]; then
 | 
	
		
			
			|  | 7140 | +      TEMP_WIFI_ESSID=$(openssl rand -base64 8)
 | 
	
		
			
			|  | 7141 | +      WIFI_ESSID="Freedom"${TEMP_WIFI_ESSID:0:3}
 | 
	
		
			
			|  | 7142 | +  fi
 | 
	
		
			
			|  | 7143 | +
 | 
	
		
			
			|  | 7144 | +  # Add a password
 | 
	
		
			
			|  | 7145 | +  if [[ $WIFI_FORCE_PASSWORD == "yes" ]]; then
 | 
	
		
			
			|  | 7146 | +      if [ ! $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7147 | +          TEMP_WIFI_PASSWORD=$(openssl rand -base64 8)
 | 
	
		
			
			|  | 7148 | +          WIFI_PASSWORD=${TEMP_WIFI_PASSWORD:0:8}
 | 
	
		
			
			|  | 7149 | +      fi
 | 
	
		
			
			|  | 7150 | +  fi
 | 
	
		
			
			|  | 7151 | +
 | 
	
		
			
			| 7134 | 7152 |    if ! grep -q "Wifi hotspot" $COMPLETION_FILE; then
 | 
	
		
			
			| 7135 | 7153 |        echo '' >> /etc/network/interfaces
 | 
	
		
			
			| 7136 | 7154 |        echo '# Wifi hotspot' >> /etc/network/interfaces
 | 
	
		
			
			| 7137 | 7155 |        echo "auto $WIFI_INTERFACE" >> /etc/network/interfaces
 | 
	
		
			
			| 7138 | 7156 |        echo "iface $WIFI_INTERFACE inet static" >> /etc/network/interfaces
 | 
	
		
			
			| 7139 |  | -      echo '        address 192.168.4.1' >> /etc/network/interfaces
 | 
	
		
			
			| 7140 |  | -      echo '        network 192.168.4.0' >> /etc/network/interfaces
 | 
	
		
			
			| 7141 |  | -      echo '        netmask 255.255.255.0' >> /etc/network/interfaces
 | 
	
		
			
			| 7142 |  | -      echo '        broadcast 192.168.4.255' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7157 | +      echo '    address 192.168.4.1' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7158 | +      echo '    network 192.168.4.0' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7159 | +      echo '    netmask 255.255.255.0' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7160 | +      echo '    broadcast 192.168.4.255' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7161 | +      if [ $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7162 | +          echo -n '    wpa-psk  "' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7163 | +          echo -n "$WIFI_PASSWORD" >> /etc/network/interfaces
 | 
	
		
			
			|  | 7164 | +          echo '"' >> /etc/network/interfaces
 | 
	
		
			
			|  | 7165 | +      fi
 | 
	
		
			
			| 7143 | 7166 |        service networking restart
 | 
	
		
			
			| 7144 | 7167 |    fi
 | 
	
		
			
			| 7145 | 7168 |  
 | 
	
	
		
			
			|  | @@ -7150,20 +7173,6 @@ function enable_wifi_hotspot {
 | 
	
		
			
			| 7150 | 7173 |        exit 490
 | 
	
		
			
			| 7151 | 7174 |    fi
 | 
	
		
			
			| 7152 | 7175 |  
 | 
	
		
			
			| 7153 |  | -  get_wifi_essid
 | 
	
		
			
			| 7154 |  | -  get_wifi_password
 | 
	
		
			
			| 7155 |  | -
 | 
	
		
			
			| 7156 |  | -  # Create an ESSID if one doesn't exist
 | 
	
		
			
			| 7157 |  | -  if [ ! $WIFI_ESSID ]; then
 | 
	
		
			
			| 7158 |  | -      TEMP_WIFI_ESSID=$(openssl rand -base64 8)
 | 
	
		
			
			| 7159 |  | -      WIFI_ESSID="Freedom"${TEMP_WIFI_ESSID:0:3}
 | 
	
		
			
			| 7160 |  | -  fi
 | 
	
		
			
			| 7161 |  | -  # Add a password
 | 
	
		
			
			| 7162 |  | -  if [ ! $WIFI_PASSWORD ]; then
 | 
	
		
			
			| 7163 |  | -      TEMP_WIFI_PASSWORD=$(openssl rand -base64 8)
 | 
	
		
			
			| 7164 |  | -      WIFI_PASSWORD=${TEMP_WIFI_PASSWORD:0:8}
 | 
	
		
			
			| 7165 |  | -  fi
 | 
	
		
			
			| 7166 |  | -
 | 
	
		
			
			| 7167 | 7176 |    sed -i 's|#DAEMON_CONF=.*|DAEMON_CONF="/etc/hostapd/hostapd.conf"|g' /etc/default/hostapd
 | 
	
		
			
			| 7168 | 7177 |  
 | 
	
		
			
			| 7169 | 7178 |    echo '### Wireless network name ###' > /etc/hostapd/hostapd.conf
 | 
	
	
		
			
			|  | @@ -7190,7 +7199,11 @@ function enable_wifi_hotspot {
 | 
	
		
			
			| 7190 | 7199 |    echo "wpa_passphrase=$WIFI_PASSWORD" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 7191 | 7200 |    echo '' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 7192 | 7201 |    echo '## Key management algorithms ##' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 7193 |  | -  echo 'wpa_key_mgmt=WPA-PSK' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 7202 | +  if [ ! $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7203 | +      echo 'wpa_key_mgmt=WPA-NONE' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 7204 | +  else
 | 
	
		
			
			|  | 7205 | +      echo 'wpa_key_mgmt=WPA-PSK' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 7206 | +  fi
 | 
	
		
			
			| 7194 | 7207 |    echo '#' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 7195 | 7208 |    echo '## Set cipher suites (encryption algorithms) ##' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 7196 | 7209 |    echo '## TKIP = Temporal Key Integrity Protocol' >> /etc/hostapd/hostapd.conf
 | 
	
	
		
			
			|  | @@ -7235,7 +7248,11 @@ function enable_wifi_hotspot {
 | 
	
		
			
			| 7235 | 7248 |        echo 'Wifi Hotspot' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7236 | 7249 |        echo '============' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7237 | 7250 |        echo "ESSID: $WIFI_ESSID" >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7238 |  | -      echo "Wifi password: $WIFI_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7251 | +      if [ $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7252 | +          echo "Wifi password: $WIFI_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7253 | +      else
 | 
	
		
			
			|  | 7254 | +          echo 'No password' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7255 | +      fi
 | 
	
		
			
			| 7239 | 7256 |        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			| 7240 | 7257 |    fi
 | 
	
		
			
			| 7241 | 7258 |  
 | 
	
	
		
			
			|  | @@ -7268,9 +7285,11 @@ function enable_wifi {
 | 
	
		
			
			| 7268 | 7285 |    fi
 | 
	
		
			
			| 7269 | 7286 |    sed -i "s/essid/$WIFI_ESSID/g" /etc/network/interfaces
 | 
	
		
			
			| 7270 | 7287 |    # Add a password
 | 
	
		
			
			| 7271 |  | -  if [ ! $WIFI_PASSWORD ]; then
 | 
	
		
			
			| 7272 |  | -      TEMP_WIFI_PASSWORD=$(openssl rand -base64 8)
 | 
	
		
			
			| 7273 |  | -      WIFI_PASSWORD=${TEMP_WIFI_PASSWORD:0:8}
 | 
	
		
			
			|  | 7288 | +  if [[ $WIFI_FORCE_PASSWORD == "yes" ]]; then
 | 
	
		
			
			|  | 7289 | +      if [ ! $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7290 | +          TEMP_WIFI_PASSWORD=$(openssl rand -base64 8)
 | 
	
		
			
			|  | 7291 | +          WIFI_PASSWORD=${TEMP_WIFI_PASSWORD:0:8}
 | 
	
		
			
			|  | 7292 | +      fi
 | 
	
		
			
			| 7274 | 7293 |    fi
 | 
	
		
			
			| 7275 | 7294 |  
 | 
	
		
			
			| 7276 | 7295 |    # Add a password
 | 
	
	
		
			
			|  | @@ -7286,14 +7305,18 @@ function enable_wifi {
 | 
	
		
			
			| 7286 | 7305 |    fi
 | 
	
		
			
			| 7287 | 7306 |  
 | 
	
		
			
			| 7288 | 7307 |    # Add details to the README file
 | 
	
		
			
			| 7289 |  | -  if [[ ENABLE_WIFI_HOTSPOT != "yes" ]]; then
 | 
	
		
			
			|  | 7308 | +  if [[ ENABLE_WIFI != "yes" ]]; then
 | 
	
		
			
			| 7290 | 7309 |        if ! grep -q "Wifi Settings" /home/$MY_USERNAME/README; then
 | 
	
		
			
			| 7291 | 7310 |            echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7292 | 7311 |            echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7293 | 7312 |            echo 'Wifi Settings' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7294 | 7313 |            echo '=============' >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7295 | 7314 |            echo "ESSID: $WIFI_ESSID" >> /home/$MY_USERNAME/README
 | 
	
		
			
			| 7296 |  | -          echo "Wifi password: $WIFI_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7315 | +          if [ $WIFI_PASSWORD ]; then
 | 
	
		
			
			|  | 7316 | +              echo "Wifi password: $WIFI_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7317 | +          else
 | 
	
		
			
			|  | 7318 | +              echo 'No password' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 7319 | +          fi
 | 
	
		
			
			| 7297 | 7320 |            chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			| 7298 | 7321 |        fi
 | 
	
		
			
			| 7299 | 7322 |    fi
 |