forked from tslocum/twins
Gemini server
Aaron Fischer
bd0555069e
If there is a path (the URL path) specified under paths in the configuration, which points to a root (a physical folder on the filesystem), this path should not be attached to the root. This fix will do that. It strips the path from the root. Example configuration: hosts: localhost: paths: - path: /a root: public/aroot - path: / root: public Filesystem: + public + index.gmi + aroot + index.gmi |
||
---|---|---|
.gitignore | ||
.gitlab-ci.yml | ||
config.go | ||
CONFIGURATION.md | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
PROPOSALS.md | ||
README.md | ||
serve_command.go | ||
serve_fcgi.go | ||
serve_file.go | ||
serve_https.go | ||
serve_proxy.go | ||
server.go | ||
util.go |
twins
Gemini server
Warning: The twins configuration format is still under development. Breaking changes may be made.
This page is also available at gemini://twins.rocketnine.space
Features
- Serve static files
- Detect content type
- Specify content type for files with matching extension
- List files and directories (when enabled)
- Reverse proxy requests
- TCP
- FastCGI
- Serve Gemini content via HTTPS
- Pages are converted automatically by gmitohtml
- Reload configuration on
SIGHUP
Proposals
twins includes features that are not yet part of the Gemini specification. See PROPOSALS.md
Download
twins is written in Go. Run the following command to download and build twins from source.
go get code.rocketnine.space/tslocum/twins
The resulting binary is available as ~/go/bin/twins
.
Configure
See CONFIGURATION.md
Support
Please share issues and suggestions here.
Dependencies
- filetype - MIME type detection
- gofast - FastCGI client
- go-shellquote - Shell string quoting
- yaml - Configuration parsing