2016年5月31日 星期二

說說VPS和github的一些

最近對gfw.press這個項目感到有點興趣,由於這個項目由Java編寫,要有較高檔次的VPS
才能運行良好和發揮威力,手頭的VPS都是低檔次,最多RAM的只有256M/512M vSwap,
於是物色新的VPS,並準備重新編寫一個安裝腳本,把gfw.press3proxy設為系統服務。

一般都會到這些網站找尋便宜合適的VPS,通常會在下列網站找尋資料

http://vncoupon.com/
https://lowendbox.com/
https://lowendtalk.com/
http://lowendstock.com/

那天真是有鬼了,在推特看到一個外籍推友的圖片,是在http://cloudatcost.com/搭建
了一個服務器的截圖,於是上網站看一下,發覺價格便宜,頭腦一熱,沒在
google找尋一下用家評價,就購買了Developer CloudPRO 2的計劃,$70美元
one time pay, 付款後等收電郵,這段時間上網查找這公司資料,發覺負面評論很多
,有評論更指這家服務商有可能走路,不過反正價格不貴,心想用上2年都賺了,
於是沒理會。

收到電郵取得VPS資料,上它的CP安裝OS,順便測試一下速度和取得系統資訊,
一般會下載這個腳本,由本地上傳到VPS測速通常是使用這條命令

dd if=/dev/zero bs=1M count=100 | ssh root@vps_ip -p vps_port 'dd of=/dev/null'

輸入 100+0 個紀錄
輸出 100+0 個紀錄
複製了 104857600 個位元組 (105 MB), 26.1508 s, 4.0 MB/s
204800+0 records in
204800+0 records out
104857600 bytes (105 MB) copied, 21.1581 s, 5.0 MB/s

這就大約可以評估VPS上下行的速度

經測試後發覺http://cloudatcost.com的VPS速度非常一般,心想自己不翻牆,就算了,
反正是測試使用,就用舊腳本在這個KVM的VPS搭建了一個gfw.press ,速度一般,
算是穩定,在推上找了5位推友準備測試三個月,看看是否真的能有效躲過GFW,
誰知只用了六天,服務器就hang了,這些事很平常,只要向供應商發support ticket
要求修復便成,誰知發了2天還沒有收到回郵(自動回覆都沒有),服務器還是當掉
不能用,再發一次,整天沒有回音,不對頭了,因為是通過PayPal付款,於是通過
PayPal發出詢問,等了一天,還是沒回音,服務器依然不能使用,再上PayPal糾紛
中心,這次要求退貨,退款$65美元,PayPal限定供應商於27-5-2016之前必須回應,
這段時間依然沒有回音,直到26-5-2016忽然收到供應商電郵,謂我已close support 
ticket,請評價他們的服務,附上URL連結,我根本沒有close ticket,一看日期就猜
到他們希望我點選評價,那個也可以,用來作為27號答覆PayPal,於是不理會,
也不登陸VPS CP,ssh到VPS,是回復了,但所有資料全部消失,顯然是供應商自
行幫我安裝OS,也不做甚麼,退出後不理會,到了28號,收到PayPal來信謂栽決
把$70美元在五個工作天內退回到我賬戶,這事算是結束了。

這個事得出的教訓

1) 購買VPS之前須要在google查一下用家評價
2) 便宜沒好貨
3) 盡量使用PayPal付款,雖然手續費是高一點,但當有問題時可以通過糾紛中心申訴,
    可以追回款項。

以上是我的經驗,希望對選購VPS的網友有幫助


說完VPS的事,這就說說最近我在github開了的代碼倉庫 ,申請是因為網友說在Dropbox
取得腳本麻煩,建議在Github放置安裝腳本,方便使用,作為非IT佬的我就去申請了一
個免費賬號。

這段時間在代碼倉庫設了4個Repositories,並新增和改寫了一些安裝腳本,在readme.md
很難寫得太多,有須要在這說明一下安裝了甚麼,和安裝到那裡,怎樣使用等。


主要放置和gfw.press相關的腳本

1) gfw3proxy.sh

    這是以前文章gfw.press安裝腳本(使用3proxy作後端代理) 裡的腳本,修正了一些
    錯誤

2) gfwtiny.sh 

    全部改寫,並改名字,如在debian 7 | ubuntu 14.04使用大殺器配合tinyproxy,請使用
    這個新版安裝

3) gfw3proxy_init.sh

    這個是全新編寫的,安裝腳本會把大殺器和3proxy設為系統服務,安裝後大殺器的
    目錄在/usr/local/etc/gfw.press ,如需要更改user.txt新增端口或刪除端口,請轉到這目
    錄內,腳本預設了一個用戶。

    這個腳本不再使用大殺器的啟動腳本,改為由/etc/init.d/gfw.press 控制開關,系統
    啟動時會自動使用這腳本啟動服務,使用方式為

    /etc/init.d/gfw.press start 啟動大殺器
    /etc/init.d/gfw.press stop 停止大殺器
    /etc/init.d/gfw.press restart 重啟大殺器
    /etc/init.d/gfw.press status 查看大殺器的運行狀況

    由於不知道網友的VPS有多少RAM,和之前的腳本一樣,把gfw.press/server.sh內的
    參數-Xmn1024M -Xms1280M -Xmx1280M 全部刪除,照原裝的命令需要1.5GB RAM
    以上的VPS才可運行,但許除參數速度會下降很多,請根據你的VPS的RAM數量,
    編輯/etc/init.d/gfw.press ,例如512M RAM的VPS ,找到

     _java="${_java}-classpath `find ./lib/*.jar | xargs echo | sed 's/ /:/g'`:./bin"

     改為

    _java="${_java}-Xmn256M -Xms384M -Xmx384M -classpath `find ./lib/*.jar | xargs echo | sed 's/ /:/g'`:./bin"
 

      (補充:後來試了,在啟動腳本加入參數啟動不了,原因未找到,在server.sh更改正常)
      (補充:分拆了的獨立init腳本在這裡)
      (再補充:問題解決了。直接修改大殺器啟動腳本server.sh,init script
       使用server.sh啟動服務,並上傳一個修改server.sh的腳本到這裡,獨立
       設置大殺器為系統服務須用這腳本修改後,那個init script才有效,
       使用方式

       bash modify.sh /path/to/gfw.press/server.sh

       使用gfw3proxy_init.sh無須理會,代碼已修改)

      儲存後重啟大殺器即可生效,更多RAM如此類推,另外的兩個腳本則在server.sh改動

      3porxy的目錄在/usr/local/etc/3proxy ,如須查看log,更改3proxy.cfg ,請轉到這目錄
      內。3proxy的開機啟動腳本為 /etc/init.d/3proxyinit ,使用方式為

      /etc/init.d/3proxyinit start 啟動3proxy
      /etc/init.d/3proxyinit stop 停止3proxy

      和gfw3proxy.sh 安裝的元件相同
      

4) uninstall.sh

    由於大殺器對VPS要求高,很多網友在低配置VPS跑起來比shadowsocks還慢,就想
    刪除,於是避免重複回答,寫了這個腳本,執行後可把上述3個腳本任何一個安裝
    的元件全部刪除,回復到未安裝狀態,如須要刪除大殺器和後端代理,請使用這
    個腳本。

5) safepw.sh

    只是一個按大殺器要求隨機產生密碼的腳本,用來增加用戶時gen密碼



這目錄內就是之前文章shadowsock-libev一鍵安裝和升級腳本 , 
的腳本,少部份代碼改正



這目錄內的腳本有兩個,一個全新編寫,一個是以前文章stunnel+tinyproxy一鍵腳本
重新改寫

1) s3proxy.sh

    腳本已stunnel + 3proxy搭建一個HTTPS/SSL代理,使用用戶認證,3proxy的目錄和
    大殺器的相同,啟動腳本相同,如須增加或減少用戶,請在3proxy.cfg內找到
    users user1:CL:Mypassword1

    例如新增

    users user1:CL:Mypassword1

    在其下加一行

    users user1:CL:Mypassword1
    users user2:CL:Mypassword2

    然後重啟3proxy,執行

    /etc/init.d/3proxyinit stop && /etc/init.d/3proxyinit start

    即可生效

    此腳本為未來購買域名後以letsencrypt免費SSL證書取代自簽名證書的stunnel.pem

2) stiny.sh

    就是文章stunnel+tinyproxy一鍵腳本的腳本全面改寫,之前版本因有6年沒寫腳本,
    比較混亂,重新改寫並改名



這個目錄是文章來自CN的你裡的腳本,並新增一個用來釋放被鎖的IP

1) badip.sh

    用來封鎖錯誤連接ss-libev 51次以上的IP,放在cron job使用

2) counter.awk

    用來統計shadowsocks-libev產生的log內每個IP的錯誤連接數

3) ip_free.sh

    釋放被badip.sh封鎖的IP,在cron job使用

如果你有512M或以上的VPS,安裝大殺器請使用gfw3proxy_init.sh ,這個使用上較為
方便,其實舊的兩個版本已沒有甚麼用途了,如果之前安裝了由舊腳本安裝的大殺
器,請下載uninstall.sh,先刪除舊版本安裝的元件再次安裝。

另外請注意端口有否被佔用而導致安裝腳本失敗,須然我是盡量在一個範圍隨機挑
選端口,有時可能會用上相同端口而安裝失敗,不過沒有必要安裝太多梯子,只挑
一至兩個安裝足夠了。

最後付上由搬瓦工VPS編寫的shadowsocks一鍵安裝腳本 , 這個不是我編寫的,是供
應商編寫的腳本,所以只留在DropBox ,或者有光顧這個供應商的網友有用

:)

沒有留言:

張貼留言