No description
Find a file
Ivan Vilata-i-Balaguer 066fe276eb Fix listening on literal IPv6 address
Those contain colons, so splitting by colons would break the address in the
middle.  Instead, use a regular expression to split host and port at the last
colon, if followed by port digits and the end of the string.

Also, document the syntax for listening on literal IPv4 and IPv6 addresses.
2023-05-03 14:22:19 +02:00
.gitignore Initial commit 2020-10-29 13:35:48 -07:00
config.go Fix listening on literal IPv6 address 2023-05-03 14:22:19 +02:00
CONFIGURATION.md Fix listening on literal IPv6 address 2023-05-03 14:22:19 +02:00
go.mod Downgrade dependency yaml to v2 2021-07-22 13:04:42 -07:00
go.sum Downgrade dependency yaml to v2 2021-07-22 13:04:42 -07:00
LICENSE Initial commit 2020-10-29 13:35:48 -07:00
main.go Update StyleSheet implementation 2021-07-10 09:27:52 -07:00
PROPOSALS.md Fix cache attribute parsing 2020-11-09 21:12:22 -08:00
README.md Migrate to code.rocketnine.space 2021-04-07 20:53:11 -07:00
serve_command.go Support logging requests 2020-11-12 10:00:22 -08:00
serve_fcgi.go Update dependencies 2021-03-07 10:58:49 -08:00
serve_file.go Support directory listing via HTTPS 2020-12-03 16:45:20 -08:00
serve_https.go Fix sending custom content types to HTTP clients 2021-07-22 19:49:24 -07:00
serve_proxy.go Support logging requests 2020-11-12 10:00:22 -08:00
server.go Update StyleSheet implementation 2021-07-10 09:27:52 -07:00
util.go Support directory listing 2020-10-30 18:31:13 -07:00

twins

Donate

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
  • 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