花了一下午时间跌跌撞撞的用c写了个还算能用的socks5代理,高兴。
其实我工作中并没有用c写过东西,之所以选择c是因为最近一直在研究linux内核及jvm的底层源码,用c写可以加深对底层系统的理解。
这个项目我以前就想写了,因为代理这东西对技术人来说太重要的,有了代理就相当于打开了一个全新的世界,这种自由的感觉太爽了。
本来我一直在用shadowsocks的,而且整个使用体验也都挺好的,但是我一直非常好奇它是如何实现的,也非常好奇我自己是否也能写个出来。
终于,在新年假期结束后上班的第一天,趁着比较闲就实现了这个小东西,哈哈。
这个项目我已经提交到github上了,不过因为目前只是写了个能用的版本,代码本身质量还太差,我后续还会优化,等优化好了就开放了。
先放个github地址吧
注:
sock5实现下来觉得协议本身还是非常简单的,rfc文档也就只有9页而已,我就是认真的读了两遍文档,然后就开始写,最后就成功了。所以如果你本身对这些东西也有兴趣,不妨自己也写个试试看,写成功了还是挺有成就感的。