meek-client - The meek client transport plugin



meek-client − The meek client transport plugin


meek−client [OPTIONS]


meek−client is a transport plugin for Tor that encodes a stream as a sequence of HTTP requests and responses. It has a url option to control what destination server requests are directed to, and a front option for domain name camouflage: The domain name in the URL is replaced by the front domain before the request is made, but the Host header inside the HTTP request still points to the original domain. The idea is to front through a domain that is not blocked to a domain that is blocked.


Configuration for meek−client usually happens in a torrc file.

Per−bridge options are configured with SOCKS args (key=value pairs in a Bridge line). The possible SOCKS args are:

url=URL (required)

The URL of a meek−server instance. The domain name component will typically be hidden by the value in the front arg.


Front domain name. If provided, this domain name will replace the domain name of url in the DNS request and TLS SNI field. The URL’s true domain name will still appear in the Host header of HTTP requests.


Use the uTLS library with the named TLS fingerprint for TLS camouflage. This arg is incompatible with the −−helper command line option. The possible values of CLIENTHELLOID are:

• HelloRandomizedALPN

• HelloRandomizedNoALPN

• HelloFirefox_55

• HelloFirefox_56

• HelloFirefox_63

• HelloFirefox_65

• HelloFirefox_99

• HelloFirefox_102

• HelloFirefox_105

• HelloFirefox_Auto = HelloFirefox_105

• HelloChrome_58

• HelloChrome_62

• HelloChrome_70

• HelloChrome_72

• HelloChrome_83

• HelloChrome_87

• HelloChrome_96

• HelloChrome_100

• HelloChrome_102

• HelloChrome_Auto = HelloChrome_102

• HelloIOS_11_1

• HelloIOS_12_1

• HelloIOS_13

• HelloIOS_14

• HelloIOS_Auto = HelloIOS_14

• HelloEdge_85

• HelloEdge_Auto = HelloEdge_85

• HelloSafari_16_0

• HelloSafari_Auto = HelloSafari_16_0

• Hello360_7_5

• Hello360_Auto = Hello360_7_5

• HelloQQ_11_1

• HelloQQ_Auto = HelloQQ_11_1

As a special case, the values "none" and "HelloGolang" are recognized as aliases for omitting the utls SOCKS arg; i.e., use native Go TLS.

For backward compatibility, each SOCKS arg also has an equivalent command line option. For example, this configuration using SOCKS args:

Bridge meek url=https://forbidden.example/ front=allowed.example
ClientTransportPlugin meek exec ./meek−client

is the same as this one using command line options:

Bridge meek
ClientTransportPlugin meek exec ./meek−client −−url=https://forbidden.example/ −−front=allowed.example

SOCKS args are preferred over command line options because they allow you to have multiple Bridge lines with different settings. If a SOCKS arg and a command line option are both given for the same setting, the SOCKS arg takes precedence.

The global −−helper option prevents meek−client from doing any network operations itself. Rather, it will send all requests through a browser extension, which must be set up separately.

A global proxy (applies to all Bridge lines) can be configured using special torrc options:

Socks4Proxy localhost:1080
Socks5Proxy localhost:1080
Socks5ProxyUsername username
Socks5ProxyPassword password
HTTPSProxy localhost:8080
HTTPSProxyAuthenticator username:password

or, equivalently, using the −−proxy command line option. The command line option takes precedence.

When the −−helper option is used, you can use proxies of type http, socks4a, or socks5, but you cannot use a username or password with the proxy. Without −−helper, you can use proxies of type http, https, or socks5, and you can optionally use a username and password.



Front domain name. Prefer using the front SOCKS arg on a bridge line over using this command line option.


Address of HTTP helper browser extension. For example, −−helper=


URL of upstream proxy. For example, −−proxy=http://localhost:8080/, −−proxy=socks4a://localhost:1080, or −−proxy=socks5://localhost:1080. Can also be configured using the HTTPSProxy, Socks4Proxy, or Socks5Proxy options in a torrc file.


Name of a file to write log messages to (default stderr).


URL to correspond with. Prefer using the url SOCKS arg on a bridge line over using this command line option.


Use uTLS with the given TLS fingerprint for TLS camouflage. This option is incompatible with −−helper. Prefer using the utls SOCKS arg over using this command line option.

−h, −−help

Display a help message and exit.



Please report at

Updated 2024-01-29 - |