#!/usr/bin/env python

import httplib
import StringIO
try:
	import sqlite3 as sqlite
except:
	import sqlite

conexion_sqlite = sqlite.connect("your-notfreedom.db")
cursor_sqlite = conexion_sqlite.cursor()
try:
	cursor_sqlite.execute("create table ips (ip varchar(20) primary key)")
	conexion_sqlite.commit()
except:
	pass
print "Buscando IPs en %s" % ("www.resolution.de")
conexion_servidor_yf = httplib.HTTPConnection("www.resolution.de")
try:
	conexion_servidor_yf.request("GET", "/freedom-servers-07051970.cgi")
	for ip in StringIO.StringIO(conexion_servidor_yf.getresponse().read()):
		try:
			cursor_sqlite.execute("insert into ips (ip) values ('%s')" % (ip.strip()))
			conexion_sqlite.commit()
		except:
			pass	
except:
	pass
conexion_servidor_yf.close()
for numero_servidor_yf in range(100):
	url_servidor_yf = "ems%02d.your-freedom.de" % (numero_servidor_yf)
	print "Buscando IPs en %s" % (url_servidor_yf)
	conexion_servidor_yf = httplib.HTTPConnection(url_servidor_yf)
	try:
		conexion_servidor_yf.request("GET", "/info.txt")
		for linea_info_txt in StringIO.StringIO(conexion_servidor_yf.getresponse().read()):
			if linea_info_txt[:3] == "IP:":
				try:
					cursor_sqlite.execute("insert into ips (ip) values ('%s')" % (linea_info_txt[3:].strip()))
					conexion_sqlite.commit()
				except:
					pass
			if linea_info_txt[:11] == "Alternative":
				for ip_yf in linea_info_txt.split(":")[1].split(";"):
					try:
						cursor_sqlite.execute("insert into ips (ip) values ('%s')" % (ip_yf.strip()))
						conexion_sqlite.commit()
					except:
						pass
	except:
		pass
	conexion_servidor_yf.close()
iptables_yf = file("your-notfreedom.sh", "w")
cursor_sqlite.execute("select * from ips")
for ip_yf in cursor_sqlite.fetchall():
	iptables_yf.write("iptables -A FORWARD -d %s -j REJECT\n" % (ip_yf[0]))
iptables_yf.close()
cursor_sqlite.close()
conexion_sqlite.close()
print "Listo..."
