这是一个用Go语言实现的SOCKS5代理服务器,支持TCP和UDP代理,并具有用户认证和TLS加密功能。
- 支持SOCKS5协议标准
- 支持TCP和UDP代理
- 支持用户名/密码认证
- 支持TLS加密连接
- 可配置的UDP缓冲区大小和超时时间
- 跨平台支持(Windows、Linux)
服务器通过 config.json
文件进行配置。以下是配置文件的示例:
{
"address": ":1080",
"users": {
"admin": "admin"
},
"tls": {
"enable": false,
"cert_file": "cert.pem",
"key_file": "key.pem"
},
"udp": {
"enable": true,
"address": "",
"buffer_size": 4096,
"timeout": 60
}
}
address
: 服务器监听地址,格式为 "IP:端口"。默认为 ":1080"users
: 用户认证信息,key为用户名,value为密码。留空则不启用认证tls
: TLS加密配置enable
: 是否启用TLS加密cert_file
: TLS证书文件路径key_file
: TLS私钥文件路径
udp
: UDP代理配置enable
: 是否启用UDP代理address
: UDP监听地址,留空则使用与TCP相同的地址buffer_size
: UDP缓冲区大小(字节)timeout
: UDP会话超时时间(秒)
-
创建配置文件
config.json
,根据需要修改配置选项 -
运行服务器:
./socks5-server
-
服务器启动后,可以在支持SOCKS5代理的客户端中使用:
- 代理服务器地址:你的服务器IP
- 代理服务器端口:配置文件中指定的端口(默认1080)
- 如果配置了认证,需要填写用户名和密码
- 如果启用了TLS,需要在客户端配置使用TLS连接
- 如果启用TLS,请确保证书和私钥文件路径配置正确
- 建议在生产环境中启用用户认证以提高安全性
- UDP代理功能可能会占用较多系统资源,请根据服务器配置适当调整缓冲区大小
- 确保防火墙允许配置的端口访问