| #!/bin/sh |
| |
| if [ "$1" == "start" ]; then |
| ifconfig wlan0 up |
| if [ $? != 0 ]; then |
| exit 1 |
| fi |
| ps -eo "%p %a" | grep "dhcpcd wlan0" | grep -v grep |
| if [ $? != 0 ]; then |
| echo "" > /tmp/wlan0_dhcpcd_router |
| echo "#!/bin/sh" > /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo "if [ \"\$reason\" == \"BOUND\" -o \"\$reason\" == \"RENEW\" -o \"\$reason\" == \"REBIND\" ]; then" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " if [ \"\$new_routers\" != \"\" ]; then" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " for x in \$new_routers; do" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " echo \"new_router \$x\" > /tmp/wlan0_dhcpcd_router" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " ping -c2 \$x &" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " done" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo " fi" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| echo "fi" >> /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| chmod +x /run/wg870/wlan0_dhcpcd_run_hooks.sh |
| dhcpcd wlan0 -t 0 -o domain_name_servers --noipv4ll -4 -B -G -c /run/wg870/wlan0_dhcpcd_run_hooks.sh & |
| fi |
| elif [ "$1" == "stop" ]; then |
| ps -eo "%p %a" | grep "dhcpcd wlan0" | grep -v grep | awk '{print "kill "$1}' | sh |
| ifconfig wlan0 0.0.0.0 |
| if [ $? != 0 ]; then |
| exit 1 |
| fi |
| else |
| exit 2 |
| fi |
| |
| exit 0 |