2016年5月9日 星期一

gfw.press安裝腳本(使用3proxy作後端代理)

gfw.press + tinyproxy 一鍵腳本發表後,有小部分網友使用安裝,
在腳本差不多完成時,會卡在./server.sh &這個代碼,使得用戶
按Ctrl-C中斷腳本運行,其實腳本已經安裝好了服務,是因為
gfw.press/server.sh使用nohup java ......XXX &,把stderr導向stdout
再寫入server.log,而在腳本執行變成了sub shell無法按Enter鍵繼續
執行餘下代碼。

由於gfw.press使用Java,一般VPS較少記憶體應付不了,根據項目
作者石斑魚大爺@chinashiyu 以為我們的VPS最少2GB記憶體
(高估網友和他一樣,錢多),server.sh腳本有java參數-Xmn1024M
-Xms1280M -Xmx1280M ,他說刪除就可以,反正還是低檔VPS
跑不起來,就不改之前的腳本,重新編寫,後端以3proxy作為
代理,也就比Tinyproxy花多一點點記憶體,但好處是多用戶可
以控制用戶訪問的端口,有效避免不良用戶通過代理進行非法
行為,如濫發郵件,端口掃描等等。

使用方法

以root登陸VPS,執行

wget -O gfw3proxy.sh --no-check-certificate \
https://www.dropbox.com/s/vuj2rpfpjlnkawu/gfw3proxy.sh?dl=0

然後輸入

chmod +x gfw3proxy.sh && ./gfw3proxy.sh

按這裡檢視原碼

這腳本不再支援NAT VPS,原因是基本跑不了,所以干脆連代碼
也省去,另外根據作者建議,腳本會把記憶體相關參數刪除,原
版未改動的server.sh會變為server.org,在gfw.press/ 目錄內,如果網
友的VPS夠強勁,可以用回原版的server.sh,在其目錄下輸入命令

mv -f server.org server.sh

這次腳本不再執行./server.sh ,而改為腳本完成後由用戶輸入,執行

gfw.press/server.sh

即可,這是因為避免運行腳本卡在這點上,也不清楚Java的標準
輸入/輸出是怎樣,把server.sh代碼抄到腳本內執行還是要用戶
按Enter鍵,那干脆由用戶輸入執行server.sh好了,執行後它還是不
會回到命令行介面,按一下Enter鍵即可。

3proxy會登記成為系統服務,如要停止運行輸入

/etc/init.d/3proxyinit stop

須要運行輸入

/etc/init.d/3proxyinit start

這個3proxyinit是沒有restart選項,如要停止再運行服務請執行上述
兩條命令。

3proxy的執行檔案和設置文件都在/usr/local/etc/3proxy/目錄內,如須
要更改設定在那裡編輯3proxy.cfg

3proxy設置用戶可訪問的端口為

80-88,8080-8088 #http
443,8443               #https
5222,5223,5228    # whatsapps,skype等等即時通訊語音服務器端口
465,587,995          # 電郵服務器端口 TLS AUTH

正常用戶應該足夠。

腳本預定一位使用者,要增加用戶,編輯gfw.press/user.txt ,格式是
端口【空格一個】密碼 ,每個描述一行,例如要增加為3個用戶

14401 xyz123MN
14402 XYZ456bc
14403 789lKpOH

這樣,編輯後儲存須要重啟gfw.press使其生效,假設沒有其他Java
程序在運行,在命令列輸入

kill $(ps aux | grep 'java' | grep -v grep | awk '{print $2}')

即可終止gfw.press運行,再次運行server.sh便可生效。
gfw.press的windows客戶端在這裡下載

這腳本在VMware VPS Debian 8 jessie x86_64通過測試,系統資訊如下

System Info
-----------
Processor : Intel(R) Xeon(R) CPU           X7560  @ 2.27GHz
CPU Cores : 2
Frequency : 2261.000 MHz
Memory : 1000 MB
Swap : 1483 MB
Uptime : 10 min,

OS : Debian GNU/Linux 8
Arch : x86_64 (64 Bit)
Kernel : 3.16.0-4-amd64
Hostname : localhost

腳本以之前的debian 7 部署 gfw.press + 3proxy 輕鬆翻牆作為藍本編寫,
故此在Debian 7 x86/x86_64正常是可成功安裝,而Ubuntu 14.04/15.04
沒有測試,不過估計也可使用安裝,因為3proxy是編譯安裝的,軟件
源沒有,所以路徑問題應該不存在,Ubuntu的啟動服務和Debian相同,
正常也可使用,但不保證

Java是非常吃記憶體的,如果VPS的記憶體沒有512MB或以上,還是
建議放棄,跑不動的機會極高,當系統假死時可看server.log是否出現
記憶體不足的警告。

低檔VPS最好還是使用shadowsocks-libev或者stunnel+tinyproxy作為個
人梯子,這些可以在很少資源的系統上運行的

之前編寫的gfw.press+tinyproxy腳本請不要使用,有空會改寫一下避免
做成用戶誤會,這個腳本設有trap命令,如果用戶按Ctrl-C中斷腳本會
清理檔案和文件。

腳本須要安裝所需檔案,編譯原碼和更新系統,需時較久,請耐心等
待完成,完成後會給出客戶端所需資訊,記得手動輸入 gfw.press/server.sh
運行gfw.press

:)

17 則留言:

  1. 如果用vmware ubuntu作为VPS,那么客户端的windows安装Gfw.press,节点端口和节点地址怎么配,本地端口是1328?连接密码是ubuntu用户密码?

    回覆刪除
  2. 可以直接在vmware ubuntu VPS运行gfw3proxy.sh,然后通过火狐翻墙?

    回覆刪除
  3. 我的意思是vmware ubuntu VPS既作为客户端,又作为服务器端。

    回覆刪除
  4. 你的联系电话可以方便留下?电话咨询会方便些,多谢~

    回覆刪除
  5. 那只是安裝腳本,在vps安裝,客戶端在這裡下載 http://gfw.press/GFW.Press.msi windows

    回覆刪除
  6. vmware/openvz/kvm的虛擬方案的vps都可以安裝

    回覆刪除
  7. 這個和安裝shadowsocks到vps沒有分別,只是服務器不是shadowsocks,是另一個代理方案,gfw.press類似stunnel,只是加密隧道,不同的是會隨機混淆數據增加GFW檢測流量特徵的難度,這腳本是用來部署服務器的,當完成後下載客戶端,火狐或chrome設置代理類型為HTTP,地址是127.0.0.1,端口是3128 ,gfw.press的客戶端填入服務器IP,端口和密碼,使用方式和shadowsocks客戶端沒分別

    回覆刪除
  8. 另外安卓客戶端也有了 http://gfw.press/GFW.Press.apk github官網 https://github.com/chinashiyu

    回覆刪除
  9. 一般VPS都是付费的啊,你有此篇技术贴测试的VPS账号和密码?我想体验下新技术,多谢!

    回覆刪除
  10. 如果方便的话,可以发给我邮箱体验下miaojie263@126.com ,不然我自己购买个VPS了~

    回覆刪除
  11. 我之前测试步骤是step1:在windows中vmware用ubuntu14.04 运行gfw3proxy.sh,记录编译输出的IP以及登陆密码和端口,运行gfw.press/server.sh。step2:windows安装gfw.press客户端,设置IE代理为127.0.0.1/1328,并在gfw.press输入连接信息。 结果无法翻墙,是因为使用的VMWARE不是VPS导致的?

    回覆刪除
  12. 你安裝在那裡,牆外的電腦,VPS才可以啊,這是服務器,並非在本地安裝了就翻牆,這不是自由門,簡單解釋一下
    chrome ->windows客戶端 --加密隧道-> vps/gfw.press -> 目標網站
    chrome <- windows客戶端 <-加密隧道- vps/gfw.press <- 目標網站

    你沒有VPS搭建不了的,如果體驗去 http://gfw.press 看看有沒有邀請碼,或
    到推特找註冊了該網站的用戶要一個邀請碼,或找@chinashiyu ,他有免費提供,我的服務器已掛了

    回覆刪除
  13. 通过购买VPS已成功搭建翻墙,多谢!以后若有新的翻墙技术欢迎交流~

    回覆刪除
    回覆
    1. 有什么翻墙论坛或地址推荐下?最好是新的翻墙技术

      刪除
  14. 『sub shell無法按Enter鍵繼續執行餘下代碼』
    可以用 << 回導不是?

    sh install.sh << EOF
    this is a enter

    EOF


    另,有啥 速度快 便宜的 VPS可介紹的嗎?

    回覆刪除