taosocks: 另一个实现 sosks 协议的代理工具

陪她去流浪 桃子 2015年08月24日 阅读次数:3555

昨天(还是前天,记不清了),Shadowsocks的作者发了一条动态,言简意赅:我被有关部门请去喝茶了,可能不会再(公开)维护 Shadowsocks 了。今天(2015-08-23)我再到 Shadowsocks 的 github 主页上面浏览时,作者已经检出了一个新的 ``rm`` 分支,所有源代码已经消失。。。

看看 star数量,看看 fork数量,github上面有多少个这样火热的项目?真是可惜了。

然后没想到的是,只过了不过一两天,GoAgent也宣告离去:Everything that has a beginning has an end.

我告诉自己,下一个不是我!

忙活了一下午,就为写这个小工具,姑且命名为 taosocks,纯粹是为了练手。不瞒你们说,这是我第1次写select模型的套接字(其它更高端的模型只是听说过)。

好在 socks 协议非常简单,结果一下午时间就基本能工作了。。。

工作原理跟 Shadowsocks 是神似的:

  1. 在本地监听一个端口(默认是1080)供浏览器(或其它支持 socks 协议的网络程序,下同)连接;
  2. 设置浏览器的代理为 socks 代理类型,指向本软件的监听端口,然后访问所要访问的网站;
  3. 然后本软件把从浏览器得到的数据按照 socks 协议转发(双向)到目标主机的端口上面去。

先就说这么多,待软件能稳定工作了,再来更新吧,不然只能算一个坑~~~


项目依然开源,代码托管在 github 上:https://github.com/movsb/taosocks.git

希望有兴趣的同学一起来开发,目前的代码只能工作在 windows 上,但要支持 linux 肯定是必须的。

近来的打算:服务端运行在 linux 系列主机上,客户端运行在 windows 上。毕竟服务器 linux 多,客户端还是 windows 多。

更新

2015-08-24 第1版运行效果图

标签:代理 · 我的小项目