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