Command-Line Client

The crproxy command line client allows you to serve web content from your local machine on a public address.

Commands

The crproxy command currently supports two commands: share and proxy.

share

The share command serves files from a local directory via a public web server.

proxy

The proxy command forwards incoming http requests from a public web server to a specified server.

proxy-tcp

The proxy-tcp command forwards incoming TCP requests from a public server to a specified server and port.

Command Line Arguments

api-key (Required)

The api-key value is used to authenticate the crproxy client with CRProxy servers.

You can manage API keys for your account in the web interface by clicking on the API Keys menu item.

This value may be specified in the configuration file.

proxy-server (Required)

The proxy-server value specifies the host name of public CRProxy servers that will accept traffic on your behalf. In general a single proxy-server host name will map to multiple physical servers.

Possible values for proxy-server can be found in the web interface by clicking on the Proxy Servers menu item.

This value may be specified in the configuration file.

sub-domain

You may specify the sub-domain usedb by CRProxy servers to serve your content. The sub-domain provided must begin with your account ID followed by a hyphen. For example if your account ID is 123, then you could specify a subdomain with the argument -sub-domain 123-webhooks.

The sub-domain and hostname arguments are mutually exclusive.

If you don't specify a sub-domain, a random sub-domain will be generated for you.

hostname

You may specify the hostname use by CRProxy servers to serve your content. You must properly configure your DNS settings in order to use a custom hostname.

The sub-domain and hostname arguments are mutually exclusive.

port

The port argument is used with the proxy-tcp command to specifiy the reserved port to listen on on the proxy-server.

rewrite-host-header

By default, the request host header will be re-written to the publicly accessible hostname used by the incoming request before being proxied. To disable this behavior, specify -rewrite-host-header=false.

basic-auth-user

If specified, the given basic-auth user will be required to access your content.

basic-auth-pwd

If specified, the given basic-auth password will be required to access your content.

clobber

If set, other clients using the same hostname or port will be disconnected when you make a new connection.

log

By default, requests are logged to the console. To disable this behavior, specify -log=false.

log-pretty

By default, log entries are printed over multiple lines with indentation. To disable this behavior, specify -log-pretty=false.

mux-stream-recv-buf-kb

Specify the recieve-buffer size for incoming multiplexed connections. Each incoming connection will consume the amount of memory specified for buffering incoming data.

Larger buffer sizes may be useful to maintain throughput on higher latency connections.

config-file

Specify a path to a configuration file. The default is $HOME/.crproxy.