CalDAV and CardDAV checkers sharing a single Go module. Discovery follows RFC 6764 (/.well-known + SRV/TXT), authenticated probes cover principal, home-set, collections and a minimal REPORT query on top of go-webdav. Common shape in internal/dav/; CalDAV adds a scheduling rule. Surfaces its context URL (and each secure-SRV target) as TLS endpoints via the EndpointDiscoverer interface, so the dedicated TLS checker can pick them up without re-parsing observations. HTML report foregrounds common misconfigs (well-known returning 200, missing SRV, plaintext-only SRV, missing DAV capability, skipped auth phase) as action-item callouts before the full phase breakdown.
23 lines
500 B
Go
23 lines
500 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"git.happydns.org/checker-dav/carddav"
|
|
"git.happydns.org/checker-sdk-go/checker/server"
|
|
)
|
|
|
|
// Version is injected at link time via -ldflags "-X main.Version=...".
|
|
var Version = "custom-build"
|
|
|
|
var listenAddr = flag.String("listen", ":8080", "HTTP listen address")
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
carddav.Version = Version
|
|
srv := server.New(carddav.Provider())
|
|
if err := srv.ListenAndServe(*listenAddr); err != nil {
|
|
log.Fatalf("server error: %v", err)
|
|
}
|
|
}
|