Ограничиваем себя в расходе трафика
Поскольку у меня лимитный интернет (предоплачено 500 мб в месяц, а платить больше абонентской платы не хочется), я решил написать на Python небольшую программу (не хочется скриптом называть, но по сути это скрипт. даже интерфейса нету) - демон, который висит в фоне и снимает показания счетчика. Не воды, а трафика. Когда достигнут лимит - предупреждает и отключает. Писал для себя, но решил выложить:
import commands, sys, time device = 'ppp0' #network device. usually eth0 for ethernet, wlan0 for wifi, ppp0 for cdma/gsm mb = 5 #allowed megabytes def check(interface): pepyaka = open('/sys/class/net/' + device + '/statistics/rx_bytes', 'r') kb = int(pepyaka.read())/1024 pepyaka.close() return kb def fileupdate(): f = open('spam', 'w') f.write(str(check(device))) f.close() def fileread(): f = open('spam', 'r') val = f.read() f.close() return val while 1: fileupdate() foo = fileread() if int(foo) > 1024*mb: import dbus bus = dbus.SessionBus() proxy = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') _dbus_notify = dbus.Interface(proxy, 'org.freedesktop.Notifications') commands.getoutput('/sbin/ifconfig ' + device + ' down') _dbus_notify.Notify('', 0, '', 'Stop!', 'Stop surfing internet. You are disconnected.', [], {'x': '0', 'y': '0'}, 5000) sys.exit(1) time.sleep(1)

