Strona 1 z 1

[Ruby]Resetowanie adsl w routerach TP-Link

: 26 sie 2011, 18:37
autor: Radeko
Witam :)
Zaczynam przygodę z Ruby i w ramach ćwiczeń napisałem skrypt resetowania połączenia adsl w routerze TP-Link za pomocą telnetu.
Skrypt działa o wiele szybciej, niż reset routera przez www.

Kod: Zaznacz cały

#!/usr/bin/env ruby
#TP-Link reset ADSL by Radeko
# admin to domyśle hasło do routera, jeżeli zostało zmienione zmień je na swoje
require 'net/telnet'
server = Net::Telnet.new('Host' => '192.168.1.1', 'Port' => '23', 'Telnetmode' => false)
lines_to_send = ['admin', 'wan ads re', 'ex']

lines_to_send.each do |line|
 sleep(0.5)
 server.puts(line)
 sleep(0.5)

 server.waitfor(/./) do |data|
  puts data
 end
end
Do działania wymagany jest oczywiście zainstalowany ruby. W tablicy lines_to_send pierwsze jest hasło do routera, podałem domyślne. Jeżeli zostało zmienione należy wpisać swoje. Skrypt można zapisać np pod nazwą adsl_reset.rb, należy wykonać na nim:

Kod: Zaznacz cały

sudo chmod +x
czyli jeżeli zostanie zapisany w katalogu domowym w folderze "scripts" (tak zapisałem go u siebie), to należy wykonać:

Kod: Zaznacz cały

cd ~/scripts/ | sudo chmod +x adsl_reset.rb
Skrypt uruchamia się przez

Kod: Zaznacz cały

./adsl_reset.rb
można też utworzyć skrót, przez dodanie do programów startowych linijki

Kod: Zaznacz cały

alias adsl_reset='cd ~/scripts/|./adsl_reset.rb'
Teraz skrypt będzie uruchamiany przez wpisanie w konsoli adsl_reset.

Nie jest to oczywiście nic skomplikowanego. Mam nadzieję, że posiadacze łącza ADSL i routera TP-Link docenią jak ten skrypt ułatwia reset połączenia. Oczywiście można go przystosować do innych routerów. Jeżeli ktoś dopatrzy się jakichś niedociągnięć, które pewnie są :razz: Proszę o napisanie w tym wątku, poprawię jak szybko to możliwe. W razie pytań proszę pisać.

Pozdrawiam Radeko :)

Re: [Ruby]Resetowanie adsl w routerach TP-Link

: 27 sie 2011, 13:59
autor: sir_herrbatka
Wypróbowałem skrypt u siebie ─ działa bez zarzutu.