Skip to content

Command-line Options

LinkSocks is a versatile SOCKS proxy implementation over the WebSocket protocol, supporting both forward and reverse proxy configurations. This guide provides detailed instructions on how to use LinkSocks via the command line.

Basic Commands

LinkSocks provides two primary commands: server and client.

Server

Starts the LinkSocks server which listens for incoming WebSocket connections and manages SOCKS proxy services.

Client

Starts the LinkSocks client which connects to the server and provides SOCKS proxy functionality to the local machine.

Server Options

Basic Options

ParameterShortDefaultDescription
--ws-host-H0.0.0.0WebSocket server listen address
--ws-port-P8765WebSocket server listen port
--token-tAuthentication token (auto-generate if empty)
--reverse-rfalseEnable reverse proxy mode

SOCKS5 Options (Reverse Mode)

ParameterShortDefaultDescription
--socks-host-s127.0.0.1SOCKS5 server listen address
--socks-port-p9870SOCKS5 server listen port
--socks-username-nSOCKS5 authentication username
--socks-password-wSOCKS5 authentication password
--socks-nowait-ifalseStart SOCKS server immediately

Agent Proxy Options

ParameterShortDefaultDescription
--connector-token-cConnector token for agent proxy
--connector-autonomy-afalseAllow clients to manage connector tokens

Performance Options

ParameterShortDefaultDescription
--buffer-size-b32768Buffer size for data transfer
--fast-open-ffalseEnable fast open optimization (see: Fast Open Mode)
--upstream-proxy-xUpstream SOCKS5 proxy URL

Management Options

ParameterShortDefaultDescription
--api-key-kEnable HTTP API with specified key
--debug-dDebug logging (use -dd for trace)

Client Parameters

Basic Options

ParameterShortDefaultDescription
--token-tAuthentication token (required)
--url-uws://localhost:8765WebSocket server URL
--reverse-rfalseEnable reverse proxy mode
--connector-token-cConnector token for agent proxy

SOCKS5 Options (Forward Mode)

ParameterShortDefaultDescription
--socks-host-s127.0.0.1SOCKS5 server listen address
--socks-port-p9870SOCKS5 server listen port
--socks-username-nSOCKS5 authentication username
--socks-password-wSOCKS5 authentication password
--socks-no-wait-ifalseStart SOCKS server immediately

Connection Options

ParameterShortDefaultDescription
--no-reconnect-RfalseStop when server disconnects
--threads-T1Number of WebSocket connections
--fast-open-ffalseEnable fast open optimization (see: Fast Open)
--upstream-proxy-xUpstream SOCKS5 proxy URL
--no-env-proxy-EfalseIgnore proxy environment variables

Debug Options

ParameterShortDefaultDescription
--debug-dDebug logging (use -dd for trace)

Upstream Proxy Format

The --upstream-proxy parameter accepts SOCKS5 URLs:

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

Examples:

  • socks5://proxy.example.com:1080
  • socks5://user:pass@proxy.example.com:1080
  • socks5://proxy.example.com (defaults to port 1080)

Common Parameter Combinations

Forward Proxy

bash
# Basic forward proxy
linksocks server -t my_token
linksocks client -t my_token -u ws://localhost:8765 -p 9870

# With authentication
linksocks client -t my_token -u ws://localhost:8765 -n user -w pass

# With upstream proxy
linksocks client -t my_token -u ws://localhost:8765 -x socks5://upstream:1080

Reverse Proxy

bash
# Basic reverse proxy
linksocks server -t my_token -r -p 9870
linksocks client -t my_token -u ws://localhost:8765 -r

# With SOCKS authentication
linksocks server -t my_token -r -p 9870 -n user -w pass
linksocks client -t my_token -u ws://localhost:8765 -r

Agent Proxy

bash
# Server with connector token
linksocks server -t server_token -c connector_token -r -p 9870

# Provider client
linksocks provider -t server_token -u ws://localhost:8765

# Connector client
linksocks connector -t connector_token -u ws://localhost:8765 -p 1180

Autonomy Mode

bash
# Server with autonomy enabled
linksocks server -t server_token -r -a

# Provider with custom connector
linksocks provider -t server_token -c my_connector -u ws://localhost:8765

Performance Tuning

Buffer Size

Increase buffer size for high-throughput scenarios:

bash
linksocks server -b 65536
linksocks client -t token -b 65536

Threading

Use multiple threads for concurrent processing:

bash
linksocks client -t token -T 8

Fast Open

Enable fast open for lower latency (saves one RTT):

bash
linksocks server -f
linksocks client -t token -f

Released under the MIT License.