powerbox-http-proxy is a daemon that is sometimes helpful for
porting legacy applications that want HTTP access to Sandstorm. It
acts as an HTTP proxy, and makes powerbox requests on-demand for domains
that the legacy application tries to access. It is used by the Tiny
Tiny RSS Port
Building
Install a recent Go toolchain and run:
go build
This will create an executable powerbox-http-proxy.
Configuration
To use powerbox-http-proxy with your application, you need to do the
following:
Build the daemon, per the above instructions.
Add a <script> tag to your pages which includes
powerbox-http-proxy.js (from the root of this repository).
Arrange for the url /_sandstorm/websocket to be served by the
daemon; see below.
Arrange for your application to trust a root TLS cert generated by
the daemon; this is necessary to proxy HTTPS requests.
The daemon is mainly configured through environment variables:
POWERBOX_PROXY_PORT specifies the port that the daemon should listen
on for proxy requests; you should configure your application to use
http://localhost:$POWERBOX_PROXY_PORT as its proxy for both http
and https. Many applications will observe the variables http_proxy
and https_proxy, so you can often make this happen by just defining
those variables.
POWERBOX_WEBSOCKET_PORT specifies the port to listen on for connections
from the JavaScript helper. You will want to configure your web server
to point requests to /_sandstorm/websocket to this port. For example,
for nginx, assuming POWERBOX_WEBSOCKET_PORT is 3000, you can use: