Skocz do zawartości

Linksys WAG120N-EE - skrypt resetowania połączenia


njczyziu

Rekomendowane odpowiedzi

Witam,

czy mogę korzystać z Autoconnecta przy nowym routero-modemie?

Mam go skonfigurowanego z programem do pobierania plików z RS - w momencie jak pobrany zostanie jeden plik, autoconnect automatycznie resetuje połączenie, uruchamia neta z nowym IP, a ten program do pobierania może wtedy bez czekania od razu zacząć pobierać kolejny plik.

 

Pozdrawiam

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Da się, tutaj masz wersję pod Linuksa:

https://coffeefreecode.wordpress.com/2011/03/18/linksys-wag120n-zmiana-adresu-ip-z-poziomu-skryptu/

 

Jak mi dasz trochę czasu, to przekombinuję to tak, by działało na Windowsie, chociaż to może być trudne, bo nie mam tego routera pod ręką.

 

Rozwiązanie tymczasowe: http://dragonee.jogger.pl/2006/01/24/bash-na-windows/ czyli odpalaj skrypty w Bashu na Windowsie. Podobny programik można by napisać w VBSript albo PowerShellu, ale tu już moja wiedza jest praktycznie zerowa. Niemniej jednak - będę próbował.

Odnośnik do komentarza

Napisałem ten skrypt dla Windows. Jest to trochę okrojona wersja w porównaniu z tą dla powłoki Bash (nie sprawdza chociażby nowego IP), ale bezproblemowo funkcjonuje pod Win XP i Vista (sprawdzałem).

 

@echo off
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet
delay 5 /s
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet
delay 10 /s

Zmień w kodzie PASS na swoje hasło do routera, a USER na nazwę użytkownika. Zapisz kod Notatnikiem jako dowolna_nazwa.bat i umieść w jakimś widocznym miejscu, najlepiej na pulpicie, byś mógł ze skryptu potem korzystać.

 

Pobierz dwa pliki:

delay.exe

wget.exe

 

Przenieś je do folderu C:\Windows\system32

 

Potem uruchom skrypt i sprawdź, czy działa.

Odnośnik do komentarza

Chyba działa.. Przynajmniej rozłącza neta i po gdzieś 30s na nowo go załącza.

Tylko jakieś pliki się tworzą na pulpicie:

0007es.th.png

będę musiał je ciągle usuwać, nie da rady bez powstawania ich zrobić tego pliku?

Ten plik działa tylko uruchomiony na pulpicie? Bo przeniosłem go do "Moje dokumenty" i ustawiłem w skrótach klawiszowych, by po naciśnięciu Win+C aktywował się, ale coś jest nie tak.

Gdzie mogę sprawdzić czy zmienił IP? Bo w tymi miejscu IP się nie zmienia:

0001zp.th.png

 

Napisałem ten skrypt dla Windows. Jest to trochę okrojona wersja w porównaniu z tą dla powłoki Bash (nie sprawdza chociażby nowego IP), ale bezproblemowo funkcjonuje pod Win XP i Vista (sprawdzałem).

A można wiedzieć co wynika z tego braku sprawdzania nowego IP?

Odnośnik do komentarza

Chyba działa.. Przynajmniej rozłącza neta i po gdzieś 30s na nowo go załącza.

Tylko jakieś pliki się tworzą na pulpicie:

będę musiał je ciągle usuwać, nie da rady bez powstawania ich zrobić tego pliku?

@echo off
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 5 /s
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 10 /s

Teraz pliki nie powinny się pobierać.

 

Ten plik działa tylko uruchomiony na pulpicie? Bo przeniosłem go do "Moje dokumenty" i ustawiłem w skrótach klawiszowych, by po naciśnięciu Win+C aktywował się, ale coś jest nie tak.

Powinien działać z każdego miejsca.

 

Gdzie mogę sprawdzić czy zmienił IP? Bo w tymi miejscu IP się nie zmienia:

http://checkip.dyndns.com

 

A można wiedzieć co wynika z tego braku sprawdzania nowego IP?

Nic. Nie chciało mi się implementować wyrażeń regularnych. :)

 

Chociaż po przemyśleniu...

Odpal to, powinno podawać Ci nowy i stary adres IP oraz kasować wszystkie śmieci.

 

@echo off

echo Twoj stary adres IP:

wget http://ciekawa-informatyka.pl/ip_check.php --quiet

type ip_check.php

del ip_check.php

echo.

wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider

delay 5 /s

del setup.cgi

wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider

delay 10 /s

del setup.cgi

echo Twoj nowy adres IP:

wget http://ciekawa-informatyka.pl/ip_check.php --quiet

type ip_check.php

del ip_check.php

echo.

echo Trwa zamykanie programu...

delay 10 /s

Edytowane przez DawidS28
Odnośnik do komentarza

Przy pierwszych ustawieniach - pliki dalej są generowane.

Przy drugich - również i jest taki komunikat:

Nie można odnaleźć C:\Users\nazwa_użytkownika\desktop\ip_check.php

Aha i jeszcze jedno. U siostry internet jest, tylko ciągle pobiera adres sieciowy. Nie wiem czy to coś złego, czy nie.

Edytowane przez DawidS28
Odnośnik do komentarza

Przy pierwszych ustawieniach - pliki dalej są generowane.

Przy drugich - również i jest taki komunikat:

Kopiowałeś skrypt, gdy go edytowałem, chwila...

 

@echo off
echo Twoj stary adres IP:
wget http://ciekawa-informatyka.pl/ip_check.php --quiet
type ip_check.php
del ip_check.php
echo.
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 5 /s
del setup.cgi
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 10 /s
del setup.cgi
echo Twoj nowy adres IP:
wget http://ciekawa-informatyka.pl/ip_check.php --quiet
type ip_check.php
del ip_check.php
echo.
echo Trwa zamykanie programu...
delay 10 /s

Trudno mi to zmieniać, ponieważ nie mam tego routera i nie jestem w stanie sprawdzić dokładnie działania skryptu, stąd problemy.

 

Aha i jeszcze jedno. U siostry internet jest, tylko ciągle pobiera adres sieciowy. Nie wiem czy to coś złego, czy nie.

Jeśli wszystko działa, to nie widzę problemu...

Odnośnik do komentarza

Tylko może nieco za długo to wszystko trwa.

Margines bezpieczeństwa.

Można próbować trochę zmniejszyć odstęp między rozłączeniem a ponownym połączeniem, ale wszystko zależy od Twojego routera, jakości infrastruktury operatora, szybkości połączenia itd.. U mnie to trwa około dwóch sekund (połączenie resetowane ręcznie). Znam przypadki, kiedy nawet pół minuty to za krótko na reset. Możemy spróbować zmniejszyć ten czas, jeśli chcesz. Ostatnią przerwę delay 10 /s możesz spokojnie usunąć ze skryptu. Jest zostawiona tylko po to, by dało się odczytać nowe IP.

 

A te pliki co się pojawiały to one są od razu kasowane czy może zapisywane w innymi miejscu?

Od razu kasowane.

Odpowiada za to polecenie del setup.cgi

Odnośnik do komentarza
Margines bezpieczeństwa.

Można próbować trochę zmniejszyć odstęp między rozłączeniem a ponownym połączeniem, ale wszystko zależy od Twojego routera, jakości infrastruktury operatora, szybkości połączenia itd.. U mnie to trwa około dwóch sekund (połączenie resetowane ręcznie). Znam przypadki, kiedy nawet pół minuty to za krótko na reset. Możemy spróbować zmniejszyć ten czas, jeśli chcesz.

 

No można spróbować :)

Odnośnik do komentarza

No więc...

 

@echo off
echo Twoj stary adres IP:
wget http://ciekawa-informatyka.pl/ip_check.php --quiet
type ip_check.php
del ip_check.php
echo.
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 4 /s
del setup.cgi
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 6 /s
del setup.cgi
echo Twoj nowy adres IP:
wget http://ciekawa-informatyka.pl/ip_check.php --quiet
type ip_check.php
del ip_check.php
echo.
echo Trwa zamykanie programu...
delay 5 /s

10 s zysku na całym skrypcie, o ile zadziała.

Ostatnią linię możesz spokojnie wywalić, jeśli nie zależy Ci na sprawdzeniu nowego IP.

 

Tak trochę poza tematem: prosiłbym o niekasowanie obrazków z ImageShacka, utrudnia to zrozumienie tematu w przyszłości, gdyby ktoś chciał z tego skorzystać.

Odnośnik do komentarza

Jeśli nie interesuje Cię, jakie miałeś IP przed zmianą i jakie Ci zostało przydzielone, to możesz skrócić skrypt do:

 

@echo off
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 4 /s
del setup.cgi
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 6 /s
del setup.cgi

 

I nie kasuj logów. Mogą być komuś jeszcze potrzebne. Skoro problem został raz rozwiązany, to niech zostaną wszystkie materiały dla przyszłych czytających. Bardzo proszę o niekasowanie pozostałych.

Odnośnik do komentarza

Spróbuj jeszcze tego, ale nie daję gwarancji, że będzie działać...

 

@echo off
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 2 /s
del setup.cgi
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
delay 3 /s
del setup.cgi

 

Byłbym wdzięczny, gdybyś wstawił ponownie usunięte z ImageShacka screeny. Argumentacja ta sama, co poprzednio: może się jeszcze komuś przydać.

Odnośnik do komentarza

Cóż... no dobra...

 

A co do skryptu:

 

@echo off
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=disconnect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
del setup.cgi
wget --http-user=USER --http-passwd=PASS http://192.168.1.1/setup.cgi --post-data="ctype=pppoa&ifstatus=Up&todo=connect&this_file=Status.htm&next_file=Status.htm&message=" --quiet --spider
del setup.cgi

Wersja maksymalnie przyspieszona i skrócona.

Możliwe, że nie będzie działać, ale proponuję sprawdzić.

Odnośnik do komentarza
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...