Skip to content

index

一个功能强大的代理客户端库,支持多种代理协议。本项目重构自 github.com/RouterScript/ProxyClient

支持的协议

  • Direct - 直连模式
  • Reject - 拒绝连接
  • Blackhole - 黑洞模式
  • HTTP - HTTP 代理
  • HTTPS - HTTPS 代理
  • SOCKS5 - SOCKS5 代理
  • ShadowSocks - ShadowSocks 代理
  • SSH Agent - SSH 代理
  • Suo5 - Suo5 协议
  • Neoreg - Neoreg 协议

Example

Curl

模拟 curl 命令,通过代理访问指定的 URL。

go build ./example/curl  
curl <proxy-url> <target-url>  

# 示例  
./curl http://127.0.0.1:8080 https://example.com  

NC

模拟 nc 命令,通过代理连接指定的主机和端口。

go build ./example/nc  
./nc <proxy-url> <target-host> <target-port>  

# 示例  
./nc http://127.0.0.1:8080 example.com 80  

SOCKS5

在本地启动一个 SOCKS5 服务器,将所有流量通过上游代理转发。

go build ./example/socks5  
./socks5 <proxy-url> <listen-addr>  

# 示例  
./socks5 http://127.0.0.1:8080 :1080  

协议配置说明

HTTP/HTTPS

HTTP 和 HTTPS 代理支持基本认证。

格式:http(s)://[username:password@]host:port  
参数:  
- username: 认证用户名  
- password: 认证密码  
- host: 代理服务器地址  
- port: 代理服务器端口  

示例:  
http://user:pass@127.0.0.1:8080  
https://127.0.0.1:8443  

SOCKS5

支持无认证和用户名密码认证两种方式。

格式:socks5://[username:password@]host:port  
参数:  
- username: 认证用户名(可选)  
- password: 认证密码(可选)  
- host: 代理服务器地址  
- port: 代理服务器端口  

示例:  
socks5://127.0.0.1:1080  
socks5://user:pass@127.0.0.1:1080  

ShadowSocks

支持多种加密方式。

格式:ss://method:password@host:port  
参数:  
- method: 加密方式,支持:aes-256-gcm, chacha20-ietf-poly1305等  
- password: 密码  
- host: 服务器地址  
- port: 服务器端口  

示例:  
ss://aes-256-gcm:password@127.0.0.1:8388  

Suo5

Suo5 协议支持多种参数配置。

格式:suo5(s)://host:port/path?param1=value1&param2=value2  

示例:  
suo5://example.com:8080/suo5.jsp
suo5s://example.com:8443/suo5.jsp

Neoreg

Neoreg 协议支持丰富的参数配置。

格式:neoreg(s)://key@host:port/path?param1=value1&param2=value2  
参数:  
- key: 连接密钥(必需)  
- timeout: 连接超时时间,如:5s  
- retry: 最大重试次数,默认10  
- interval: 读写间隔,如:100ms  
- buffer_size: 读取缓冲区大小,默认32KB  

示例:  
neoreg://password@example.com:8080/tunnel.jsp?timeout=10s  
neoregs://password@example.com:8443/tunnel.jsp?interval=200ms&retry=5