~emersion/tlstunnel

Add support for ALPN

Closes: https://todo.sr.ht/~emersion/tlstunnel/11
Revert "readme: fix issue tracker link"

This reverts commit 30dc7be08e8afa7a33da3a8228377755ae96d34a.

This commit contains WIP changes committed by mistake.
Fix Unix socket backend config
readme: fix issue tracker link
readme: add contributing section
Add support for TLS backends

Closes: https://todo.sr.ht/~emersion/tlstunnel/6
Update to go-proxyproto v0.3.0
Move ACME logger setup to cmd/tlstunnel

This will allow us to customize the logger options depending on CLI
flags.
Enable certmagic logging
Drop TODO regarding ACME HTTP challenges
Add "tls load" frontend directive
Switch to scfg

And we get nested blocks for free.
Set PROXY protocol PP2_TYPE_SSL
Set PROXY protocol PP2_TYPE_AUTHORITY TLV
Use upstream proxyproto.HeaderProxyFromAddrs
Add the "tls.email" directive

To receive expiration warnings from Let's Encrypt.
man: fix acme_ca directive name

Fixes: e2f4dddfefbc ("Change `tls ca` to `tls acme_ca`")
man: add a "files" section
Update certmagic to fix ALPN protocols

A recent certmagic commit [1] removes the assumption that tlstunnel will
proxy HTTP 1.1 and 2 traffic.

[1]: https://github.com/caddyserver/certmagic/commit/3e4c11b75f17b664798de9d2a6e5ca76bbcbaf45
build: fix quoting typo

Quoting after the equal sign isn't recognized by the Go toolchain
somehow...
Add support for wildcard server names in frontend directives

This adds support for matching incoming TLS connections to the
corresponding frontend when the frontend has a wildcard server name.

This does not add support for generating wildcard certificates from
Let's Encrypt, which requires DNS challenges.
Next