最近 Shadowsocks 作者 clowwindy 被喝茶然後清空了他的整個項目代碼。一周後goagent也悄悄清空了所有的項目代碼。Github又一次受到大規模DDOS攻擊。
在是時候使用 PAC 白名單了一文當中我給大家介紹了一個反gfwlist道而行的白名單PAC,它不同於前者對GFWed域名做匹配,而是對未GFWed的域名匹配……好吧,我個人也很贊同作者的想法——如今使用白名單才是趨勢。
總之,對於想要使用自定義PAC的人來說,一個一體化設置的工具是必不可少的——畢竟,我們還是習慣圖形化的操作界面。
悄然消失的GoAgentX
在我們被近期的一系列“大事件”鬧的人心惶惶的時候,OS X 下簡單又好用的 GoAgentX 卻早就悄然消失在了人海之中。我手裡的版本是 2.3.7 ,可能這就是它的最後一個版本吧——我沒有找到更新的版本。
它的官網已經打不開,而 Github 中的項目代碼也早就被清空了。不過值得欣慰的是,這個最後的版本目前即使實在 10.11 上也跑的不錯——唯一的缺點可能就是打開的時候防火牆會提示聯網(可能簽名過期了吧)。
繼續使用
不過,如果你不使用 OS X 自帶的防火牆的話,那你就不需要面對這個對話框了——我推薦你打開它。
GoAgentX 支持好幾種代理的服務,可以智能開啟和切換(如果端口相同則切換)服務,而且這些服務都是以插件的形式來加入的——這意味著我們仍舊可以給GoAgentX裡使用的服務進行升級。所以,在主程序完全不能使用之前,我們仍舊可以繼續使用它而不用擔心過時。
PAC 的配置
關於PAC的配置這裡不再贅述,我們使用 GoAgentX 就是為了用那個白名單,不然使用 ShadowsocksX 豈不更加酸爽。所以,請參考 是時候使用 PAC 白名單了 。
更新服務
GoAgentX 已經沒有人維護了,所以更新按鈕再也不能用了,我們無法升級主程序,但可以手動升級插件。你只需要訪問 /應用/GoAgentX.應用/內容/插件 就可以看到插件了。我們同樣用鼠標點擊右鍵來“顯示包內容”。
更新2.6.8
雖然我們前文說了 SS 的項目文件已經被清空,但無論如何,這是個開源項目,所以……
GoAgentX 為了方便吧可能,默認用的並不是 SS 主項目,而是一個延伸項目 2.6.8-libev (實際上在插件的目錄裡面有三個版本的 SS,你可以在高級配置裡任意切換,這裡我們只使用還在更新維護的 ss-libev)所以,我們還是可以對其進行更新的。在 GoAgentX 上它的版本號還是2.3,而實際上這個卻是 SS 的主版本號……?
考慮到編譯是一件很麻煩的事情,我們選擇從 家釀 裡提取, 釀造 是 OS X 裡類似 Linux 中的 apt-get的 或者 百勝 的包管理系統,如果你不知道它是什麼,——來這裡看看。
我們使用如下命令來安裝 釀造。
1 |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
注意
要安裝 brew,你得先安裝 Xcode。——就算你選擇下載源碼進行編譯,也得需要 Xcode。
使用命令 釀造 安裝 2.6.8-libev 來安裝它,然後就可以去 /USR/本地/地窖/2.6.8-libev/2.3.0/箱子 下把 ss-local 拷貝出來替換掉 /應用/GoAgentX.應用/內容/插件/2.6.8.gxbundle/內容/資源/箱子/libev/SS-本地 啦!
另一個更新的辦法
這裡,感謝 xsharp 同學,他為我們更新 SS 客戶端提供了新的思路,由於 SS-libev 版本其實已經安裝到了你的系統當中,我們也可以讓 G oAgentX 直接使用系統中安裝的 SS 而不是它插件裡的 SS ,這樣連上邊複雜的替換也省了:
找到 /應用/GoAgentX.應用/內容/插件/2.6.8.gxbundle/內容/資源/箱子/libev/SS-本地 ,把它刪掉,然後使用如下命令創建一個空文檔:
1 |
touch /Applications/GoAgentX.app/Contents/PlugIns/shadowsocks.gxbundle/Contents/Resources/bin/libev/ss-local |
編輯這個文檔,寫入如下代碼:
1 2 |
#!/bin/bash ss-local $@ |
然後使用 CHMOD +X /應用/GoAgentX.應用/內容/插件/2.6.8.gxbundle/內容/資源/箱子/libev/SS-本地 來給它加上可執行權限。
這樣的話,gx就會調用系統的 SS 而不是自帶的插件裡的 SS了。以後更新,也不需要重複去拷貝文件了。
另外,如果你想要其他新的性能參數比如 一次性驗證,那麼就這樣寫:
1 2 |
#!/bin/bash ss-local $@ -A |
收尾工作
為了讓 GoAgentX 插件頁面也能顯示出正確的版本號(你要是不 care 這些細節,就可以不看這裡了),我們修改如下文件:
1 |
/Applications/GoAgentX.app/Contents/PlugIns/shadowsocks.gxbundle/Contents/Info.plist |
在裡邊找到版本號字符串,修改為對應的最新版本即可:
更新COW
我們來更新 cow,cow 也是一個開源項目,它能自動根據你的訪問來判斷網站是否被牆,如果被牆,則自動使用二級代理來訪問,久而久之,cow 會根據你的瀏覽行為學習到各種被牆的網站,就好像自動生成的 gfwlist。以下是作者寫的介紹:
COW 是一個簡化穿牆的 HTTP 代理服務器。它能自動檢測被牆網站,僅對這些網站使用二級代理。
我個人不推薦你在公共場合使用 cow,這一點我會再說。不過,對於要在 GoAgentX中使用 COW 的人來說(GoAgentX裡真的很方便!)跟新下 COW 還是很有必要的。
首先,我們使用 捲曲 -大號 混帳.我/牛 | 慶典 來下載最新版本的 COW,對於 安裝 牛 二進制 至 哪一個 目錄 這個問題,我們直接按回車保存它到當前目錄;對於 開始 牛 上 登錄? (如果 是, 下載 一個 plist中 文件 至 ~/Library。/LaunchAgents) [和/ñ] 這個問題要留意,我們目的在於提取cow程序文件,而不是直接安裝,所以要輸入 ñ來取消自動啟動。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
╰─➤ curl -L git.io/cow | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 100 134 0 134 0 0 31 0 --:--:-- 0:00:04 --:--:-- 141 100 4072 100 4072 0 0 749 0 0:00:05 0:00:05 --:--:-- 14594 Install cow binary to which directory (absolute path, defaults to current dir): No installation directory given, assuming current directory Start COW upon login? (If yes, download a plist file to ~/Library/LaunchAgents) [Y/n] n Downloading cow binary http://dl.chenyufei.info/cow/0.9.6/cow-mac64-0.9.6.gz to /tmp/cow.Zg0ESL/cow.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1595k 100 1595k 0 0 150k 0 0:00:10 0:00:10 --:--:-- 171k Move /tmp/cow.Zg0ESL/cow to /Users/logcg (will run sudo if no write permission to install directory) Update finished. |
這時你的目錄下(默認應該是 /~ )就有了 cow 的程序文件:
我們去 GoAgentX 的插件目錄裡(進入方法見上文),找到 COWService.gxbundle,用鼠標點擊右鍵來“顯示包內容”,具體的路徑如下:
1 |
/Applications/GoAgentX.app/Contents/PlugIns/COWService.gxbundle/Contents/Resources/bin/cow |
我們把此 cow 替換為彼 cow 即可。
收尾工作
為了讓 GoAgentX 插件頁面也能顯示出正確的版本號,我們修改如下文件:
1 |
/Applications/GoAgentX.app/Contents/PlugIns/COWService.gxbundle/Contents/Info.plist |
在裡邊找到版本號字符串,修改為對應的最新版本即可:
找不到 cow 版本?
1 2 |
╰─➤ ./cow --version cow version 0.9.6 |
更新 GoAgent
Goagent 這個博主不用,so…………新版變化挺大的,懶得搞了,給大家推薦個替代的XX網
- 集成 GoAgent、GoGoTest 等自動掃描 IP,省事省力
- Web 界面,人性化交互,傻瓜易用
- 內置了公共 appid, 方便新手
- 方便易用的細節、細節提示
更新Stunnel的
Stunnel 也是一個非常不錯的代理選項,GoAgentX 裡附帶的版本為 4.56,而最新的版本已經 5.22,我們在使用它之前也有必要來對它進行一下升級。
去官網下載最新版來編譯是個不錯的選項,不過過於麻煩,我們選擇從 Homebrew 裡提取。使用 釀造 安裝 安全通道 來安裝 stunnel,這樣安裝完整之後就可以在 /USR/本地/地窖/安全通道/5.22/箱子 中找到 stunnel 的程序文件了!
我們把它複製到 /應用/GoAgentX.應用/內容/插件/StunnelService.gxbundle/內容/資源/箱子/ 即可。
收尾工作
同樣編輯對於的 /應用/GoAgentX.應用/內容/插件/StunnelService.gxbundle/內容/信息.plist中 文件來修改它的版本號:
本文由 落格博客 原創撰寫:落格博客 » GoAgentX 的 後續 維護及使用
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1296.html
Sierra裡可以使用未修改的原版GoagentX2.3.7,我目前就是這樣。修改版的確實不能用。
請問brew install shadowsocks-libev時報錯:需要安裝prerequisite,安裝到xz時提示cannot run C compiled programs,這個問題有解決辦法嗎?
請嘗試安裝 Xcode 7
我有裝啊。。7.3.1。。。
可能因為我在用sierra的關係。。。?
確實,brew一般對測試版的OSX都兼容不良的。
真的哭了。。。sierra裡GAX的SS不能用,別人說更新一下里面的SS插件就能用。。。結果只能滾回去shadowsocksX了。。。
直接修改app裡面的內容,肯定是會破壞證書的,自然會一直提示聯網……
求一個2.3.7的源代碼,我在網上貌似找不到,都是老版本的,感謝
郵箱:
NDA4NDg3ODMzQHFxLmNvbQ ==
2.3.7我也沒有源碼,只有一個編譯好的文件。這個文件本身就證書失效,一直提示聯網,我用自己的證書重新給簽名也不行。能不用還是不用了吧,goagentX網上沒有最新的源碼,它真的要離去了。現在我用surge mac,如果你用的話我可以把我的配置文件發你一份。 :)
謝謝~
你可以用
“協同設計-v /Applications/GoAgentX.app’
來檢查一下原本的簽名是否被破壞,如果沒有問題則直接返回。
用
“協同設計-dvvvv /Applications/GoAgentX.app’
來檢查當前的簽名信息,我的版本打開不會出現聯網提示,一般出現這個提示很大可能就是bundle被(惡意?)修改了。
我有surge mac,但是它沒有ssh 代理,這個代理可以利用公司公網ssh搭梯子進公司內網,vnc自己的電腦什麼的很方便。對我來說goagentx確實是無可替代的。
是的,沒有任何問題,可能我這個版本就是個測試版,因為網上現在也找不到這個版本了。ssh的化可以直接用命令或者腳本啊~我不用那個命令,因為用來翻牆的話會被檢測出來然後屏蔽的。我用ssh都是直接命令行配置:) surge專門用來翻牆。而且,我還專門為此維護(其實現在是藉鑑前輩的列表了)了一個翻牆白名單規則,十分好用哈哈。
因為我們公司有很多內部web服務,所以用ssh轉socks 代理就可以直接用瀏覽器打開咯,而且在命令行用proxychains4g可以直接從內部git pull出來,而不用先git clone到中間服務器再scp出來,省了不少時間,其實都是個人需求吧。
我的白名單是從這裡pull的:
https://github.com/breakwa11/gfw_whitelist
每天schedule git pull 可以實現自動更新,如果有自己定義的網站話可以加入自動shell腳本merge 一下,不用自己維護。
話說你的博客真不賴,作為一個不會html的開發者覺得太酷了。
那你可以看看我的白名單https://github.com/R0uter/gfw_domain_whitelist 我這個博客用Wordpress搭建的,我也不會,頂多安裝一些插件優化一下,倒是後台做了不少優化,哈哈。
如果我是你,我就直接vpn了……嘿嘿。簡單又省事。
大神!已跟隨
XD 果醬果醬,我也是按照大神的結果改改格式罷了。我本來自己寫了一個爬蟲的,但由於已經有前人了我就取消了那個爬蟲項目轉而使用了大神這個,列表已經很全面啦。現在的問題就是怎麼找到方法來根據網站的流行程度縮減列表體積。
負載均衡的點子不錯,但是會降低可用性,連不上的機率大大增加……可以想想怎麼提高可用性,要是能週期性自動測試代理列表並選出丟包率最小的作為默認pac就好了。
確實,當時給破娃醬提交的時候她也這麼說的,尤其是幾條線路速度不一樣的時候,用起來會非常的……2.可惜我JavaScript並不厲害,我考慮考慮將來繼續探索。其實現在我自己並不用這個PAC,只是用了白名單列表,之前用的時候後來也把負載均衡給關了用的嘿嘿。等有空了我試試看。
你好,請問您還有 2.3.7 的源碼嗎?
如果有,我就自己維護了,很遺憾,目前全網也找不到呢。
Google Code 和 GitHub 上現在只有 1.3 的源碼,2.x 只有 dmg 和 xml 文件。
是的呢……好在現在用leve4可以代替——哦,可能還得等幾個月吧才能支持ss。如果過段時間它不支持,我會考慮自己寫一個管理器,畢竟我也在用這個的:)
如果要 ss-local 支持 OTA (-一個), 有和思路?新建一個名為 ss-local 的 shell 文件? 在該 shell 中加上 -A 參數,然後其他參數都轉發到原始的 ss-local。像這樣:
#!/斌/慶典
SS-本地$ @ -A
我去想想看,有必要使用一次性驗證?你說的這個偷天換日的方法可能得寫一個二進製而不是shell,如果有成果,我會再次回复你的:)
我想我找到方法了,可以為gx添加所有ss能支持的新特性,希望你聯繫我:)
呃,我上面回復中的方法就可以的,親測,多簡單啊。
那能被關閉嗎?我寫那個不能被關閉,我去試試你這個方法……理論上應該不能夠啊~~~
哈哈,你這個方法竟然能夠被GoAgentX關閉,不過就直接調用了系統安裝的SS客戶端而不是gx插件裡的了……也好,這樣省得每次升級都要拷貝一遍啦!
——看起來我的服務商都沒有支持一次性驗證呢。
=。=好吧,高級功能不能使用模板來做,我用swift寫了一個殼,理論上能支持所有參數了,缺點是必須手動關閉。我猜你的ss服務器是自己搭建的?我測試了下我的服務商都沒有支持這個功能呢=。=|||總之,還是那句話“畢竟是能用的。“......
太感謝PO主了。果斷收藏這篇。一直擔心GoAgentX下架後後續插件沒法更新。不知道是否有嘗試過接入Meow?
我去研究了下,很遺憾,雖然meow天生完全支持cow,但唯一一點遺憾的是meow的配置文件目錄改名為 .喵了,而gx配置cow的目錄是 .牛,所以……我們沒辦法了。
如果非要配合 MEOW 的話,其實可以直接做為 MEOW 的二級代理,例如起一個 3proxy 服務,然後配置文件寫死成 MEOW 的 IP 和端口。只是沒什麼意義,因為 Surge 以及類似的開源工具,同樣可以做 MEOW 的二級代理,而且效果更好,並且要么商業化了要么開源,應該大部分情況下都能替代不再維護的 GoAgentX 了。
是,現在我也換Surge了,所以確實沒去糾結GoAgentX接入Meow了。
剛看到 xsharp 的方法,完全可以用在 MEOW 上,直接把COW的Bundle裡寫個映射到 MEOW 的 shell 腳本,再 ln -s .cow .meow 即可,親測有效
人才!思路不錯!
還得先安裝Xcode?話說沒編譯好的能直接替換的麼? mac文件瀏覽器各種蛋疼,喬布斯當初就沒想讓用戶直接操作文件,ios更是極端
沒編譯的程序當然就不能用啦,不過你可以嘗試python版本,這樣你得在配置里切換一下才行。你試試:)
或者,你也可以考慮去找找預先編譯好的~
不對不對,我另外一台Mac不會有這個情況,不懂什麼問題,非常詭異,我再研究研究
我發現一個問題就是, 我更新COW到0.9.6的版本沒問題,但是更改了Info.plist文件裡面的版本號,重啟開機自啟動的時候竟然就沒有COW的服務了,非得改回0.9.3才正常
目前我沒有遇到這個問題,可能是我更新後就沒有繼續使用cow吧……現在我去配置試試看,我的是0.9.6,如果重現問題,我會回來告訴你的:)
哈哈哈~~我沒遇到這個問題,cow的自動探測我不喜歡,但是它的hash負載均衡很給力啊!我開了三個線路然後負載均衡,從此打開網頁都是搜搜的。抓了下包,打開Twitter同時好走倆個線路,真是完美!
不行,我反複試過很多次,就是在Bundles標籤頁可以看到COW的版本是0.9.6沒問題,但是在服務標籤頁點+號添加就找不到COW的選項,要不你把你的程序打包發給我試下
你是不是在配置裡把cow給禁用了所以看不到?我現在又用回了cow配合自己手動寫的列表……但還是不太好使,有時候cow還是會把黑名單的域名給直連,唉。
我感覺這個cow有時候確實有點問題,特別是用cow連接shadowsocks的時候速度不如原生的好,不知道你有沒有GoAgentX2.3.7的源碼,我想自己來維護
qq詳述。
shadowsock組件裡面的python模塊怎麼更新呢?
目測出了libev以外別的都沒什麼用,你就算刪了也ok,它根本不調用啊……當然我也就沒有去了解了。理論上你直接下載最新的來替換就好了。
不是在高級設置裡面可以選擇用libev還是python還是別的,我的也是2.3.7
是的可以選擇,我是後來才發現的,不過現在只有c語言版還在更新了吧