2020-10-29 21:35:48 +01:00
# twins
[![Donate ](https://img.shields.io/liberapay/receives/rocketnine.space.svg?logo=liberapay )](https://liberapay.com/rocketnine.space)
[Gemini ](https://gemini.circumlunar.space ) server
2020-10-31 01:29:25 +01:00
**Warning:** The twins configuration format is still under development.
Breaking changes may be made.
2020-11-01 00:49:37 +01:00
This page is also available at [gemini://twins.rocketnine.space ](gemini://twins.rocketnine.space )
2020-10-29 21:35:48 +01:00
## Features
- Serve static files
2020-11-19 17:57:28 +01:00
- Detect content type
- Specify content type for files with matching extension
2020-11-05 21:57:28 +01:00
- List files and directories (when enabled)
2020-10-30 19:19:16 +01:00
- Reverse proxy requests
2020-11-04 21:48:55 +01:00
- TCP
- [FastCGI ](https://en.wikipedia.org/wiki/FastCGI )
2020-12-03 20:12:13 +01:00
- Serve Gemini content via HTTPS
2021-04-08 05:53:11 +02:00
- Pages are converted automatically by [gmitohtml ](https://code.rocketnine.space/tslocum/gmitohtml )
2020-10-31 22:59:44 +01:00
- Reload configuration on `SIGHUP`
2020-10-29 21:35:48 +01:00
2020-11-09 22:59:30 +01:00
## Proposals
2021-04-08 05:53:11 +02:00
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 )
2020-11-09 22:59:30 +01:00
2020-10-29 21:35:48 +01:00
## Download
2020-11-19 17:57:28 +01:00
twins is written in [Go ](https://golang.org ). Run the following command to
download and build twins from source.
2020-10-29 21:35:48 +01:00
```bash
2021-04-08 05:53:11 +02:00
go get code.rocketnine.space/tslocum/twins
2020-10-29 21:35:48 +01:00
```
2020-11-19 17:57:28 +01:00
The resulting binary is available as `~/go/bin/twins` .
2020-10-29 21:35:48 +01:00
## Configure
2021-04-08 05:53:11 +02:00
See [CONFIGURATION.md ](https://code.rocketnine.space/tslocum/twins/src/branch/master/CONFIGURATION.md )
2020-10-29 21:35:48 +01:00
## Support
2021-04-08 05:53:11 +02:00
Please share issues and suggestions [here ](https://code.rocketnine.space/tslocum/twins/issues ).
2020-10-29 21:35:48 +01:00
## Dependencies
2020-11-04 21:48:55 +01:00
- [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