A Gopher proxy for HTTP access to individual Gopher holes.
Gaufre is a Gopher proxy application written in Ruby and using the Ruby on Rails framework. It is designed to be deployed by owners of individual Gopher holes who want to provide access via HTTP without running a separate site or an open proxy.
If you're looking for an open Gopher proxy, try Gopher Proxy or the Floodgap Public Gopher Proxy.
If you want to host the same content simultaneously over HTTP and Gopher using a single app, try PyGopherd.
Ensure Ruby 3.2.1 is installed. Then, from the app directory, run:
cp .env.example .env
bundle install
bundle exec rails s
Remember to edit your new .env
file to set the hostname of your Gopher hole.
The recommended method of running in production is using Docker. Dockerfile
and docker-compose.yml
files are provided as samples that can be customised
to your preferred configuration.
You may want to customise the puma configuration depending on traffic levels. This is left as an exercise for the reader.
It is recommended that you run Gaufre behind a reverse proxy such as nginx to provide traffic management, TLS termination etc.
GOPHER_HOST
: the hostname of the Gopher hole to proxy (required)GOPHER_PORT
: the port of the Gopher hole to proxy (optional; default: 70)GOPHER_PATH
: the path of the Gopher hole to proxy (optional; use this if your Gopher hole is located on a shared server inside a user directory, for example)INLINE_IMAGES
: whether to display images in the proxy (optional; default:false
, in which case they will be offered for download)TITLE
: the name of your instance of the Gopher proxy, which will be shown in page titles and the top navigation bar (optional)
bundle exec rspec
Some specs related to Gopher requests is pending a good way of mocking such requests.
Please open an issue on the GitHub repository for any bugs.
All contributions are welcome. Feel free to fork the original GitHub repository, make your changes and then open a Pull Request against the original GitHub repository. Alternatively, if you're not comfortable writing code, please open an issue.
Icons are from https://www.apache.org/icons/.