antanst 4456308d48 Replace environment variable config with CLI flag configuration
- Migrate from environment variables to CLI flags for configuration
- Add support for --listen, --root-path, --dir-indexing, --log-level, --response-timeout flags
- Remove config validation error struct as it's no longer needed
- Update .gitignore to exclude /dist directory
- Simplify configuration loading with flag.Parse()
2025-05-26 13:27:44 +03:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-03 13:12:54 +02:00
2025-02-26 10:28:37 +02:00
2025-02-03 13:21:22 +02:00

  __ _  ___ _ __ ___  ___  ___ _ ____   _____ 
 / _` |/ _ | '_ ` _ \/ __|/ _ | '__\ \ / / _ \
| (_| |  __| | | | | \__ |  __| |   \ 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:

LOG_LEVEL=info \
PANIC_ON_UNEXPECTED_ERROR=true \
RESPONSE_TIMEOUT=10 \ #seconds
ROOT_PATH=./srv \
DIR_INDEXING_ENABLED=false \
./gemserve 0.0.0.0:1965

You'll need TLS keys, you can use certs/generate.sh for quick generation.

TODO

  • Make TLS keys path configurable via venv
  • Fix slowloris (proper response timeouts)
Description
A simple Gemini server written in Go.
Readme ISC 180 KiB
Languages
Go 96.4%
Makefile 1.6%
Shell 1.3%
Dockerfile 0.7%