Home

Awesome

Loxy

L(unar) (Pr)oxy

A HTTP proxy frontend for the gemini protocol.

Overview

Loxy serves a website that proxies incoming requests to a preconfigured gemini capsule. Gemtext is transformed into HTML.

Loxy supports injecting CSS stylesheets, JavaScript, and <head> contents. By setting a content root directory, static files may be served.

Links

Links to external capsules are transformed into Loxy links. For example:

If Loxy is passed -u geminiprotocol.net then

If Loxy is served from behind a reverse proxy such as NGINX or HAProxy, then external proxying can be disabled by restricting access to the /lxy/external route prefix. This can be helpful for preventing abuse of the proxy by bad actors.

Usage

Execute the 'loxy' binary to start the service.

./loxy --remote=gemini.circumlunar.space

Executing the binary without specifying a remote URI argument will result in this overview page being shown in response to web requests. Various command-line arguments can be used to configure the proxy, and are described below.

Docker-compose

Modify the build arguments in docker-compose.yml, and run docker compose up -d to start a new container.

Configuration

The following are the typical command-line arguments that you'll use to configure Loxy. Note that becuase Loxy is built upon the ASP.NET Core framework, there are many more options for configuration than those shown here. See documentation [here].

Command-line Arguments