Created
April 5, 2020 16:32
-
-
Save devtrillo/34c9b6341858e02e1532b52ee65d909a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#This version will provide internet when using the hotspot IF an ethernet cable is plugged in" | |
#This script is for Buster ONLY | |
#unblock wifi | |
#needed after buster 20200205 | |
rfkill unblock all > /dev/null 2>&1 | |
#update packages | |
apt-get update | |
#install hostapd, dnsmasq | |
apt-get install -y hostapd | |
apt-get install -y dnsmasq | |
#remove hostapd mask | |
systemctl unmask hostapd | |
#stop both services | |
systemctl disable hostapd | |
systemctl disable dnsmasq | |
mkdir -p $HOME/temp | |
wifipass () { | |
echo;echo;echo | |
echo "This password will be used to connect to the pi" | |
echo "when the pi is in hotspot mode" | |
#credit next line to Ray, N3HYM | |
echo "Password should be between 8-63 characters" | |
read -p "Enter password to use with new hotspot " wifipasswd | |
COUNT=${#wifipasswd} | |
if [ $COUNT -lt 8 ] | |
then | |
echo "Password must be at least 8 characters long" | |
sleep 2 | |
wifipass | |
fi | |
echo;echo | |
echo "You entered $wifipasswd" | |
read -p "Is this correct? y/n " wifians | |
if [ $wifians == "y" ] || [ $wifians == "Y" ] | |
then | |
echo | |
else | |
wifipass | |
fi | |
} | |
wifipass | |
cd $HOME/temp | |
wget http://www.raspberryconnect.com/images/Autohotspot/autohotspot-95-4/hostapd.txt | |
#set new hotspot passwd | |
sed -i "s/wpa_passphrase=1234567890/wpa_passphrase=$wifipasswd/" $HOME/temp/hostapd.txt | |
#set country to US | |
sed -i 's/country_code=GB/country_code=US/' $HOME/temp/hostapd.txt | |
#move hostapd to correct location | |
mv $HOME/temp/hostapd.txt /etc/hostapd/hostapd.conf | |
sed -i s'/#DAEMON_CONF=""/DAEMON_CONF="\/etc\/hostapd\/hostapd.conf"/' /etc/default/hostapd | |
sed -i s'/DAEMON_OPTS=""/#DAEMON_OPTS=""/' /etc/default/hostapd | |
#add needed info to dnsmasq.conf | |
echo "#AutoHotspot config" >> /etc/dnsmasq.conf | |
echo "interface=wlan0" >> /etc/dnsmasq.conf | |
echo "bind-dynamic" >> /etc/dnsmasq.conf | |
echo "server=8.8.8.8" >> /etc/dnsmasq.conf | |
echo "domain-needed" >> /etc/dnsmasq.conf | |
echo "bogus-priv" >> /etc/dnsmasq.conf | |
echo "dhcp-range=10.10.10.150,10.10.10.200,255.255.255.0,12h" >> /etc/dnsmasq.conf | |
echo "#Set up redirect for email.com" >> /etc/dnsmasq.conf | |
echo "dhcp-option=3,10.10.10.10" >> /etc/dnsmasq.conf | |
echo "address=/email.com/10.10.10.10" >> /etc/dnsmasq.conf | |
mv /etc/network/interfaces /etc/network/interfaces.org | |
echo "source-directory /etc/network/interfaces.d" >> /etc/network/interfaces | |
echo "nohook wpa_supplicant" >> /etc/dhcpcd.conf | |
#setup ip forward | |
sed 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf | |
cd $HOME/temp | |
wget http://www.raspberryconnect.com/images/autohotspotN/autohotspotn-95-4/autohotspot-service.txt | |
#create autohotspot service file | |
mv autohotspot-service.txt /etc/systemd/system/autohotspot.service | |
#start autohotspot service | |
systemctl enable autohotspot.service | |
#check if iw installed. install if not | |
iwcheck=$(dpkg --get-selections | grep -w "iw") | |
if [ -z "iw" ] | |
then | |
apt-get install iw | |
fi | |
#install autohotspot script | |
cd $HOME/temp | |
wget http://www.raspberryconnect.com/images/autohotspotN/autohotspotn-95-4/autohotspotN.txt | |
#mod ip address for our custom setup | |
sed -i 's/192.168.50.5/10.10.10.10/' autohotspotN.txt | |
mv autohotspotN.txt /usr/bin/autohotspotN | |
chmod +x /usr/bin/autohotspotN | |
echo;echo;echo | |
echo "A reboot is required to complete the setup" | |
echo "Wifi/AutoHotSpot will not work until reboot" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment