Скрипт отключения/включения wifi в dir-300 из консоли

· 198 words · 1 minute read

Написал скрипт для отключения/включения wi-fi на роутере dir-300 из консоли. Работает просто, параметры up и down. Для большинства практического смысла не имеет, а я часто включаю, выключаю вай-фай ну и для практики с  curl. В методе POST передается слишком много параметров, я часть порубил, часть оставил.

#!/bin/bash

#Адрес веб-интерфейса роутера
routerUrl=http://192.168.0.1
routerLogin=user
routerPassword=derpasswort
#ssid сети, вместо пробелов "+"
wlanSsid=halyava

curl -d "ACTION_POST=LOGIN" \
	-d "FILECODE=" \
	-d "VERIFICATION_CODE=" \
	-d "LOGIN_USER="$routerLogin"" \
	-d "LOGIN_PASSWD="$routerPassword"" \
	-d "login=Log+In+" \
	-d "VER_CODE=" \
	""$routerUrl"/st_device.php" > /dev/null

case "$1" in
	up)
	curl -d "ACTION_POST=final" \
	-d "f_enable=1" \
	-d "f_wps_enable=1" \
	-d "f_ssid="$wlanSsid"" \
	-d "f_wlan_sch=0" \
	-d "f_super_g=" \
	-d "f_xr=" \
	-d "f_txrate=0" \
	-d "f_wmm_enable=0" \
	-d "f_ap_hidden=0" \
	-d "f_authentication=5" \
	-d "f_cipher=2" \
	-d "f_wpa_psk_type=1" \
	-d "f_wpa_psk="$routerPassword"" \
"$routerUrl/bsc_wlan.php" > /dev/null;;

	down)
	curl -d "ACTION_POST=final" \
	-d "f_enable=0" \
	-d "f_wps_enable=1" \
	-d "f_ssid="$wlanSsid"" \
	-d "f_super_g=" \
	-d "f_xr=" \
	-d "f_txrate=0" \
	-d "f_wmm_enable=0" \
	-d "f_ap_hidden=0" \
	-d "f_authentication=5" \
	-d "f_cipher=2" \
	-d "f_wpa_psk_type=1" \
	-d "f_wpa_psk="$routerPassword"" \
"$routerUrl/bsc_wlan.php" > /dev/null;;

	*)
	echo "Please use up/down script options for managing wlan in DIR-300";;
esac

> chmod +X routerwlan

> routerwlan down