Browsing

A proxy you control.

Three ways to browse: the hosted RedProxy, the Infrared UBG site, or the reference deployment on your own edge. RedProxy uses a Bare relay on Cloudflare; Redline uses Epoxy over WISP on a host you control.

Browsing services

Hosted and self-hosted options, maintained by RedWire.

Hosted

  • RedProxy
    The hosted browsing proxy. Ultraviolet rewrites the page, a Cloudflare Worker speaks Bare v3 for HTTP and WebSockets, and there is no account.
    Live [Open]

UBG

  • Infrared
    The UBG site. An experimental proxy with a game library, app shortcuts, tab cloaking and ad-free deployment.

Self-hosted

  • Redline
    The reference UBG deployment: static shell, Ultraviolet service worker, BareMux transport, Epoxy over WISP and a Node relay. One command.
Request path

What happens
when you browse.

Redline keeps the stack small and inspectable. Every layer has one job and can be replaced.

  • ShellThe page registers a service worker at /service/.
  • RewriteUltraviolet fetches and rewrites HTML, CSS and JavaScript in your origin.
  • TransportBareMux hands the request to Epoxy, which opens an encrypted stream over WISP.
  • RelayThe Node relay opens the upstream TCP connection and pipes bytes back.
bash — deploy redline
$ git clone https://github.com/RRedwire/red-wire
$ cd red-wire/services/redline
$ npm install
$ npm start

> redline listening on :8080
> wisp relay at /wisp/
# open http://localhost:8080

Hosting notes

HTTPS is required. Service workers only register on secure origins. Use HTTPS in production, or localhost for development.
RedProxy runs on a Worker. Cloudflare blocks outbound TCP to ports 80 and 443, so RedProxy uses a Bare relay over fetch() instead of WISP.
The relay needs WebSockets. Cloudflare Pages can host the static shell but not a WISP relay. Run Redline on a container host with WebSocket support.
No upstream dependency. Redline serves every byte itself. The only external dependency is the site you choose to visit.