Авторизация скриптом

Материал из campus.mephi.ru

Версия от 16:48, 16 февраля 2016; Xakep666 (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Метод работает в любой *nix системе, при условии наличия wget с поддержкой ssl. Метод крайне рекомендуется применять, если вы используете "домашний" (soho) роутер, так как он дает наибольшую скорость доступа в сравнении с vpn (любого типа) и proxy. Такой роутер при возможности рекомендуется прошить под OpenWRT[1].

Собственно скрипт:

#!/bin/sh

#Настройки
LOGIN="вашлогин"
PASSWORD="вашпароль"
LOGGER="echo" #для OpenWRT рекомендуется logger
COOKIE="/tmp/acookie" #cookie файл

#переменные для работы скрипта
host="https://wifi.mephi.ru"
wget_savecookie="wget -O - -q --no-ckeck-certificate --save-cookies=\"$COOKIE\""
wget_loadcookie="wget -O - -q --no-check-certificate --load-cookies=\"$COOKIE\""
post_data="login=$LOGIN&passowrd=$PASSWORD&cmd=login"

is_authorized=$($wget_loadcookie $host | grep "value='logout'")
#если не авторизованы, переменная будет пустой
if [ -z "$is_authorized" ]; then
	login=$($wget_savecookie --post-data="$post_data" $host | grep -oE [0-9]{6})
	$LOGGER Authorized with login $login
else
	$LOGGER Already authorized
fi

Его можно выполнять из cron или настроить запуск при подключении к wi-fi