Skip to content

Instantly share code, notes, and snippets.

@solos
Last active December 11, 2015 01:38
Show Gist options
  • Save solos/4524304 to your computer and use it in GitHub Desktop.
Save solos/4524304 to your computer and use it in GitHub Desktop.
hosts keeper
#!/usr/bin/env python
NAMESERVERS = ['8.8.8.8']
DOMAINS = [
"webcache.googleusercontent.com",
"0.docs.google.com",
"0.drive.google.com",
"1.docs.google.com",
"1.drive.google.com",
"10.docs.google.com",
"10.drive.google.com",
"11.docs.google.com",
"11.drive.google.com",
"12.docs.google.com",
"12.drive.google.com",
"13.docs.google.com",
"13.drive.google.com",
"14.docs.google.com",
"14.drive.google.com",
"15.docs.google.com",
"15.drive.google.com",
"16.docs.google.com",
"16.drive.google.com",
"2.docs.google.com",
"2.drive.google.com",
"3.docs.google.com",
"3.drive.google.com",
"4.docs.google.com",
"4.drive.google.com",
"5.docs.google.com",
"5.drive.google.com",
"6.docs.google.com",
"6.drive.google.com",
"7.docs.google.com",
"7.drive.google.com",
"8.docs.google.com",
"8.drive.google.com",
"9.docs.google.com",
"9.drive.google.com",
"accounts.google.com",
"accounts.l.google.com",
"answers.google.com",
"apis.google.com",
"appengine.google.com",
"apps.google.com",
"appspot.l.google.com",
"bks0.books.google.com",
"bks1.books.google.com",
"bks10.books.google.com",
"bks2.books.google.com",
"bks3.books.google.com",
"bks4.books.google.com",
"bks5.books.google.com",
"bks6.books.google.com",
"bks7.books.google.com",
"bks8.books.google.com",
"bks9.books.google.com",
"blogsearch.google.com",
"books.google.com",
"browserchannel-docs.l.google.com",
"browsersync.google.com",
"browsersync.l.google.com",
"buzz.google.com",
"cache.l.google.com",
"cache.pack.google.com",
"calendar.google.com",
"cbk0.google.com",
"cbk1.google.com",
"cbk2.google.com",
"cbk3.google.com",
"cbks0.google.com",
"cbks1.google.com",
"cbks2.google.com",
"cbks3.google.com",
"chart.apis.google.com",
"chatenabled.mail.google.com",
"checkout.google.com",
"checkout.l.google.com",
"chrome.google.com",
"clients.l.google.com",
"clients1.google.com",
"clients2.google.com",
"clients3.google.com",
"clients4.google.com",
"clients5.google.com",
"clients6.google.com",
"code.google.com",
"code.l.google.com",
"csi.l.google.com",
"desktop.google.com",
"desktop.l.google.com",
"desktop2.google.com",
"developers.google.com",
"ditu.google.com",
"dl.google.com",
"dl.l.google.com",
"dl-ssl.google.com",
"docs.google.com",
"docs0.google.com",
"docs1.google.com",
"docs2.google.com",
"docs3.google.com",
"docs4.google.com",
"docs5.google.com",
"docs6.google.com",
"docs7.google.com",
"docs8.google.com",
"docs9.google.com",
"drive.google.com",
"earth.google.com",
"encrypted.google.com",
"encrypted-tbn.l.google.com",
"encrypted-tbn0.google.com",
"encrypted-tbn1.google.com",
"encrypted-tbn2.google.com",
"encrypted-tbn3.google.com",
"feedburner.google.com",
"feedproxy.google.com",
"filetransferenabled.mail.google.com",
"finance.google.com",
"fusion.google.com",
"geoauth.google.com",
"gg.google.com",
"ghs.google.com",
"ghs.l.google.com",
"ghs46.google.com",
"ghs46.l.google.com",
"google.com",
"googleapis.l.google.com",
"googlecode.l.google.com",
"goto.google.com",
"groups.google.com",
"groups.l.google.com",
"groups-beta.google.com",
"gxc.google.com",
"id.google.com",
"id.l.google.com",
"images.google.com",
"images.l.google.com",
"investor.google.com",
"jmt0.google.com",
"kh.google.com",
"kh.l.google.com",
"khm.google.com",
"khm.l.google.com",
"khm0.google.com",
"khm1.google.com",
"khm2.google.com",
"khm3.google.com",
"khmdb.google.com",
"khms.google.com",
"khms.l.google.com",
"khms0.google.com",
"khms1.google.com",
"khms2.google.com",
"khms3.google.com",
"labs.google.com",
"large-uploads.l.google.com",
"lh2.google.com",
"lh2.l.google.com",
"lh3.google.com",
"lh4.google.com",
"lh5.google.com",
"lh6.google.com",
"linkhelp.clients.google.com",
"local.google.com",
"m.google.com",
"mail.google.com",
"map.google.com",
"maps.google.com",
"maps.l.google.com",
"maps-api-ssl.google.com",
"mars.google.com",
"mobile.l.google.com",
"mobilemaps.clients.google.com",
"mt.google.com",
"mt.l.google.com",
"mt0.google.com",
"mt1.google.com",
"mt2.google.com",
"mt3.google.com",
"mts.google.com",
"mts.l.google.com",
"mts0.google.com",
"mts1.google.com",
"mts2.google.com",
"mts3.google.com",
"music.google.com",
"music-streaming.l.google.com",
"mw1.google.com",
"mw2.google.com",
"news.google.com",
"news.l.google.com",
"pack.google.com",
"photos.google.com",
"photos-ugc.l.google.com",
"picasa.google.com",
"picasaweb.google.com",
"picasaweb.l.google.com",
"places.google.com",
"play.google.com",
"productforums.google.com",
"profiles.google.com",
"reader.google.com",
"safebrowsing.cache.l.google.com",
"safebrowsing.clients.google.com",
"safebrowsing.google.com",
"safebrowsing-cache.google.com",
"sandbox.google.com",
"sb.google.com",
"sb.l.google.com",
"sb-ssl.google.com",
"sb-ssl.l.google.com",
"scholar.google.com",
"scholar.l.google.com",
"script.google.com",
"services.google.com",
"sites.google.com",
"sketchup.google.com",
"sketchup.l.google.com",
"spreadsheet.google.com",
"spreadsheets.google.com",
"spreadsheets.l.google.com",
"spreadsheets0.google.com",
"spreadsheets1.google.com",
"spreadsheets2.google.com",
"spreadsheets3.google.com",
"spreadsheets4.google.com",
"spreadsheets5.google.com",
"spreadsheets6.google.com",
"spreadsheets7.google.com",
"spreadsheets8.google.com",
"spreadsheets9.google.com",
"spreadsheets-china.l.google.com",
"suggestqueries.google.com",
"suggestqueries.l.google.com",
"support.google.com",
"talkgadget.google.com",
"tbn0.google.com",
"tbn1.google.com",
"tbn2.google.com",
"tbn3.google.com",
"toolbar.google.com",
"toolbarqueries.clients.google.com",
"toolbarqueries.google.com",
"toolbarqueries.l.google.com",
"tools.google.com",
"tools.l.google.com",
"translate.google.com",
"trends.google.com",
"upload.docs.google.com",
"upload.drive.google.com",
"uploads.code.google.com",
"uploadsj.clients.google.com",
"video.google.com",
"video-stats.l.google.com",
"voice.google.com",
"wallet.google.com",
"wifi.google.com",
"wifi.l.google.com",
"writely.l.google.com",
"writely-china.l.google.com",
"www.google.com",
"www.l.google.com",
"www2.l.google.com",
"www3.l.google.com",
"www4.l.google.com",
"ytstatic.l.google.com",
"appspot.com",
"evolutionofweb.appspot.com",
"googcloudlabs.appspot.com",
"gv-gadget.appspot.com",
"magnifier.blogspot.com",
"moderator.appspot.com",
"newsfeed-dot-latest-dot-rovio-ad-engine.appspot.com",
"productideas.appspot.com",
"project-slingshot-gp.appspot.com",
"r2303.latest.project-slingshot-hr.appspot.com",
"r3085-dot-latest-dot-project-slingshot-gp.appspot.com",
"r3091-dot-latest-dot-project-slingshot-gp.appspot.com",
"r3101-dot-latest-dot-project-slingshot-gp.appspot.com",
"r3269-dot-latest-dot-project-slingshot-gp.appspot.com",
"r3432-dot-latest-dot-project-slingshot-hr.appspot.com",
"r4681-dot-latest-dot-project-slingshot-hr.appspot.com",
"wcproxyx.appspot.com",
"www.appspot.com",
"ajax.googleapis.com",
"chart.googleapis.com",
"fonts.googleapis.com",
"maps.googleapis.com",
"mt0.googleapis.com",
"mt1.googleapis.com",
"mt2.googleapis.com",
"mt3.googleapis.com",
"redirector-bigcache.googleapis.com",
"translate.googleapis.com",
"www.googleapis.com",
"autoproxy-gfwlist.googlecode.com",
"chromium.googlecode.com",
"closure-library.googlecode.com",
"earth-api-samples.googlecode.com",
"gmaps-samples-flash.googlecode.com",
"google-code-feed-gadget.googlecode.com",
"blogsearch.google.cn",
"ditu.google.cn",
"gg.google.cn",
"id.google.cn",
"maps.gstatic.cn",
"m.google.cn",
"mt.google.cn",
"mt0.google.cn",
"mt1.google.cn",
"mt2.google.cn",
"mt3.google.cn",
"news.google.cn",
"scholar.google.cn",
"translate.google.cn",
"www.google.cn",
"www.gstatic.cn",
"www.google.com.hk",
"accounts.google.com.hk",
"blogsearch.google.com.hk",
"books.google.com.hk",
"clients1.google.com.hk",
"desktop.google.com.hk",
"groups.google.com.hk",
"gxc.google.com.hk",
"id.google.com.hk",
"images.google.com.hk",
"m.google.com.hk",
"maps.google.com.hk",
"news.google.com.hk",
"picasaweb.google.com.hk",
"scholar.google.com.hk",
"toolbar.google.com.hk",
"toolbarqueries.google.com.hk",
"translate.google.com.hk",
"translate.google.com.hk",
"wenda.google.com.hk",
"www.google.com.hk",
"android.googlesource.com",
"auth.keyhole.com",
"chrome.angrybirds.com",
"chromium.org",
"codereview.chromium.org",
"dev.chromium.org",
"developer.android.com",
"developer.chrome.com",
"domains.googlesyndication.com",
"earthengine.googlelabs.com",
"feeds.feedburner.com",
"g.co",
"gmail.com",
"goo.gl",
"m.gmail.com",
"m.googlemail.com",
"market.android.com",
"www.chromium.org",
"www.gmail.com",
"www.googleadservices.com",
"www.googlelabs.com",
"0-focus-opensocial.googleusercontent.com",
"0-open-opensocial.googleusercontent.com",
"1-focus-opensocial.googleusercontent.com",
"1-open-opensocial.googleusercontent.com",
"1-ps.googleusercontent.com",
"2-focus-opensocial.googleusercontent.com",
"2-open-opensocial.googleusercontent.com",
"2-ps.googleusercontent.com",
"3-focus-opensocial.googleusercontent.com",
"3-open-opensocial.googleusercontent.com",
"3-ps.googleusercontent.com",
"3hdrrlnlknhi77nrmsjnjr152ueo3soc-a-calendar-opensocial.googleusercontent.com",
"4-ps.googleusercontent.com",
"4fjvqid3r3oq66t548clrdj52df15coc-a-oz-opensocial.googleusercontent.com",
"53rd6p0catml6vat6qra84rs0del836d-a-oz-opensocial.googleusercontent.com",
"59cbv4l9s05pbaks9v77vc3mengeqors-a-oz-opensocial.googleusercontent.com",
"8kubpeu8314p2efdd7jlv09an9i2ljdo-a-oz-opensocial.googleusercontent.com",
"a-oz-opensocial.googleusercontent.com",
"adstvca8k2ooaknjjmv89j22n9t676ve-a-oz-opensocial.googleusercontent.com",
"blogger.googleusercontent.com",
"bt26mravu2qpe56n8gnmjnpv2inl84bf-a-oz-opensocial.googleusercontent.com",
"clients1.googleusercontent.com",
"clients2.googleusercontent.com",
"clients3.googleusercontent.com",
"clients4.googleusercontent.com",
"clients5.googleusercontent.com",
"clients6.googleusercontent.com",
"clients7.googleusercontent.com",
"code-opensocial.googleusercontent.com",
"csi.gstatic.com",
"debh8vg7vd93bco3prdajidmm7dhql3f-a-oz-opensocial.googleusercontent.com",
"doc-00-7o-docs.googleusercontent.com",
"doc-08-7o-docs.googleusercontent.com",
"doc-0c-7o-docs.googleusercontent.com",
"doc-0g-7o-docs.googleusercontent.com",
"doc-0s-7o-docs.googleusercontent.com",
"doc-10-7o-docs.googleusercontent.com",
"doc-14-7o-docs.googleusercontent.com",
"feedback.googleusercontent.com",
"g0.gstatic.com",
"g1.gstatic.com",
"g2.gstatic.com",
"g3.gstatic.com",
"googlehosted.l.googleusercontent.com",
"i.ytimg.com",
"i1.ytimg.com",
"i2.ytimg.com",
"i3.ytimg.com",
"i4.ytimg.com",
"i8brh95qor6r54nkl52hidj2ggcs4jgm-a-oz-opensocial.googleusercontent.com",
"images-docs-opensocial.googleusercontent.com",
"images1-focus-opensocial.googleusercontent.com",
"images2-focus-opensocial.googleusercontent.com",
"images3-focus-opensocial.googleusercontent.com",
"images4-focus-opensocial.googleusercontent.com",
"images5-focus-opensocial.googleusercontent.com",
"images6-focus-opensocial.googleusercontent.com",
"images7-focus-opensocial.googleusercontent.com",
"images8-focus-opensocial.googleusercontent.com",
"images9-focus-opensocial.googleusercontent.com",
"lh3.ggpht.com",
"lh3.googleusercontent.com",
"lh4.ggpht.com",
"lh4.googleusercontent.com",
"lh5.ggpht.com",
"lh5.googleusercontent.com",
"lh6.ggpht.com",
"lh6.googleusercontent.com",
"maps.gstatic.com",
"mt0.gstatic.com",
"mt1.gstatic.com",
"mt2.gstatic.com",
"mt3.gstatic.com",
"mt4.gstatic.com",
"mt5.gstatic.com",
"mt6.gstatic.com",
"mt7.gstatic.com",
"music-onebox.googleusercontent.com",
"music.googleusercontent.com",
"nt1.ggpht.com",
"nt2.ggpht.com",
"nt3.ggpht.com",
"oauth.googleusercontent.com",
"ob7f2qc0i50kbjnc81vkhgmb5hsv7a8l-a-oz-opensocial.googleusercontent.com",
"ode25pfjgmvpquh3b1oqo31ti5ibg5fr-a-calendar.opensocial.googleusercontent.com",
"plus.google.com",
"plus.url.google.com",
"plusone.google.com",
"qhie5b8u979rnch1q0hqbrmbkn9estf7-a-oz-opensocial.googleusercontent.com",
"r70rmsn4s0rhk6cehcbbcbfbs31pu0va-a-oz-opensocial.googleusercontent.com",
"rbjhe237k979f79d87gmenp3gejfonu9-a-oz-opensocial.googleusercontent.com",
"s.ytimg.com",
"s1.googleusercontent.com",
"s2.googleusercontent.com",
"s3.googleusercontent.com",
"s4.googleusercontent.com",
"s5.googleusercontent.com",
"s6.googleusercontent.com",
"spreadsheets-opensocial.googleusercontent.com",
"ssl.google-analytics.com",
"ssl.gstatic.com",
"t.doc-0-0-sj.sj.googleusercontent.com",
"t0.gstatic.com",
"t1.gstatic.com",
"t2.gstatic.com",
"t3.gstatic.com",
"themes.googleusercontent.com",
"translate.googleusercontent.com",
"u807isd5egseeabjccgcns005p2miucq-a-oz-opensocial.googleusercontent.com",
"upt14k1i2veesusrda9nfotcrbp9d7p5-a-oz-opensocial.googleusercontent.com",
"www-calendar-opensocial.googleusercontent.com",
"www-fc-opensocial.googleusercontent.com",
"www-focus-opensocial.googleusercontent.com",
"www-gm-opensocial.googleusercontent.com",
"www-kix-opensocial.googleusercontent.com",
"www-open-opensocial.googleusercontent.com",
"www-opensocial-sandbox.googleusercontent.com",
"www-opensocial.googleusercontent.com",
"www-oz-opensocial.googleusercontent.com",
"www.google-analytics.com",
"www.googlesource.com",
"www.googleusercontent.com",
"www.gstatic.com",
"ytimg.l.google.com",
"chrometophone.appspot.com",
"api.facebook.com",
"b.static.ak.facebook.com",
"b.static.ak.fbcdn.net",
"bigzipfiles.facebook.com",
"creative.ak.fbcdn.net",
"connect.facebook.net",
"creativeupload.facebook.com",
"d.facebook.com",
"developers.facebook.com",
"facebook.com",
"fbcdn.net",
"fbcdn-profile-a.akamaihd.net",
"fbcdn-sphotos-a.akamaihd.net",
"graph.facebook.com",
"hphotos-ash4.fbcdn.net",
"hphotos-snc6.fbcdn.net",
"hphotos-snc7.fbcdn.net",
"ldap.thefacebook.com",
"profile.ak.facebook.com",
"profile.ak.fbcdn.net",
"s-static.facebook.com",
"s-hprofile-sf2p.fbcdn.net",
"s-static.ak.facebook.com",
"s-static.ak.fbcdn.net",
"star.facebook.com",
"static.ak.facebook.com",
"upload.facebook.com",
"vpn.tfbnw.net",
"vthumb.ak.fbcdn.net",
"vupload.facebook.com",
"www.connect.facebook.com",
"www.facebook.com",
"zh-CN.facebook.com",
"dropbox.com",
"www.dropbox.com",
"dl.dropbox.com",
"dl-web.dropbox.com",
"flickr.com",
"www.flickr.com",
"static.flickr.com",
"farm2.static.flickr.com",
"farm3.static.flickr.com",
"farm4.static.flickr.com",
"farm5.static.flickr.com",
"farm6.static.flickr.com",
"farm7.static.flickr.com",
"geo.yahoo.com",
"l.yimg.com",
"s.yimg.com",
"d.yimg.com",
"c5.ah.yahoo.com",
"sa.edit.yahoo.com",
"open.login.yahoo.com",
"login.yahoo.com",
"edit.yahoo.com",
"up.flickr.com",
"adjax.flickr.yahoo.com",
"content.yieldmanager.edgesuite.net",
"us.js2.yimg.com",
"bf1.farm3.static.flickr.com",
"farm3.static.flickr.com",
"gq1.farm3.static.flickr.com",
"sp1.farm3.static.flickr.com",
"bf1.farm5.static.flickr.com",
"farm5.static.flickr.com",
"gq1.farm5.static.flickr.com",
"bf1.farm7.static.flickr.com",
"farm7.static.flickr.com",
"gq1.farm7.static.flickr.com",
"ne1.farm7.static.flickr.com",
"bf1.farm6.static.flickr.com",
"farm6.static.flickr.com",
"gq1.farm6.static.flickr.com",
"3dns-2.adobe.com",
"3dns-3.adobe.com",
"activate.adobe.com",
"activate-sea.adobe.com",
"activate-sjc0.adobe.com",
"adobe-dns.adobe.com",
"adobe-dns-2.adobe.com",
"adobe-dns-3.adobe.com",
"ereg.adobe.com",
"hl2rcv.adobe.com",
"practivate.adobe.com",
"wip3.adobe.com",
"activate.wip3.adobe.com",
"ereg.wip3.adobe.com",
"wwis-dubc1-vip60.adobe.com",
"wikipedia.org",
"www.wikipedia.org",
"bits.wikipedia.org",
"en.wikipedia.org",
"zh.wikipedia.org",
"simple.wikipedia.org",
"wikibooks.org",
"www.wikibooks.org",
"en.wikibooks.org",
"zh.wikibooks.org",
"wikinews.org",
"www.wikinews.org",
"en.wikinews.org",
"zh.wikinews.org",
"wikiquote.org",
"www.wikiquote.org",
"en.wikiquote.org",
"zh.wikiquote.org",
"zh.wikisource.org",
"en.wikisource.org",
"wiktionary.org",
"www.wiktionary.org",
"en.wiktionary.org",
"zh.wiktionary.org",
"wikimedia.org",
"www.wikimedia.org",
"bugs.wikimedia.org",
"bugzilla.wikimedia.org",
"commons.wikimedia.org",
"dumps.wikimedia.org",
"download.wikimedia.org",
"irc.wikimedia.org",
"ftp.wikimedia.org",
"ganglia.wikimedia.org",
"mail.wikimedia.org",
"meta.wikimedia.org",
"news.wikimedia.org",
"noc.wikimedia.org",
"kate.wikimedia.org",
"kohl.wikimedia.org",
"stats.wikimedia.org",
"ticket.wikimedia.org",
"tools.wikimedia.org",
"upload.wikimedia.org",
"wikimediafoundation.org",
"www.wikimediafoundation.org",
"mediawiki.org",
"www.mediawiki.org"
]
#!/usr/bin/python
#coding=utf-8
from config import DOMAINS, NAMESERVERS
def dig(host):
try:
import dns.resolver
import dns.exception
except Exception, e:
return e
resolver = dns.resolver.Resolver()
resolver.nameservers = NAMESERVERS
try:
answers = resolver.query(host, tcp=True)
return [ answer.address for answer in answers ]
except dns.exception.DNSException:
return []
def hosts_keeper(hosts_file):
try:
hosts = open(hosts_file, 'r').readlines()
except:
hosts = []
for domain in list(set(DOMAINS)):
for line in hosts:
elems = line.split(' ')
if domain in elems:
hosts.remove(line)
answers = dig(domain)
print domain, answers
for answer in answers:
hosts.append('%s %s\n' % (answer, domain))
f = open('hosts', 'w')
for item in hosts:
f.write(item)
f.close()
if __name__ == '__main__':
hosts_file = '/etc/hosts'
hosts_keeper(hosts_file)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment