Documentation
¶
Overview ¶
chasquid is an SMTP (email) server, with a focus on simplicity, security, and ease of operation.
See https://blitiri.com.ar/p/chasquid for more details.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
chasquid-util
command
|
|
|
dovecot-auth-cli
command
|
|
|
mda-lmtp
command
|
|
|
smtp-check
command
|
|
|
internal
|
|
|
aliases
Package aliases implements an email aliases resolver.
|
Package aliases implements an email aliases resolver. |
|
auth
Package auth implements authentication services for chasquid.
|
Package auth implements authentication services for chasquid. |
|
config
Package config implements the chasquid configuration.
|
Package config implements the chasquid configuration. |
|
courier
Package courier implements various couriers for delivering messages.
|
Package courier implements various couriers for delivering messages. |
|
domaininfo
Package domaininfo implements a domain information database, to keep track of things we know about a particular domain.
|
Package domaininfo implements a domain information database, to keep track of things we know about a particular domain. |
|
dovecot
Package dovecot implements functions to interact with Dovecot's authentication service.
|
Package dovecot implements functions to interact with Dovecot's authentication service. |
|
envelope
Package envelope implements functions related to handling email envelopes (basically tuples of (from, to, data).
|
Package envelope implements functions related to handling email envelopes (basically tuples of (from, to, data). |
|
expvarom
Package expvarom implements an OpenMetrics HTTP exporter for the variables from the expvar package.
|
Package expvarom implements an OpenMetrics HTTP exporter for the variables from the expvar package. |
|
haproxy
Package haproxy implements the handshake for the HAProxy client protocol version 1, as described in https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.
|
Package haproxy implements the handshake for the HAProxy client protocol version 1, as described in https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. |
|
localrpc
Local RPC package.
|
Local RPC package. |
|
maillog
Package maillog implements a log specifically for email.
|
Package maillog implements a log specifically for email. |
|
nettrace
Package nettrace implements tracing of requests.
|
Package nettrace implements tracing of requests. |
|
normalize
Package normalize contains functions to normalize usernames, domains and addresses.
|
Package normalize contains functions to normalize usernames, domains and addresses. |
|
protoio
Package protoio contains I/O functions for protocol buffers.
|
Package protoio contains I/O functions for protocol buffers. |
|
queue
Package queue implements our email queue.
|
Package queue implements our email queue. |
|
safeio
Package safeio implements convenient I/O routines that provide additional levels of safety in the presence of unexpected failures.
|
Package safeio implements convenient I/O routines that provide additional levels of safety in the presence of unexpected failures. |
|
set
Package set implement sets for various types.
|
Package set implement sets for various types. |
|
smtp
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
|
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321. |
|
smtpsrv
Package smtpsrv implements chasquid's SMTP server and connection handler.
|
Package smtpsrv implements chasquid's SMTP server and connection handler. |
|
sts
Package sts implements the MTA-STS (Strict Transport Security), RFC 8461.
|
Package sts implements the MTA-STS (Strict Transport Security), RFC 8461. |
|
testlib
Package testlib provides common test utilities.
|
Package testlib provides common test utilities. |
|
tlsconst
Package tlsconst contains TLS constants for human consumption.
|
Package tlsconst contains TLS constants for human consumption. |
|
trace
Package trace extends nettrace with logging.
|
Package trace extends nettrace with logging. |
|
userdb
Package userdb implements a simple user database.
|
Package userdb implements a simple user database. |
|
test
|
|
|
util/conngen
command
SMTP connection generator, for testing purposes.
|
SMTP connection generator, for testing purposes. |
|
util/coverhtml
command
Generate an HTML visualization of a Go coverage profile.
|
Generate an HTML visualization of a Go coverage profile. |
|
util/fexp
command
Fetch an URL, and check if the response matches what we expect.
|
Fetch an URL, and check if the response matches what we expect. |
|
util/generate_cert
command
Utility to generate self-signed certificates.
|
Utility to generate self-signed certificates. |
|
util/loadgen
command
SMTP load generator, for testing purposes.
|
SMTP load generator, for testing purposes. |
|
util/minidns
command
minidns is a trivial DNS server used for testing.
|
minidns is a trivial DNS server used for testing. |
|
util/smtpc
command
|
Click to show internal directories.
Click to hide internal directories.