MEEK-CLIENT(1) MEEK-CLIENT(1) NAME meek-client - The meek client transport plugin SYNOPSIS meek-client [OPTIONS] DESCRIPTION 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 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 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. utls=CLIENTHELLOID 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: o HelloRandomizedALPN o HelloRandomizedNoALPN o HelloFirefox_55 o HelloFirefox_56 o HelloFirefox_63 o HelloFirefox_65 o HelloFirefox_99 o HelloFirefox_102 o HelloFirefox_105 o HelloFirefox_Auto = HelloFirefox_105 o HelloChrome_58 o HelloChrome_62 o HelloChrome_70 o HelloChrome_72 o HelloChrome_83 o HelloChrome_87 o HelloChrome_96 o HelloChrome_100 o HelloChrome_102 o HelloChrome_Auto = HelloChrome_102 o HelloIOS_11_1 o HelloIOS_12_1 o HelloIOS_13 o HelloIOS_14 o HelloIOS_Auto = HelloIOS_14 o HelloEdge_85 o HelloEdge_Auto = HelloEdge_85 o HelloSafari_16_0 o HelloSafari_Auto = HelloSafari_16_0 o Hello360_7_5 o Hello360_Auto = Hello360_7_5 o HelloQQ_11_1 o 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 0.0.2.0:1 url=https://forbidden.example/ front=allowed.example ClientTransportPlugin meek exec ./meek-client is the same as this one using command line options: Bridge meek 0.0.2.0:1 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. OPTIONS --front=DOMAIN Front domain name. Prefer using the front SOCKS arg on a bridge line over using this command line option. --helper=ADDRESS Address of HTTP helper browser extension. For example, --helper=127.0.0.1:7000. --proxy=URL 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. --log=FILENAME Name of a file to write log messages to (default stderr). --url=URL URL to correspond with. Prefer using the url SOCKS arg on a bridge line over using this command line option. --utls=CLIENTHELLOID 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. SEE ALSO https://trac.torproject.org/projects/tor/wiki/doc/meek BUGS Please report at https://trac.torproject.org/projects/tor. 10/20/2022 MEEK-CLIENT(1)