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
...
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
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
continuous-integration/drone/push Build is running
2026-04-29 18:51:51 +07:00
7366281c53
model: Fix too restrictive binding form
continuous-integration/drone/push Build is passing
2026-04-29 17:21:18 +07:00
0a635ee9f5
web: Sort checker list by alphabetical order
continuous-integration/drone/push Build is running
2026-04-29 17:20:16 +07:00
ccb79b081d
web: Add editor for svcs.DMARCReport service
...
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
...
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
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
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
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
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
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