Eolo: script per geektool (traffico)
23 Marzo 2015
Il mio profilo Eolo ha un limite di traffico di 40 GB mensili al massimo della velocità (20/2 Mbit/s). Superato questo limite la velocità viene ridotta a 5/0,5 Mbit.
Eolo fornisce un’applicazione per visualizzare il traffico rimanente, ma la trovo piuttosto scarsa di informazioni. Siccome il codice è su Github, pur non conoscendo nulla di Adobe Flex ho cercato di capire come funziona e scoperto che i dati vengono recuperati in formato JSON.
Questo è lo script che attualmente utilizzo per tenere d’occhio il traffico con GeekTool (i programmatori Python sono pregati di ignorare la bruttezza del codice, disponibile anche su GitHub).
#! /usr/bin/env python import json import urllib2 from datetime import datetime eolo_url = "https://care.ngi.it/ws/ws.asp?a=get.quota" try: response = urllib2.urlopen(eolo_url) json_data = json.load(response) if json_data['response']['status'] == 200: data = json_data['data'] # Days before reset cycle_length = 30 end_date = datetime.strptime(data['nextReset'], "%Y-%m-%d %H:%M:%S") remaining_days = abs((end_date - datetime.today()).days); if cycle_length - remaining_days > 0: used_days = cycle_length - remaining_days else: used_days = 1 # Data quota/usage quota_mb = data['quota'] / 1024 used_mb = data['used'] / 1024 remaining_mb = quota_mb - used_mb # Print values print "Rimamenti: %5.0f MB" % remaining_mb print "Quota: %5.0f MB" % quota_mb print "Giorni: %2.0f g" % remaining_days # Avoid division by 0 if remaining_days == 0: remaining_days = 1; print "Media consumo: %5.0f MB/g" % \ (used_mb / used_days) print "Media dispon.: %5.0f MB/g" % \ (remaining_mb / remaining_days) except urllib2.HTTPError, err: if err.code == 403: print "Errore 403 - Connessione non Eolo" else: raise except Exception as e: print "Errore lettura JSON da %s:\n %s" % (eolo_url, e)
Un altro script mi permette di verificare il gateway in uso (per scaricare file di grandi dimensioni e non urgenti posso usare l’ADSL standard).
#! /usr/bin/env bash printf "IP Address: `ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'`\n" printf "Gateway: `route -n get default | grep gateway | awk '{print $2}'`\n"
Il secondo script è stato aggiunto dopo essermi accorto di aver scaricato 5 GB di XCode e aggiornamenti pensando di essere collegato all’ADSL. Su Windows mi serve solo visualizzare il gateway, e Rainmaker fa il suo lavoro piuttosto bene.
4 commenti/trackback a “Eolo: script per geektool (traffico)”
Trackback e pingback
- Nessun trackback o pingback disponibile per questo articolo
Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.
24 Marzo 2015 alle 09:30
Utilissimo, grazie!
Non avevo giusto voglia di installare roba per vedere i dati della mia EOLO e il tuo script risolve egregiamente la situazione.
Correggi la formula della madia consumo: ci vuole used_mb al posto di remaining_mb 😉
/AL
24 Marzo 2015 alle 09:39
Grazie mille, corretto e già che c’ero caricati su Github.
27 Marzo 2015 alle 19:08
bella cosa, per chi come me ci capisce poco di script e ha Windows ;( c’è qualche soluzione per avere questa opportunità?
27 Marzo 2015 alle 19:23
Su OS X Python è preinstallato, su Linux credo lo sia quasi sempre, per cui è semplicissimo eseguire lo script.
Su Windows non credo ci siano molte alternative, lo script andrebbe riscritto in qualcosa di compatibile.