Documentation ¶
Overview ¶
meek-client is the client transport plugin for the meek pluggable transport.
Sample usage in torrc:
Bridge meek 0.0.2.0:1 url=https://meek-reflect.appspot.com/ front=www.google.com ClientTransportPlugin meek exec ./meek-client
The transport ignores the bridge address 0.0.2.0:1 and instead connects to the URL given by --url. When --front is given, the domain in the URL is replaced by the front domain for the purpose of the DNS lookup, TCP connection, and TLS SNI, but the HTTP Host header in the request will be the one in --url. (For example, in the configuration above, the connection will appear on the outside to be going to www.google.com, but it will actually be dispatched to meek-reflect.appspot.com by the Google frontend server.)
Most user configuration can happen either through SOCKS args (i.e., args on a Bridge line) or through command line options. SOCKS args take precedence per-connection over command line options. For example, this configuration using SOCKS args:
Bridge meek 0.0.2.0:1 url=https://meek-reflect.appspot.com/ front=www.google.com 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://meek-reflect.appspot.com/ --front=www.google.com
The command-line configuration interface is for compatibility with tor 0.2.4 and older, which doesn't support parameters on Bridge lines.
The --helper option prevents this program from doing any network operations itself. Rather, it will send all requests through a browser extension that makes HTTP requests.