Zautomatyzuj logowanie BTWiFi przy użyciu konta FON

4

Jestem użytkownikiem hotspotu Wi-Fi British Telecom. Usługa jest dobra, ale po pewnym czasie bezczynności wylogowuje mnie i prosi o podanie nazwy użytkownika i hasła.

Na dłuższą metę jest to naprawdę denerwujące.

Czy ktoś już dokonał inżynierii wstecznej systemu logowania i stworzył skrypt Python / Bash / Perl?

Czy jest jakiś ogólny sposób na robienie tego rodzaju rzeczy?

sscarduzio
źródło
Android? Czy korzystasz z aplikacji BT Wi-Fi?
MrWhite
Nie mam żadnego Androida, ale mam malinowe pi!
sscarduzio

Odpowiedzi:

2

Zapisz to jako skrypt i uruchamiaj co 10 minut. Nie zapomnij dodać nazwy użytkownika i hasła na górze!

#!/bin/bash

# CONF

DBG=true
RELOG_UNAME=usernamehere
RELOG_PASSW=passwordhere

# END CONF

IS_LOGGED_IN=$(wget "https://www.btopenzone.com:8443/home" --timeout 30 -O - 2>/dev/null | grep "accountLogoff")

if [ "$IS_LOGGED_IN" ]

then
  [[ $DBG ]] && echo "currently logged in. Nothing to do.."

else
  [[ $DBG ]] && echo "It's not logged in.. Will log in!"
  OUT=$(wget -qO- --post-data "USERNAME=$RELOG_UNAME&PASSWORD=$RELOG_PASSW" "https://btwifi.portal.fon.com/remote?res=hsp-login&HSPNAME=FonBT%3AGB&WISPURL=https%3A%2F%2Fwww.btopenzone.com%3A8443%2FfonLogon&WISPURLHOME=https%3A%2F%2Fwww.btopenzone.com%3A8443&VNPNAME=FonBT%3AGB&LOCATIONNAME=FonBT%3AGB")
  ONLINE=$(echo $OUT | grep youre_online )
  if [ "$ONLINE" ]
  then
    [[ $DBG ]] && echo "You're online!"
  else
    [[ $DBG ]] && echo "Could not login :("
  fi
fi
MrBeanzy
źródło
1
Dzięki za tę odpowiedź, ale wyjaśnienie byłoby miłe :-)
bertieb
4
To jest dziwne. Nie napisałeś kodu, który wkleiłeś, i jestem pewien, że napisałem go sam rok temu, kilka dni po opublikowaniu mojego pytania. gist.github.com/sscarduzio/05ed0b41d6234530d724
sscarduzio
1
Możesz to zrobić sam, użyłem chrome „sprawdź element” -> wybierz kartę sieci, spójrz na żądania HTTP, kliknij prawym przyciskiem myszy i skopiuj polecenie curl. Następnie dostosowałem curl do wget, ponieważ nie miałem curl zainstalowanego na moim urządzeniu osadzonym.
sscarduzio
1
@ scarduzio Znalazłem rozwiązanie dla Vodafone. Problem polegał na tym, że przy każdym nowym połączeniu wydaje numer wyzwania, który nigdy nie jest taki sam. Jeśli jesteś zainteresowany (lub kimkolwiek innym), możesz go znaleźć tutaj: superuser.com/questions/1053990/... Dziękujemy za pomoc!
Michele Dall'Agata,
1
tak, to właśnie był ból. Ale po kilku uruchomieniach z Chrome, jak sugerowałeś, stało się jasne, co się dzieje z numerem wyzwania. Następnie asystent sieci w niewoli blokujący zapytania DNS tylko spowodował uszkodzenie ciała. Nic dziwnego, że utknąłem. Ale dzisiaj nie spieszyłem się i ostatecznie wyszło! Chociaż muszę powiedzieć, że posiadanie skryptu zabijającego to irytujące okno powitalne wydaje się być niezłe. > :)
Michele Dall'Agata,