mirror of
https://github.com/billz/raspap-webgui.git
synced 2025-03-01 10:31:47 +00:00
Add bridged-routed toggle script
This commit is contained in:
@@ -169,7 +169,8 @@ function download_latest_files() {
|
||||
fi
|
||||
|
||||
install_log "Cloning latest files from github"
|
||||
git clone --depth 1 https://github.com/billz/raspap-webgui /tmp/raspap-webgui || install_error "Unable to download files from github"
|
||||
# git clone --depth 1 https://github.com/billz/raspap-webgui /tmp/raspap-webgui || install_error "Unable to download files from github"
|
||||
git clone --single-branch --branch bridge-mode --depth 1 https://github.com/Taikuh/raspap-webgui /tmp/raspap-webgui || install_error "Unable to download files from github"
|
||||
sudo mv /tmp/raspap-webgui $webroot_dir || install_error "Unable to move raspap-webgui to web root"
|
||||
}
|
||||
|
||||
@@ -209,6 +210,11 @@ function check_for_old_configs() {
|
||||
sudo cp /etc/rc.local "$raspap_dir/backups/rc.local.`date +%F-%R`"
|
||||
sudo ln -sf "$raspap_dir/backups/rc.local.`date +%F-%R`" "$raspap_dir/backups/rc.local"
|
||||
fi
|
||||
|
||||
for file in /etc/systemd/network/raspap-*.net*; do
|
||||
sudo cp "$file" "${raspap_dir}/backups/${file}.`date +%F-%R`"
|
||||
sudo ln -sf "${raspap_dir}/backups/${file}.`date +%F-%R`" "${raspap_dir}/backups/${file}"
|
||||
done
|
||||
}
|
||||
|
||||
# Move configuration file to the correct location
|
||||
@@ -235,6 +241,11 @@ function default_configuration() {
|
||||
|
||||
[ -d /etc/dnsmasq.d ] || sudo mkdir /etc/dnsmasq.d
|
||||
|
||||
sudo systemctl stop systemd-networkd
|
||||
sudo systemctl disable systemd-networkd
|
||||
sudo cp $webroot_dir/config/raspap-bridge-br0.netdev /etc/systemd/network/raspap-bridge-br0.netdev || install_error "Unable to move br0 netdev file"
|
||||
sudo cp $webroot_dir/config/raspap-br0-member-eth0.network /etc/systemd/network/raspap-br0-member-eth0.network || install_error "Unable to move br0 member file"
|
||||
|
||||
if [ ! -f "$webroot_dir/includes/config.php" ]; then
|
||||
sudo cp "$webroot_dir/config/config.php" "$webroot_dir/includes/config.php"
|
||||
fi
|
||||
|
41
installers/toggle-bridged-routed.sh
Executable file
41
installers/toggle-bridged-routed.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
function do_routed_mode() {
|
||||
sudo systemctl disable systemd-networkd
|
||||
|
||||
sudo sed -i "s/^.*#BRIDGED$/#&/" /etc/dhcpcd.conf
|
||||
sudo sed -i "s/^bridge/#&/" /etc/hostapd/hostapd.conf
|
||||
|
||||
sudo ip link set down br0
|
||||
sudo ip link del dev br0
|
||||
}
|
||||
|
||||
function do_bridged_mode() {
|
||||
sudo sed -i "s/^#\(.*#BRIDGED\)$/\1/" /etc/dhcpcd.conf
|
||||
sudo sed -i "s/^#\(bridge\)/\1/" /etc/hostapd/hostapd.conf
|
||||
|
||||
sudo ip link set down eth0
|
||||
sudo ip link set up eth0
|
||||
|
||||
sudo systemctl start systemd-networkd
|
||||
sudo systemctl enable systemd-networkd
|
||||
}
|
||||
|
||||
sudo systemctl stop systemd-networkd
|
||||
sudo systemctl stop hostapd
|
||||
sudo systemctl stop dhcpcd
|
||||
sudo systemctl stop dnsmasq
|
||||
|
||||
if [ "$1" = "force-routed" ]
|
||||
then do_routed_mode
|
||||
elif [ "$1" = "force-bridged" ]
|
||||
then do_bridged_mode
|
||||
elif ip addr show br0 | grep 'inet ' > /dev/null
|
||||
then do_routed_mode
|
||||
elif ! ip addr show br0 | grep 'inet ' > /dev/null
|
||||
then do_bridged_mode
|
||||
fi
|
||||
|
||||
sudo systemctl start hostapd
|
||||
sudo systemctl start dhcpcd
|
||||
sudo systemctl start dnsmasq
|
Reference in New Issue
Block a user