2ead66f0121ef25985b44ad23e051a09973f6726
- Move gemini URL parsing from common/ to gemini/ package - Add structured status codes in gemini/status_codes.go - Improve error handling with proper Gemini status codes - Update configuration field naming (Listen -> ListenAddr) - Add UTF-8 validation for URLs - Enhance security with better path validation - Add CLAUDE.md for development guidance - Include example content in srv/ directory - Update build system to use standard shell
__ _ ___ _ __ ___ ___ ___ _ ____ _____
/ _` |/ _ | '_ ` _ \/ __|/ _ | '__\ \ / / _ \
| (_| | __| | | | | \__ | __| | \ V | __/
\__, |\___|_| |_| |_|___/\___|_| \_/ \___|
|___/
Gemserve is a simple Gemini server written in Go.
Run tests and build:
make test #run tests only
make #run tests and build
Run:
./dist/gemserve
You'll need TLS keys, you can use certs/generate.sh
for quick generation.
TODO
- Make TLS keys path configurable
- Fix slowloris (proper response timeouts)
Languages
Go
96.4%
Makefile
1.6%
Shell
1.3%
Dockerfile
0.7%