You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
kim (grufwub) 54e135666d update todo list
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
4 years ago
.github Create FUNDING.yml 4 years ago
core undo separate variable declarations, CGI stderr = nil, formatting changes 4 years ago
docs improve CGI docs 4 years ago
gopher undo separate variable declarations, CGI stderr = nil, formatting changes 4 years ago
.gitignore update gitignore with new build directory scheme 4 years ago
LICENSE.md move LICENSE to LICENSE.md 4 years ago
README.md fix doc linking to not use URLs 4 years ago
SCRAP.txt update todo list 4 years ago
build-all-gopher.sh version bump + change build script version checker 4 years ago
build-gopher.sh gophor rewrite 4 years ago
go.mod add go module file 4 years ago
main_gopher.go gophor rewrite 4 years ago

README.md

Gophor

A server written in GoLang, with 2 separately supported protocols:

  • A gopher server, compiled with build-all-gopher.sh

  • A gemini server, (not yet implemented)

Unix (like) OSes only. Cross-compiled to way too many architectures. Build-script now much improved, but still not pretty...

I'm unemployed and work on open-source projects like this and many others for free. If you would like to help support my work that would be hugely appreciated 💕 https://liberapay.com/grufwub/

WARNING: the development branch is filled with lava, fear and capitalism.

Features

  • Built with security, concurrency and efficiency in mind

  • ZERO external dependencies

  • LRU file caching with user-controlled cache size, max cached file size and cache refresh frequency

  • CGI/1.1 support

  • URL encoding with query support

  • Path access restrictions with regex (see usage)

  • Request remapping with regex (see usage)

  • Separate system and access logging

Further Docs

Usage

CGI compliance

Gopher specific information

Extra notes