gopher-web-bridge

A small gateway for Gopher and Gemini clients to read modern websites.

Gateway GPL-3.0 Single Binary Linux Windows macOS

What is gopher-web-bridge?

gopher-web-bridge lets Gemini and Gopher clients browse HTTP/HTTPS websites by fetching a page and converting it into either Gemini gemtext or a Gopher menu.

It aims for Lynx-like readability, but outputs protocol-native text instead of a TTY UI. Links are resolved relative to the final URL after redirects.

Use cases: light browsing on low-power systems, retro clients, private text-only reading, and bridging modern web docs into Gemini/Gopher spaces.

$ gopher-web-bridge -f gemini https://example.com/ => https://example.com/ Example Domain $ gopher-web-bridge -f gopher https://example.com/

Highlights

📦

Single binary

Designed to build as a standalone executable with minimal dependencies.

🔗

Link bridging

Optionally rewrite http(s) links so they point back through your own Gemini or Gopher gateway.

🛡

SSRF hardening

Blocks loopback/private/link-local destinations by default when acting as a public gateway.

CLI quick start

Convert a URL to gemtext or a Gopher menu.

gopher-web-bridge -f gemini https://example.com/
gopher-web-bridge -f gopher https://example.com/

Bridge links through your gateway

gopher-web-bridge -f gemini -bridge-gemini 'gemini://g.example.org/cgi-bin/gwp?' https://example.com/
gopher-web-bridge -f gopher  -bridge-gopher 'gopher://g.example.org:70/1/cgi-bin/gwp' https://example.com/

CGI deployment

Run the same binary as a CGI handler for a Gemini or Gopher server.

# Gopher server CGI
gopher-web-bridge -cgi gopher

# Gemini server CGI
gopher-web-bridge -cgi gemini

See the setup guides and wrapper scripts in the repository for server-specific environment variables and integration patterns.

Download & Source

Setup docs in the repo: Gopher · Gemini