Commit graph

1,955 commits

Author SHA1 Message Date
ab97185611 notification: add webhook channel sender
WebhookSender posts a JSON payload to a user-configured URL with an
optional HMAC-SHA256 signature header. Outbound requests go through a
SafeHTTP transport that blocks loopback, link-local, and private
address ranges to prevent SSRF against internal services.
2026-04-30 10:00:53 +07:00
0eacde4dd1 notification: add ChannelSender interface and email sender
Define the ChannelSender interface and NotificationPayload/Recipient
types passed to senders. Senders receive only what they need to render
or transmit a notification — no user object, no server config — so
adding a new transport cannot accidentally leak privileged data.

EmailSender reuses the existing Mailer to send Markdown-formatted
alerts.
2026-04-30 10:00:53 +07:00
d821bc27a1 notification: add storage interfaces and KV implementations 2026-04-30 10:00:53 +07:00
97ec5eca7a notification: add notification models and error sentinels 2026-04-30 10:00:53 +07:00
f606e414db checker: recover stale running executions at startup
Some checks are pending
continuous-integration/drone/push Build is running
Mark any execution still in Pending/Running state as Failed when the app
starts, so executions interrupted by a crash or kill no longer appear
stuck "running" forever in the UI.
2026-04-30 10:00:53 +07:00
3d0d6db33f web: add Email Auto-configuration service editor and translations
All checks were successful
continuous-integration/drone/push Build is passing
2026-04-29 18:51:51 +07:00
23c9a00600 docs: document the Email Auto-configuration service 2026-04-29 18:51:51 +07:00
513a646394 api: add Caddy on-demand TLS ask hook for autoconfig hostnames 2026-04-29 18:51:51 +07:00
f6ccba3958 app: wire email auto-configuration usecase and CLI flag 2026-04-29 18:51:51 +07:00
9d3dabc32a api: expose Mozilla Autoconfig and Microsoft Autodiscover endpoints
Adds the public /mail/config-v1.1.xml and /Autodiscover/Autodiscover.xml
HTTP endpoints.
2026-04-29 18:51:51 +07:00
4d81514f4d usecase/emailautoconfig: render Mozilla and Microsoft auto-config XML 2026-04-29 18:51:51 +07:00
b424ac1234 storage: add FindDomainsByName lookup across all users
Adds an unauthenticated domain lookup by FQDN, needed by the upcoming
public email auto-configuration HTTP responders which must serve any
domain hosted by happyDomain regardless of the requesting client.
2026-04-29 18:51:51 +07:00
a9304193c0 services/abstract: add high-level Email Auto-configuration service
Bumps the analyzer weight of the pre-existing "low-level" RFC 6186 service
so the new high-level form is preferred by default; the RFC 6186 service
is kept as an expert escape hatch.
2026-04-29 18:51:51 +07:00
5d06cd91ff model: add EmailAutoconfig usecase interface and MailAutoconfigHost option 2026-04-29 18:51:51 +07:00
4a8ac74ffb web: pre-select rules in RunCheckModal from existing plan
Some checks are pending
continuous-integration/drone/push Build is running
2026-04-29 18:51:51 +07:00
7366281c53 model: Fix too restrictive binding form
All checks were successful
continuous-integration/drone/push Build is passing
2026-04-29 17:21:18 +07:00
0a635ee9f5 web: Sort checker list by alphabetical order
Some checks are pending
continuous-integration/drone/push Build is running
2026-04-29 17:20:16 +07:00
ccb79b081d web: Add editor for svcs.DMARCReport service
All checks were successful
continuous-integration/drone/push Build is passing
Provides a minimal table UI to manage the list of reporting domains
authorised via <reportingdomain>._report._dmarc TXT records, replacing
the Orphan editor fallback.
2026-04-29 14:20:59 +07:00
9931c13543 app: stop background workers before HTTP shutdown 2026-04-29 13:47:27 +07:00
8e36050683 web: Improve error handling when servicesSpecs is not up-to-date 2026-04-29 13:47:27 +07:00
395ea0e292 ci: run go generate in dependency modules + optimize Dockerfile
All checks were successful
continuous-integration/drone/push Build is passing
Some checker dependencies (e.g. checker-caa) embed assets produced by
go:generate directives. Run go generate in every non-main module after
go mod download so embedded files are materialised before build.
2026-04-29 12:59:36 +07:00
74a7aff190 Update module git.happydns.org/checker-dane to v0.2.0 2026-04-29 12:45:18 +07:00
2d9390589e Add reverse_zone checker
Some checks failed
continuous-integration/drone/push Build is failing
2026-04-28 11:56:51 +00:00
3df5a47238 Add CAA checker, based on TLS observations 2026-04-28 11:56:51 +00:00
f7ac38f3a5 Import checker-alias into happydomain 2026-04-28 11:56:51 +00:00
f0dda5ef4f Import checker-ptr into happydomain 2026-04-28 11:56:51 +00:00
0a4cf21028 Add HTTP checker
All checks were successful
continuous-integration/drone/push Build is passing
2026-04-28 18:46:19 +07:00
319505151c Add happyDeliver checker 2026-04-28 18:45:34 +07:00
1785672e14 Import checker-ssh into happydomain
Some checks are pending
continuous-integration/drone/push Build is pending
2026-04-28 18:21:17 +07:00
a82e507d87 Import checker-smtp into happydomain 2026-04-28 18:21:17 +07:00
b6444b1247 Import checker-resolver-propagation into happydomain 2026-04-28 18:21:17 +07:00
a5efe371fb Import checker-email-keys into happydomain 2026-04-28 18:21:17 +07:00
5fd5d107f3 Import checker-email-autoconfig into happydomain 2026-04-28 18:21:17 +07:00
d2b9f2c467 Import checker-dnsviz into happydomain (externalizable only) 2026-04-28 18:21:17 +07:00
71fa73a04d Import checker-dnssec into happydomain 2026-04-28 18:21:17 +07:00
3c28c69049 Import checker-delegation into happydomain 2026-04-28 18:21:17 +07:00
1fe20a746d Import checker-blacklist into happydomain 2026-04-28 18:21:16 +07:00
e348da75f2 Import checker-authoritative-consistency into happydomain 2026-04-28 18:20:56 +07:00
bfd82df8e0 Add LDAP checker 2026-04-28 18:20:28 +07:00
d000366434 Handling Kerberos records (analyzer + editor + checker) 2026-04-28 18:20:10 +07:00
dde034d0e0 Add checker STUN/TURN 2026-04-28 18:19:35 +07:00
0dceb15a76 Handling SIP records (analyzer + editor + checker) 2026-04-28 18:19:35 +07:00
fd843d6708 Add checker for SRV records 2026-04-28 18:19:35 +07:00
6260aaa74d Add XMPP checks + handle xmpps 2026-04-28 18:19:35 +07:00
f37eb45159 Handling CalDAV and CardDAV records (analyzers + editors + checker) 2026-04-28 18:19:35 +07:00
fd1918bd04 New service: libravatar
All checks were successful
continuous-integration/drone/push Build is passing
2026-04-28 18:17:35 +07:00
1e38ead1db New service: DMARC-reports 2026-04-28 18:17:35 +07:00
b5e4094f15 New domain filtering method: domain contains 2026-04-28 18:17:35 +07:00
5962ea3146 Add TLSA checker
All checks were successful
continuous-integration/drone/push Build is passing
2026-04-28 18:03:56 +07:00
4ac00009f8 web: revamp TLSA editor. Able to import certificate and fetch through API current chain to auto-fill 2026-04-28 18:03:55 +07:00