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
Install a recent Go toolchain and run:
go build
This will create an executable powerbox-http-proxy
.
To use powerbox-http-proxy
with your application, you need to do the
following:
<script>
tag to your pages which includes
powerbox-http-proxy.js
(from the root of this repository)./_sandstorm/websocket
to be served by the
daemon; see below.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:
location /_sandstorm/websocket {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
CA_CERT_PATH
is the path to which the daemon should write its root
certificate. Configure your application to trust the cert written
to this location.
DB_TYPE
: The type of the database to use. Supported values are:
mysql
for MySQL/MariaDBsqlite3
for SQLite.DB_URI
: The location of a mysql database in which to store the
daemon's private data. The format depends on the value of DB_TYPE.