mox/mox-
Mechiel Lukkien 96d86ad6f1
add ability to include custom css & js in web interface (webmail, webaccount, webadmin), and use css variables in webmail for easier customization
if files {webmail,webaccount,webadmin}.{css,js} exist in the configdir (where
the mox.conf file lives), their contents are included in the web apps.

the webmail now uses css variables, mostly for colors. so you can write a
custom webmail.css that changes the variables, e.g.:

	:root {
		--color: blue
	}

you can also look at css class names and override their styles.

in the future, we may want to make some css variables configurable in the
per-user settings in the webmail. should reduce the number of variables first.

any custom javascript is loaded first. if it defines a global function
"moxBeforeDisplay", that is called each time a page loads (after
authentication) with the DOM element of the page content as parameter. the
webmail is a single persistent page. this can be used to make some changes to
the DOM, e.g. inserting some elements. we'll have to see how well this works in
practice. perhaps some patterns emerge (e.g. adding a logo), and we can make
those use-cases easier to achieve.

helps partially with issue #114, and based on questions from laura-lilly on
matrix.
2024-11-29 10:17:07 +01:00
..
admin.go admin: in self-check for spf records against our ip's, don't try checking the unspecified addresses (0.0.0.0 and ::), and warn if there are no explicitly configured ips 2024-11-24 12:41:00 +01:00
cid.go add basic webserver that can do most of what i need 2023-02-28 22:19:24 +01:00
config.go disable tls session tickets to workaround deliverability issues with incoming email from microsoft 2024-11-06 10:19:23 +01:00
dir.go mox! 2023-01-30 14:27:06 +01:00
dkimsign.go expose fewer internals in packages, for easier software reuse 2023-12-14 15:39:36 +01:00
doc.go mox! 2023-01-30 14:27:06 +01:00
fill.go add a webapi and webhooks for a simple http/json-based api 2024-04-15 21:49:02 +02:00
forkexec_unix.go log when mox root process cannot forward signals to unprivileged child 2024-11-21 21:59:36 +01:00
forkexec_windows.go fix build for windows 2024-01-01 16:08:50 +01:00
ip.go mox! 2023-01-30 14:27:06 +01:00
lastknown.go include goversion used to compile mox in the mox version 2024-11-28 16:28:05 +01:00
licenses.go add subcommand that prints licenses, and link to licenses from the webadmin/webaccount/webmail interfaces 2024-10-04 09:31:31 +02:00
lifecycle.go switch to slog.Logger for logging, for easier reuse of packages by external software 2023-12-14 13:45:52 +01:00
lifecycle_test.go make tests pass with "go test -count n" with n > 1 2024-06-10 18:18:20 +02:00
limitauth.go change mox to start as root, bind to network sockets, then drop to regular unprivileged mox user 2023-02-27 12:19:55 +01:00
localserve.go add a webapi and webhooks for a simple http/json-based api 2024-04-15 21:49:02 +02:00
lookup.go when opening an account by email address, such as during login attempts, and address is an alias, fail with proper error "no such credentials" instead of with error "no such account", which printing a stack trace 2024-11-10 23:20:17 +01:00
msgid.go fix bug with concurrent math/rand.Rand.Read 2023-11-09 17:17:26 +01:00
rand.go don't expose functions on the prng that aren't mutex-protected 2024-03-07 10:05:35 +01:00
recvid.go mox! 2023-01-30 14:27:06 +01:00
safeheaders.go improve http request handling for internal services and multiple domains 2024-05-11 11:13:14 +02:00
sleep.go mox! 2023-01-30 14:27:06 +01:00
tlsrecv.go replace packages slog and slices from golang.org/x/exp with stdlib 2024-02-08 14:49:01 +01:00
webappfile.go add ability to include custom css & js in web interface (webmail, webaccount, webadmin), and use css variables in webmail for easier customization 2024-11-29 10:17:07 +01:00