早在12年的時候,我寫過一篇文章,更漂亮的智能PAC! –Flora,介紹了 植物群 這個項目,那個時候我們說 gfwlist 每隔一段時間就需要更新才能運行良好,不然就會有不少網頁打不開。
gfwlist 是一個開源的黑名單項目,它由成千上萬的網友貢獻整理而成,從而實現被 GFWed 的功能變數名稱自動走代理;而 Flora 則從 IP 上去獲取中國的 IP 位址段,從而生成智慧 PAC ,對國外的 IP 使用代理。
這二者都有各自的缺點,比如 gfwlist 是人工維護的,它靠網友貢獻添加,那麼你就需要定期更新,否則稍微一過時,不少頁面就打不開了,只能再使用「全域模式」;而 Flora 則屬於一棒子打死,其實並不是所有的國外 IP 都被 GFWed 的(估計不遠了)所以這就導致分片處理這種模式其實並不智慧。另外,現在 IPv4 資源這麼緊張,大家借來借去的,也根本不能在靠 IP 段來區分了。
由於鍋內特殊的網路環境,想要從功能變數名稱裡解析處正確的 IP 位址並不是一件容易的事情,所以使用 Flora 也不是個完美的解決方案。
白名單
考慮到比起每天都有大批量的網站被 GFWed,一人一條恐怕永遠也沒有個盡頭。所以,有人做出了白名單——與 Flora 和 gfwlist 正好相反,它負責匹配沒有被 GFWed 的網站,對於不匹配的網站,則一律走代理!
雖然對於互聯網來講,每天新增的網站成千上萬,但相對於全世界,維護一個沒有被 GFWed 的白名單要簡單的多。這樣,就避免了一大尷尬問題——你的 PAC 會失效。——好吧我承認白名單也是需要更新的,但白名單稍微過時,也不會有網站打不開呀!
另外,其實鍋內常用的網站就那麼幾個,所以一般使用的話可以滿足大部分人的需要,對於新出現的功能變數名稱,以及一些奇奇怪怪的小網站,使用代理還可以在一定程度上保護自己的隱私,也算一件意外的好處吧~
GFW Whitelist
這是我今天逛 git 的時候意外發現的一個專案 gfw_whitelist ,這是作者寫的介紹:
著名的 autoproxy.pac (GFW List) 是一個 GFW 黑名單,訪問名單中網站需要通過代理,不在名單中的網站直接存取。有效使用黑名單,維護者和使用者都需要時常更新此名單,否則可能不能訪問最近被牆的網站。這些不便之處是推廣科學上網的阻礙之一。
白名單的方法是白名單中的網站不走代理,其它網站全部通過代理訪問。白名單的優點是對維護的要求非常低。第一次安裝後,即使很長時間不更新,也不會出現網站打不開的問題。當然,使用者會要付出稍多一些流量。
事實上 GFW 的變化速度相當快,遮罩的網站也越來越多,國外稍微有點意思的網站大都已經被牆,或者隨時可能被牆。因此作者認為有必要開始維護一份白名單的 pac 檔。
本專案包含功能變數名稱白名單與IP白名單,而最終生成的實用版本清單proxy.pac同時使用黑白名單,以便於更精確更高速地科學上網。推薦直接使用proxy.pac。
本清單的國內功能變數名稱部分會由作者編寫的 Spider 自動更新,提取出常用的大部分網站。如果需要其它格式的清單請聯繫作者。
獲取方法
對於這個已經基本處於緩慢更新的專案,我自己在它之上建立了一個新的專案,專門針對白名單,以後我會抽空寫一個爬蟲出來,目前的話也同樣是手動更新-。-
從git上獲取專案檔案,解開打包後找到 白名單.PAC (功能變數名稱白名單)檔後,修改代理伺服器的 ip 位址和代理類型。然後將瀏覽器的代理設置中指向 白名單.PAC 。
1 2 3 |
var wall_proxy = "SOCKS5 127.0.0.1:1080;SOCKS 127.0.0.1:1080"; 以上需要更换成有效的代理地址,代理类型可以为'SOCKS5'或'HTTPS' 多个代理之间使用分号分隔,如'PROXY a.com:80;SOCKS5 a.com:1080;' |
使用它!
使用 PAC 的方法有很多,如果你不喜歡使用工具(我推薦你用一些工具)那由於 OS X 本身的沙箱機制,你必須將這個 PAC 扔進 /應用/蘋果瀏覽器.應用/內容/資源/ 裡邊才行。然後再到系統組態裡設定自動代理,位址為 文件:///Applications/Safari.app/Contents/Resources/witelist.pac當然,具體的 PAC 名字你自己修改即可。
使用 GoAgentX 來配置
好吧,雖然這個專案也悄然消失于 Github 當中,但它確實是難得的好工具,它能夠自動設定代理、相容各種協定......
這個我會單獨寫一篇文章來說GoAgentX 的 後續 維護及使用。這裡,我們講一下如何用 GoAgentX 來配置使用我們的 PAC。
GoAgentX 自帶了一個 PAC,我們用自己的,在 PAC 配置頁面選擇「使用自訂的 PAC“:
然後點擊「選擇本地檔」按鈕,把你放好的 PAC 選中即可,最後點擊「重啟 PAC 服務“。
注意
PAC 檔並沒有導入,而是被載入到了記憶體當中——也就是說 PAC 檔不能刪除,你要把它放到一個專用的目錄裡。
本文由 落格博客 原創撰寫:落格博客 » 是時候使用 PAC 白名單了
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1292.html
之前一直chrome switchyOmega+pac切換,今天突然不能用了,不知道博主現在能不能正常使用嗎?
用的電腦端ss,經常需要開全局,今天無意間看到這個項目,真是開心。希望常更新,謝謝博主。
執行main.py更新白名單的時候
提示錯誤
文件 “./main.py”, 線 5, 在
進口urllib3
導入錯誤: 無模塊命名urllib3
PIP3安裝urllib3
裝了urllib3 還是一樣的提示,只能勤快點自己去下載了
?♂️。
怎麼樣須藤PIP3安裝urllib3 ?
增加了代理服務器的壓力不建議!
所以才需要一個不限流量的代理。