MEEK-CLIENT(1)
π MEEK-CLIENT(1) π
okay bestie, buckle up β this is the manual page for meek-client, and we're gonna get through every single detail together, no cap. π«Ά
πΈ NAME πΈ
meek-client β the meek client transport plugin. literally iconic behavior. β¨
β¨ SYNOPSIS β¨
meek-client [OPTIONS]
π¦ DESCRIPTION π¦
okay so 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. very main character energy, tbh. π
π§ CONFIGURATION π§
configuration for meek-client usually happens in a torrc file. yes bestie, that's the vibe. π
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 ameek-serverinstance. the domain name component will typically be hidden by the value in thefrontarg.front=DOMAINβ front domain name. if provided, this domain name will replace the domain name ofurlin the DNS request and TLS SNI field. the URL's true domain name will still appear in theHostheader of HTTP requests.utls=CLIENTHELLOIDβ use the uTLS library with the named TLS fingerprint for TLS camouflage. this arg is incompatible with the--helpercommand line option. the possible values ofCLIENTHELLOIDare:HelloRandomizedALPNHelloRandomizedNoALPNHelloFirefox_55HelloFirefox_56HelloFirefox_63HelloFirefox_65HelloFirefox_99HelloFirefox_102HelloFirefox_105HelloFirefox_Auto = HelloFirefox_105HelloChrome_58HelloChrome_62HelloChrome_70HelloChrome_72HelloChrome_83HelloChrome_87HelloChrome_96HelloChrome_100HelloChrome_102HelloChrome_Auto = HelloChrome_102HelloIOS_11_1HelloIOS_12_1HelloIOS_13HelloIOS_14HelloIOS_Auto = HelloIOS_14HelloEdge_85HelloEdge_Auto = HelloEdge_85HelloSafari_16_0HelloSafari_Auto = HelloSafari_16_0Hello360_7_5Hello360_Auto = Hello360_7_5HelloQQ_11_1HelloQQ_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. periodt. π
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. okay? okay. π
π OPTIONS π
--front=DOMAINβ front domain name. prefer using thefrontSOCKS 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 theHTTPSProxy,Socks4Proxy, orSocks5Proxyoptions in atorrcfile.--log=FILENAMEβ name of a file to write log messages to (defaultstderr).--url=URLβ URL to correspond with. prefer using theurlSOCKS 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 theutlsSOCKS arg over using this command line option.-h,--helpβ display a help message and exit. slay. π
π₯ SEE ALSO π₯
https://trac.torproject.org/projects/tor/wiki/doc/meek β go read, bestie. ππ
π BUGS π
please report at https://trac.torproject.org/projects/tor. not me having to tell you where to file bugs, but here we are. π
xoxo, your terminal bestie π«Ά β manual MEEK-CLIENT(1), dated 10/20/2022 πβ¨
π¦ where this page comes from
- alpine 3.24: meek-doc 0.38.0-r25 Β· CC0-1.0
- arch rolling: meek 0.38.0-3 Β· CC0-1.0
- nixos 26.05: meek 0.38.0
- nixpkgs unstable: meek 0.38.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms