Ten typ skryptu ponownego połączenia został zainspitowany Dodatkiem do Firefox - Firefox Live header. Radzimy użyć Dodatku skryptera do edycji lub pisania nowych skryptów. Dla większości routerów, Nagrywanie ponownego połączenia może całkowicie zautomatyzować ponowne połączenie.
Skrypt bazowany jest na XMLu, ale z [[[ zamiast < i ]]] zamiast >. Otoczone przez znacznik HSRC, tzw. kroki
definiują surową strukturę.
[[[HSRC]]] [[[STEP]]] ....deklaracja... [[[/STEP]]] [[[STEP]]] ....deklaracja... [[[/STEP]]] ... [[[/HSRC]]]
Zmienne mogą być definiowane i użyte później za pomocą %nazwa_zmiennej%.
[[[DEFINE routerip="192.168.0.1" pass="moje_haslo"/]]];
Predefiniowane zmienne:
Żądania to najważniejsze deklaracje. Żądanie to zwyczajne zapytania HTTP. W poniższym przykładzie użyte są zmienne user i pass.
[[[REQUEST]]] POST /cgi/dial/ HTTP/1.1 Accept-Language: de, en-gb;q=0.9, en;q=0.8 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) Host: %%%routerip%%% Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive 1=5&11=%%%user%%%&12=%%%pass%%%&14=on&21=0&22=pppoa_DIALUP_PPP1&23=DIALUP_PPP1&24=-7A0B-0-0-F-0-0_1_0_0_1_0_0_A000001_FFFFFF00_0_0_0_0&25=%%%user%%%&26=KOMCIDPEOKNIEDLN&27=&28= [[[/REQUEST]]]
..jest użyta do wczytania zmiennych ze źródła kodu HTML. Odczytane zmienne mogą być użyte później.
[[[REQUEST]]] GET / HTTP/1.1 Accept-Language: de, en-gb;q=0.9, en;q=0.8 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) Host: www.meineip.de Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive [[[/REQUEST]]] [[[RESPONSE keys="ip"]]] Ihre IP\-Adresse lautet\:\<\/th\> \<td\>\<b\>(.*?)\<\/b\>\<\/td\> [[[/RESPONSE]]] [[[RESPONSE keys="provider"]]] \<th style\=\"text\-align\: right\;\"\>Internetprovider\:\<\/th\> \<td\>(.*?)\<\/td\> [[[/RESPONSE]]]
Zmienne %ip% i %provider% mogą od teraz zostać użyte.
Czasami, wymagane jest, by odczekać pewien czas. Przykład: Po rozłączeniu, trzeba zaczekać, zanim zacznie się zasymulowane kliknięcie w „Połącz”.
[[[WAIT seconds="10"/]]]