plex_raspberry_pi_NAS/03-enable_hotspot

69 lines
1.5 KiB
Bash

#!/bin/bash
# === CONFIGURATION ===
WIFI_SSID="RaspberryPiMedia"
WIFI_PASSWORD="raspberrymedia"
# Turn Raspberry Pi into Wi-Fi Hotspot for Jellyfin
set -e
echo "=== Installing dependencies ==="
sudo apt update
sudo apt install -y hostapd dnsmasq
echo "=== Stopping services to configure ==="
sudo systemctl stop hostapd
sudo systemctl stop dnsmasq
echo "=== Configuring static IP for wlan0 ==="
sudo bash -c 'cat >> /etc/dhcpcd.conf <<EOF
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
EOF'
sudo service dhcpcd restart
echo "=== Configuring dnsmasq ==="
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig 2>/dev/null || true
sudo bash -c 'cat > /etc/dnsmasq.conf <<EOF
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
EOF'
echo "=== Configuring hostapd ==="
sudo bash -c "cat > /etc/hostapd/hostapd.conf <<EOF
interface=wlan0
driver=nl80211
ssid=${WIFI_SSID}
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=${WIFI_PASSWORD}
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
EOF"
sudo sed -i 's|#DAEMON_CONF=.*|DAEMON_CONF="/etc/hostapd/hostapd.conf"|' /etc/default/hostapd
echo "=== Enabling services ==="
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl enable dnsmasq
echo "=== Starting services ==="
sudo systemctl start hostapd
sudo systemctl start dnsmasq
echo "=== Done ==="
echo "Connect to the Wi-Fi network: ${WIFI_SSID}"
echo "Use password: ${WIFI_PASSWORD}"
echo "Access Jellyfin at: http://192.168.4.1:8096"