2

小應用程序,如FreedomAnti-social創造相當stir最近。他們完全阻止你離開互聯網,或者阻止社交網站阻止拖延,並在你真正想完成一些工作時幫助你施加自我控制。如何使用Python重新路由網絡流量?

我看着可用的選項,同時在一些谷歌的Chrome擴展,並決定,他們沒有被準確地做我想要的東西,所以我打算寫我自己的Python的工具來做到這一點。我的第一個衝動是簡單地修改/etc/hosts以將請求重新路由到某些服務器返回到localhost。但是,這隻能阻止整個域。我需要根據正則表達式或簡單字符串匹配來阻止地址,以阻止諸如google.com/reader(是的,特別是這一個),但不是整個google.com域。

哪一種Python框架,我可以用它來監視我的網絡流量和塊地址列入黑名單,什麼是基本的設計,達到了我想要做什麼?我使用socket庫嗎?我對Python很滿意,但我對網絡編程非常陌生。

+0

很想看到集成了Pomorodo技術工具! – 2010-10-18 14:49:00

+0

你想要做什麼平臺? – MattH 2010-10-18 14:54:38

+1

Unix/Linux類型(我自己有Mac OS X)。如果有一種針對Windows自動跨平臺的解決方案,那將會很整潔。 – oceanhug 2010-10-18 15:03:25

回答

2

既然你舒服蟒蛇,我建議直接twisted。它比其他一些圖書館稍微難一些,但它經過了充分測試,具有很好的性能和許多特點。你只需要實現一個小的HTTP代理,並對URL進行regexp過濾。

+0

如果我通過代理完成此操作,那麼我是否必須始終通過該代理進行連接?通過簡單地禁用代理,它也不應該太容易繞過。 – oceanhug 2010-10-18 17:00:28

+0

好吧,如果你連接到一個進程本身然後連接到真實服務器,那麼這是一個定義的代理。容易與否,你應該定義你想要的。對於每一個需要解決的問題,都需要一些領域知識,如果不通過代理,你會如何解決問題? – knitti 2010-10-18 19:34:59