Posted on 2016-02-12 17:50
Onway 閱讀(2203)
評論(0) 編輯 收藏 引用 所屬分類:
碼兒快跑
背景
前段時間在digitalocean租了vps搭建shadowsocks,簡單看了一下socks5協(xié)議,決定自己也造一個小輪子玩玩。
春節(jié)在家整理了一下代碼,大神輕拍。
功能
代碼是c++,在linux基于perfork+select實(shí)現(xiàn)的,目前的功能有:
- TCP代理
- 遠(yuǎn)程DNS
- 用戶驗(yàn)證
- 數(shù)據(jù)加密
過程
開發(fā)調(diào)試的過程發(fā)現(xiàn)兩點(diǎn)比較有意思:
- 偶爾會收到RST的數(shù)據(jù)包,查看代碼日志,用tcpdump在兩端抓包并無發(fā)現(xiàn)異常
- 訪問某些網(wǎng)站總是會收到RST數(shù)據(jù)包造成無法訪問
對上述第二點(diǎn)加入了非常簡單的數(shù)據(jù)加密后就解決了哈,shadowsocks的加密應(yīng)該就是這么用的吧。
缺陷
功能上沒有支持UDP,ie和chrome瀏覽器似乎都不支持socks5,只能先用著firefox了。
在windows也用c#做了一個客戶端,但無暇顧及已經(jīng)好久沒更新了。
其他
可能跟所用寬帶有關(guān),訪問digitalocean的時延超過300ms,網(wǎng)站只能打開首頁,登錄頁面都加載不全,慎用。
前些天收到郵件說是vps出現(xiàn)流量異常被關(guān)閉了,還無法登錄管理頁面,用lantern也一直連不上。(T_T)