Sign inSign up

fuwn/september

By fuwn

•Updated 6 days ago

♻ A simple and efficient Gemini-to-HTTP proxy written in Rust.

Image
0

10K+

fuwn/september repository overview

⁠September

github.com

A simple and efficient Gemini-to-HTTP proxy written in Rust.

⁠Usage

⁠Docker
$ docker run -d [ -e ROOT="gemini://fuwn.me" ] [ -e PORT="8080"] [ -e CSS_EXTERNAL="https://example.com/style.css"] fuwn/september:latest
⁠Docker Compose

Edit the docker-compose.yaml file to your liking, and then

$ docker-compose up -d
⁠Executable
$ [ ROOT="gemini://fuwn.me" ] [ PORT="8080"] [ CSS_EXTERNAL="https://example.com/style.css"] ./september

or use a .env file

# .env

ROOT=gemini://fuwn.me
PORT=8080
CSS_EXTERNAL=https://example.com/style.css

and then

$ ./september

⁠Configuration

Configuration for September is done solely via environment variables, for simplicity, and Docker support.

⁠PORT

Bind September to a custom port.

Generally, you shouldn't touch this if you are deploying using Docker.

If no PORT is provided or the PORT could not be properly parsed as a u16; port 80 will be assumed.

PORT=8080
⁠ROOT

The root Gemini capsule to proxy when not visiting a "/proxy" route.

If no ROOT is provided, "gemini://fuwn.me" will be assumed.

ROOT=gemini://fuwn.me
⁠CSS_EXTERNAL

An external CSS file to apply to the HTML response.

If no CSS_EXTERNAL is provided, there will be no styling done to the HTML response.

CSS_EXTERNAL=https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.1/mini-default.min.css
⁠KEEP_GEMINI_EXACT

Keeps exactly matching URLs as a Gemini URL.

⁠Examples

If KEEP_GEMINI_EXACT is equal to KEEP_GEMINI_EXACT=gemini://fuwn.me/gemini, all routes will be proxied their "/proxy" equivalent (e.g., "https://fuwn.me/proxy/fuwn.me/gopher⁠"), except occurrences of "gemini://fuwn.me/skills" will be kept as is.

KEEP_GEMINI_EXACT=gemini://fuwn.me/skills
⁠KEEP_GEMINI_DOMAIN

Similar to KEEP_GEMINI_EXACT, except proxies based on entire domains instead of exact matches.

KEEP_GEMINI_DOMAIN=fuwn.me
⁠PROXY_BY_DEFAULT

Control weather or not all Gemini URLs will be proxied.

Similar to KEEP_GEMINI_EXACT and KEEP_GEMINI_DOMAIN but global.

Defaults to true.

PROXY_BY_DEFAULT=false

⁠Capsules using September

Add yours!⁠

⁠License

This project is licensed with the GNU General Public License v3.0⁠.

Tag summary

Content type

Image

Digest

sha256:a074b17c2…

Size

2.9 MB

Last updated

6 days ago

docker pull fuwn/september