mirror of
https://github.com/ct-Open-Source/tuya-convert.git
synced 2026-03-03 23:24:10 +01:00
99 lines
2.6 KiB
Bash
Executable File
99 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Source config
|
|
. ../config.txt
|
|
|
|
if test -d /etc/NetworkManager; then
|
|
echo "Backing up NetworkManager.cfg..."
|
|
sudo cp /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.backup
|
|
|
|
cat <<- EOF > /etc/NetworkManager/NetworkManager.conf
|
|
[main]
|
|
plugins=keyfile
|
|
|
|
[keyfile]
|
|
unmanaged-devices=interface-name:$WLAN
|
|
EOF
|
|
|
|
echo "Restarting NetworkManager..."
|
|
sudo service network-manager restart
|
|
fi
|
|
sudo ifconfig $WLAN up
|
|
|
|
echo "Backing up /etc/dnsmasq.conf..."
|
|
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
|
|
|
|
|
|
echo "Writing dnsmasq config file..."
|
|
echo "Creating new /etc/dnsmasq.conf..."
|
|
cat <<- EOF >/etc/dnsmasq.conf
|
|
# disables dnsmasq reading any other files like /etc/resolv.conf for nameservers
|
|
no-resolv
|
|
# Interface to bind to
|
|
interface=$WLAN
|
|
#Specify starting_range,end_range,lease_time
|
|
dhcp-range=10.42.42.10,10.42.42.40,12h
|
|
# dns addresses to send to the clients
|
|
server=9.9.9.9
|
|
server=1.1.1.1
|
|
address=/tuya.com/10.42.42.1
|
|
address=/tuyaeu.com/10.42.42.1
|
|
address=/tuyaus.com/10.42.42.1
|
|
address=/tuyacn.com/10.42.42.1
|
|
EOF
|
|
|
|
echo "Writing hostapd config file..."
|
|
cat <<- EOF >/etc/hostapd/hostapd.conf
|
|
interface=$WLAN
|
|
driver=nl80211
|
|
ssid=$AP
|
|
hw_mode=g
|
|
channel=1
|
|
macaddr_acl=0
|
|
auth_algs=1
|
|
ignore_broadcast_ssid=0
|
|
wpa=2
|
|
wpa_passphrase=$PASS
|
|
wpa_key_mgmt=WPA-PSK
|
|
wpa_pairwise=TKIP
|
|
rsn_pairwise=CCMP
|
|
EOF
|
|
|
|
echo "Configuring AP interface..."
|
|
sudo ifconfig $WLAN up 10.42.42.1 netmask 255.255.255.0
|
|
echo "Applying iptables rules..."
|
|
sudo iptables --flush
|
|
sudo iptables --table nat --flush
|
|
sudo iptables --delete-chain
|
|
sudo iptables --table nat --delete-chain
|
|
sudo iptables --table nat --append POSTROUTING --out-interface $ETH -j MASQUERADE
|
|
sudo iptables --append FORWARD --in-interface $WLAN -j ACCEPT
|
|
|
|
echo "Starting DNSMASQ server..."
|
|
sudo /etc/init.d/dnsmasq stop > /dev/null 2>&1
|
|
sudo pkill dnsmasq
|
|
sudo dnsmasq
|
|
|
|
sudo sysctl -w net.ipv4.ip_forward=1 > /dev/null 2>&1
|
|
|
|
sudo ip route add 255.255.255.255 dev $WLAN
|
|
|
|
|
|
echo "Starting AP on $WLAN in screen terminal..."
|
|
sudo hostapd /etc/hostapd/hostapd.conf
|
|
|
|
if test -d /etc/NetworkManager; then
|
|
sudo rm /etc/NetworkManager/NetworkManager.conf > /dev/null 2>&1
|
|
sudo mv /etc/NetworkManager/NetworkManager.conf.backup /etc/NetworkManager/NetworkManager.conf
|
|
sudo service network-manager restart
|
|
fi
|
|
sudo /etc/init.d/dnsmasq stop > /dev/null 2>&1
|
|
sudo pkill dnsmasq
|
|
sudo rm /etc/dnsmasq.conf > /dev/null 2>&1
|
|
sudo mv /etc/dnsmasq.conf.backup /etc/dnsmasq.conf > /dev/null 2>&1
|
|
sudo rm /etc/dnsmasq.hosts > /dev/null 2>&1
|
|
sudo iptables --flush
|
|
sudo iptables --flush -t nat
|
|
sudo iptables --delete-chain
|
|
sudo iptables --table nat --delete-chain
|