mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 08:23:48 +03:00
6706c5c84a
- serve static files, serving index.html or optionally listings for directories - redirects - reverse-proxy, forwarding requests to a backend these are configurable through the config file. a domain and path regexp have to be configured. path prefixes can be stripped. configured domains are added to the autotls allowlist, so acme automatically fetches certificates for them. all webserver requests now have (access) logging, metrics, rate limiting. on http errors, the error message prints an encrypted cid for relating with log files. this also adds a new mechanism for example config files.
88 lines
1.8 KiB
Bash
Executable file
88 lines
1.8 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
(
|
|
cat <<EOF
|
|
/*
|
|
Command mox is a modern full-featured open source secure mail server for
|
|
low-maintenance self-hosted email.
|
|
|
|
- Quick and easy to set up with quickstart and automatic TLS with ACME and
|
|
Let's Encrypt.
|
|
- IMAP4 with extensions for accessing email.
|
|
- SMTP with SPF, DKIM, DMARC, DNSBL, MTA-STS, TLSRPT for exchanging email.
|
|
- Reputation-based and content-based spam filtering.
|
|
- Internationalized email.
|
|
- Admin web interface.
|
|
|
|
# Commands
|
|
|
|
EOF
|
|
|
|
./mox 2>&1 | sed 's/^\( *\|usage: \)/\t/'
|
|
|
|
cat <<EOF
|
|
|
|
Many commands talk to a running mox instance, through the ctl file in the data
|
|
directory. Specify the configuration file (that holds the path to the data
|
|
directory) through the -config flag or MOXCONF environment variable.
|
|
|
|
EOF
|
|
|
|
./mox helpall 2>&1
|
|
|
|
cat <<EOF
|
|
*/
|
|
package main
|
|
|
|
// NOTE: DO NOT EDIT, this file is generated by gendoc.sh.
|
|
EOF
|
|
)>doc.go
|
|
gofmt -w doc.go
|
|
|
|
(
|
|
cat <<EOF
|
|
/*
|
|
Package config holds the configuration file definitions for mox.conf (Static)
|
|
and domains.conf (Dynamic).
|
|
|
|
Annotated empty/default configuration files you could use as a starting point
|
|
for your mox.conf and domains.conf, as generated by "mox config
|
|
describe-static" and "mox config describe-domains":
|
|
|
|
# mox.conf
|
|
|
|
EOF
|
|
./mox config describe-static | sed 's/^/\t/'
|
|
|
|
cat <<EOF
|
|
|
|
# domains.conf
|
|
|
|
EOF
|
|
./mox config describe-domains | sed 's/^/\t/'
|
|
|
|
cat <<EOF
|
|
|
|
# Examples
|
|
|
|
Mox includes configuration files to illustrate common setups. You can see these
|
|
examples with "mox examples", and print a specific example with "mox examples
|
|
<name>". Below are all examples included in mox.
|
|
|
|
EOF
|
|
|
|
for ex in $(./mox examples); do
|
|
echo '# Example '$ex
|
|
echo
|
|
./mox examples $ex | sed 's/^/\t/'
|
|
echo
|
|
done
|
|
|
|
cat <<EOF
|
|
*/
|
|
package config
|
|
|
|
// NOTE: DO NOT EDIT, this file is generated by ../gendoc.sh.
|
|
EOF
|
|
)>config/doc.go
|
|
gofmt -w config/doc.go
|