写一个socks5代理服务器
背景
写这个项目主要是因为最近在学习go语言,并且呢最近发现买的代理速度不是很够,价格也不是很合适。所以,正好借此机会自己写一个socks5代理服务器,既能够加深对go语言的理解,又能够解决自己的需求。
socks5协议
socks5协议是一个应用层协议,它的作用是在客户端和服务器之间建立一个代理,让客户端可以通过代理服务器访问目标服务器。socks5协议的具体实现可以参考rfc1928。
实现
大致过程
- 客户端和服务器建立连接(三次握手)
- 协商(建立socks5链接)
- 请求(服务器与目标服务器建立连接)
- 转发
...具体实现步骤后续补充