Skip to content

命令行选项

本页按「先选模式,再填必要参数,其余按需追加」的顺序组织。大多数场景只需关键参数;其他参数用于认证、性能、直连等进阶配置。

模式一览

模式命令组合说明
正向代理linksocks server + linksocks client服务端出网;混合本地代理(SOCKS5 + HTTP)开在客户端本机
反向代理linksocks server -r + linksocks client -r客户端出网;混合本地代理(SOCKS5 + HTTP)开在服务端
中继代理linksocks server -r -c ... + linksocks provider + linksocks connector服务端只做中继;出网与本地代理分别由 provider / connector 承担
中继代理(自助连接者管理)linksocks server -r -a + linksocks provider -c ... + linksocks connector中继代理的变体:由 provider 自行登记 connector token,服务端不再统一下发
直连传输客户端 --direct-*,服务端 --direct-enable在中继协商成功后,尽量走点对点传输,降低延迟

角色说明

角色职责
serverWebSocket 中继。可选在本机监听混合本地代理(反向代理时)
client通用客户端。默认做正向代理的本地代理端;加 -r 后等价于 provider
providerclient -r 的快捷命令:连上中继后,用本机网络替对方出站
connector用 connector token 连上中继,在本机开混合本地代理,流量经对应 provider 出站

服务端(server

启动 WebSocket 中继。加 -r 后进入反向 / 中继类模式(本地代理可开在服务端,或交给 connector)。

本地监听端口为混合端口:同一端口同时接受 SOCKS5 与 HTTP 代理客户端。HTTP 支持 CONNECT(HTTPS 推荐)以及绝对形式 HTTP 请求;UDP 仍仅通过 SOCKS5。配置 --socks-username / --socks-password 时,SOCKS5 用户名密码与 HTTP Proxy-Authorization: Basic 共用同一套凭证。

关键参数

参数简写默认值说明
--token-t省略时由服务端自动生成(服务端管理令牌的模式)主认证令牌。也可用环境变量 LINKSOCKS_TOKEN
--ws-host-H0.0.0.0WebSocket 监听地址。也可用 LINKSOCKS_WEBSOCKET_HOST
--ws-port-P8765WebSocket 监听端口。也可用 LINKSOCKS_WEBSOCKET_PORT
--reverse-rfalse切换到反向 / 中继类模式(否则为正向中继)
--socks-host-s127.0.0.1反向模式下混合本地代理监听地址
--socks-port-p9870反向模式下混合本地代理监听端口

其他参数

参数简写默认值说明
--connector-token-c省略时自动生成中继代理下 connector 使用的令牌。也可用 LINKSOCKS_CONNECTOR_TOKEN
--connector-autonomy-afalse开启自助连接者管理:由 provider 自行登记 connector token。也可用 LINKSOCKS_CONNECTOR_AUTONOMY
--socks-username-n反向模式下本地代理用户名(SOCKS5 与 HTTP Basic)。也可用 LINKSOCKS_SOCKS_USERNAME
--socks-password-w反向模式下本地代理密码(SOCKS5 与 HTTP Basic)。也可用 LINKSOCKS_SOCKS_PASSWORD
--socks-nowait-ifalse不等待 provider 就绪,立即启动混合本地代理
--api-key-k启用 HTTP API。也可用 LINKSOCKS_API_KEY
--buffer-size-b1048576数据传输缓冲区大小(字节)
--upstream-proxy-x服务端出站时使用的上游代理。也可用 LINKSOCKS_UPSTREAM_PROXY
--fast-open-ffalse远端尚未完全确认前即允许开始传数据。也可用 LINKSOCKS_FASTOPEN
--connector-wait-provider5sconnector 等待 provider 重连的最长时间
--direct-enablefalse为兼容客户端开启直连协商
--direct-rendezvous-udpfalse开启服务端 UDP rendezvous。需真实 UDP 监听;Cloudflare Workers 不支持
--direct-rendezvous-hostws-host 相同rendezvous 的 UDP 地址
--direct-rendezvous-portws-port 相同rendezvous 的 UDP 端口
--debug-d调试日志;-dd 输出 trace

客户端 / Provider / Connector

三者共用同一套客户端逻辑,差别主要在默认角色与常用参数:

命令等价关系典型用途
linksocks client正向代理客户端本机开混合本地代理,经 server 出网
linksocks client -r反向 / 中继中的 provider本机网络对外提供出站
linksocks providerclient -r 的快捷命令同上
linksocks connector面向 connector token 的客户端别名本机开混合本地代理,经指定 provider 出网

关键参数

参数简写默认值说明
--token-t认证令牌。也可用 LINKSOCKS_TOKEN
--url-uws://localhost:8765WebSocket 服务端地址。也可用 LINKSOCKS_URL
--reverse-rfalseclient 切换为 provider(反向 / 中继出站端)
--socks-host-s127.0.0.1正向或 connector 模式下本地混合代理地址。也可用 LINKSOCKS_SOCKS_HOST
--socks-port-p9870正向或 connector 模式下本地混合代理端口。也可用 LINKSOCKS_SOCKS_PORT

其他参数

参数简写默认值说明
--connector-token-c中继代理 / 自助连接者管理下,provider 登记的 connector token。也可用 LINKSOCKS_CONNECTOR_TOKEN
--socks-username-n本地代理用户名(SOCKS5 与 HTTP Basic)。也可用 LINKSOCKS_SOCKS_USERNAME
--socks-password-w本地代理密码(SOCKS5 与 HTTP Basic)。也可用 LINKSOCKS_SOCKS_PASSWORD
--socks-no-wait-ifalse立即启动混合本地代理,不等待远端就绪
--no-reconnect-Rfalse与服务端断开后直接退出(默认会重连)
--threads-T1数据传输线程数
--upstream-proxy-x连接 WebSocket 服务端时使用的上游代理。也可用 LINKSOCKS_UPSTREAM_PROXY
--no-env-proxy-Efalse忽略环境变量中的代理配置
--fast-open-ffalse远端尚未完全确认前即允许开始传数据。也可用 LINKSOCKS_FASTOPEN
--direct-modeauto直连策略:relay-onlyautodirect-only
--direct-discoverystun直连候选地址发现方式
--direct-host-candidatesauto主机地址候选公布策略
--stun-server内置地址池额外 STUN 服务器,可重复指定
--direct-only-actionexitdirect-only 失败时的处理方式
--direct-upnpfalse为直连启用 UPnP 端口映射
--direct-upnp-lease30mUPnP 租约时长
--direct-upnp-keepfalse退出时保留 UPnP 映射
--direct-upnp-external-port0显式指定 UPnP 外部端口(0 表示自动)
--debug-d调试日志;-dd 输出 trace

模式示例

1. 正向代理

bash
linksocks server -t my_token
linksocks client -t my_token -u ws://localhost:8765 -p 9870

2. 反向代理

bash
linksocks server -t my_token -r -p 9870
linksocks client -t my_token -u ws://localhost:8765 -r
# 或:linksocks provider -t my_token -u ws://localhost:8765

3. 中继代理

服务端统一管理 provider token 与 connector token;混合本地代理开在 connector 本机。

bash
linksocks server -t provider_token -c connector_token -r -p 9870
linksocks provider -t provider_token -u ws://localhost:8765
linksocks connector -t connector_token -u ws://localhost:8765 -p 1180

4. 中继代理(自助连接者管理)

服务端只校验 provider;每个 provider 用 -c 登记自己的 connector token。连接者只连到对应 provider,不做跨 provider 负载均衡。

bash
linksocks server -t provider_token -r -a
linksocks provider -t provider_token -c my_connector_token -u ws://localhost:8765
linksocks connector -t my_connector_token -u ws://localhost:8765 -p 1180

5. 直连传输

bash
linksocks server -t my_token --direct-enable
linksocks client -t my_token -u ws://localhost:8765 --direct-mode auto

环境变量

下列参数也可通过环境变量传入(Docker / Compose 常用):

环境变量对应参数
LINKSOCKS_MODE根命令模式别名(serverclientproviderconnector
LINKSOCKS_URL--url
LINKSOCKS_WEBSOCKET_HOST--ws-host
LINKSOCKS_WEBSOCKET_PORT--ws-port
LINKSOCKS_SOCKS_HOST--socks-host
LINKSOCKS_SOCKS_PORT--socks-port
LINKSOCKS_TOKEN--token
LINKSOCKS_CONNECTOR_TOKEN--connector-token
LINKSOCKS_SOCKS_USERNAME--socks-username
LINKSOCKS_SOCKS_PASSWORD--socks-password
LINKSOCKS_API_KEY--api-key
LINKSOCKS_CONNECTOR_AUTONOMY--connector-autonomy
LINKSOCKS_UPSTREAM_PROXY--upstream-proxy
LINKSOCKS_FASTOPEN--fast-open

上游代理 URL 格式

--upstream-proxy 支持 SOCKS5 与 HTTP:

text
socks5://[username[:password]@]host[:port]
http://[username[:password]@]host[:port]

示例:

  • socks5://proxy.example.com:1080
  • socks5://user:pass@proxy.example.com:1080
  • http://user:pass@proxy.example.com:8080

基于 MIT 许可证发布。