Portál AbcLinuxu, 28. května 2024 09:05
ADSL FUP v Perlu (Radiokomunikace)
29.8.2007 19:28
| Přečteno: 1414×
| poslední úprava: 31.1.2008 22:54
Uživatelům ADSL s FUP od Českých radiokomunikací by se mohl hodit script, který se připojí na FUP portál a stáhne a vypíše kolik dat je tento měsíc přeneseno a kolik zbývá.
Informace vypisuje na příkazové řádce a je napsaný v Perlu. Tady je:
- #!/usr/bin/perl -w
- # 2007-08-29 Premek Vyhnal <premysl.vyhnal gmail.com> (Public domain)
-
- use LWP::UserAgent;
-
- # NASTAVENI
- # telefonni cislo
- $tel = 000000000;
- # heslo (defaultni je cislo smlouvy)
- $pass = 00000000;
-
- $ua = LWP::UserAgent->new;
- $ua->agent(""); # User agent - identifikace "prohlizece"
- $ua->cookie_jar({}); # zapnout cookies
- # odeslat prihlasovaci formular pomoci POST
- $req = HTTP::Request->new(POST => "https://fup.radiokomunikace.cz/index.php");
- $req->content_type("application/x-www-form-urlencoded");
- $req->content("action=login&user_name=$tel\@bluetone.adsl&user_password=$pass");
- $ua->request($req);
- $res = $ua->get("https://fup.radiokomunikace.cz/main.php");
- if ($res->is_success) { $_ = $res->content;}
- else { die $res->status_line, "\n"; } # skoncit v pripade chyby
-
- # ukoncit v pripade spatneho jmena/hesla
- die "Neplatne prihlasovaci udaje.\n" if(m/(Va.e p..hl..en. do aplikace nen. platn.)/);
-
- ($perc) = m/<span id="progr">([.\d]+) %<\/span>/;
- ($limit) = m/FUP limit: ([,\d]+) GB<br \/>/;
- ($sezrano, $smgb) = m/Tento m.s.c: ([,\d]+) (\w)B<br \/>/;
- ($zbyva, $zmgb) = m/Do p.ekro.en. zb.v.: ([,\d]+) (\w)B/;
-
- s/,/./ foreach ($limit,$sezrano,$zbyva);
-
- @cas = localtime(time);
- ($den,$mesic,$rok) = ($cas[3],$cas[4]+1,$cas[5]+1900);
- # pocet dnu v tomto mesici
- @dny= qw( 31 28 31 30 31 30 31 31 30 31 30 31 );
- $dnu = $dny[$mesic-1];
- $dnu = 29 if ($mesic==2 and $rok%4==0 && $rok%100==0 || $rok%400==0);
- $zbyvadnu = $dnu-$den+1; # dnu do konce mesice (vcetne dneska)
-
- print "
- Limit: $limit GB
- ".int(($limit/$dnu)*100)/100 ." GB/den
-
- Spotrebovano: $sezrano ".$smgb."B
- $perc %
- ".int(($sezrano/$den)*100)/100 ." ".$smgb."B/den
-
- Zbyva: $zbyva ".$zmgb."B
- $zbyvadnu dnu
- ".int(($zbyva/$zbyvadnu)*100)/100 ." ".$zmgb."B/den
- ";
Použití:
- Uložit do souboru pod libovolným jménem např. někam do /usr/bin/
- Na řádcích 8 a 10 vyplnit své telefonní číslo a heslo na fup portál - pokud jste ho neněnili je to číslo smlouvy
- Nastavit práva pro spouštění (
chmod +x jmenosouboru
)
- Pro spuštění napište jeho jméno na příkazové řádce
Script vypíše například:
Limit: 24.00 GB
0.8 GB/den
Spotrebovano: 4.96 MB
0 %
4.96 MB/den
Zbyva: 24.00 GB
30 dnu
0.8 GB/den
Na výpisu je vidět
- celkový limit,
- průměr na jeden den,
- kolik již bylo přeneseno,
- kolik již bylo přeneseno v procentech z celkového limitu,
- kolik bylo přeneseno v průměru každý den,
- kolik zbývá přenést do konce měsíce,
- kolik zbývá přenést každý den (porovnáním s předchozími průměry jde zjistit jestli stahuji míň než můžu a nebo jestli musím začít brzdit).
Jestli někdo vidíte chybu nebo byste něco udělali líp/jinak, dejte mi vědět. Pak nevim jestli to bude fungovat i když někdo má nastaveno snížení rychlosti místo placení za data navíc. Testujte.
Upraveno: (2007-09-01) opraveno podle happy barney + funguje i když je některá hodnota v MB místo GB.
Tiskni
Sdílej:
Komentáře
Vložit další komentář
29.8.2007 19:54
sewi | skóre: 21
| blog:
Bunker Hill
| Prostějov
Re: ADSL FUP v Perlu (Radiokomunikace)
Založit nové vlákno •
Nahoru
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.