e3aee14034
Signed-off-by: kim (grufwub) <grufwub@gmail.com> Former-commit-id: ba526b1ea747c4af12cde9413834ca843669720c |
3 years ago | |
---|---|---|
build | 3 years ago | |
cmd | 4 years ago | |
core | 3 years ago | |
docs | 3 years ago | |
gemini | 3 years ago | |
gopher | 3 years ago | |
.gitignore | 4 years ago | |
LICENSE.md | 4 years ago | |
README.md | 3 years ago | |
build.sh | 4 years ago | |
generate_cert.sh | 4 years ago | |
go.mod | 4 years ago | |
go.sum | 4 years ago |
README.md
Gophi
A server with Gopher & Gemini protocol support in GoLang!
Unix (like) OSes only. Cross-compiled to way too many architectures. Build-script now much improved, but still not pretty...
I 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/
Binary releases in build/
Features
-
Built with security, concurrency and efficiency in mind
-
LRU file caching with user-controlled cache size, max cached file size, refresh frequency and max file age before being marked as stale
-
Buffer pools to minimize allocations
-
CGI/1.1 support
-
URL encoding with query support
-
Path access restrictions with regex (see usage)
-
Request remapping with regex (see usage)
-
User server spaces (see usage)
-
Separate system and access logging
-
Chroot and privilege dropping support (see extra notes for more information)
-
Only 1 external dependency,
go-toml
brought in by my owngo-config
library
Further Docs
Future plans
-
improve the build scripts...
-
gemini vhosts
-
chroot setup script
-
Gemini enforce TLS client validity / certificate zones
-
SCGI