twins-upstream/README.md
2021-04-07 20:53:11 -07:00

53 lines
1.7 KiB
Markdown

# twins
[![Donate](https://img.shields.io/liberapay/receives/rocketnine.space.svg?logo=liberapay)](https://liberapay.com/rocketnine.space)
[Gemini](https://gemini.circumlunar.space) 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](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](https://en.wikipedia.org/wiki/FastCGI)
- Serve Gemini content via HTTPS
- Pages are converted automatically by [gmitohtml](https://code.rocketnine.space/tslocum/gmitohtml)
- Reload configuration on `SIGHUP`
## Proposals
twins includes features that are not yet part of the Gemini specification. See [PROPOSALS.md](https://code.rocketnine.space/tslocum/twins/src/branch/master/PROPOSALS.md)
## Download
twins is written in [Go](https://golang.org). Run the following command to
download and build twins from source.
```bash
go get code.rocketnine.space/tslocum/twins
```
The resulting binary is available as `~/go/bin/twins`.
## Configure
See [CONFIGURATION.md](https://code.rocketnine.space/tslocum/twins/src/branch/master/CONFIGURATION.md)
## Support
Please share issues and suggestions [here](https://code.rocketnine.space/tslocum/twins/issues).
## Dependencies
- [filetype](https://github.com/h2non/filetype) - MIME type detection
- [gofast](https://github.com/yookoala/gofast) - FastCGI client
- [go-shellquote](https://github.com/kballard/go-shellquote) - Shell string quoting
- [yaml](https://github.com/go-yaml/yaml/tree/v3) - Configuration parsing