Adds a happyDomain checker that probes STUN/TURN servers end-to-end:
DNS/SRV discovery, UDP/TCP/TLS/DTLS dial, STUN binding + reflexive-addr
sanity, open-relay detection, authenticated TURN Allocate (long-term
creds or REST-API HMAC), public-relay check, CreatePermission + Send
round-trip through the relay, and optional ChannelBind.
Failing sub-tests carry a remediation string (`Fix`) that the HTML
report surfaces as a yellow headline callout and inline next to each
row. Mapping covers the most common coturn misconfigurations
(external-ip, relay-ip, lt-cred-mech, min-port/max-port, cert issues,
401 nonce drift, 441/442/486/508 allocation errors).
Implements sdk.EndpointDiscoverer (checker/discovery.go): every
stuns:/turns:/DTLS endpoint observed during Collect is published as a
DiscoveredEndpoint{Type: "tls"|"dtls"} so a downstream TLS checker can
verify certificates without re-parsing the observation.
Backed by pion/stun/v3 + pion/turn/v4 + pion/dtls/v3; SDK pinned to a
local replace until the EndpointDiscoverer interface ships in a tagged
release.
26 lines
1 KiB
Text
26 lines
1 KiB
Text
checker-stun-turn
|
|
Copyright (c) 2026 The happyDomain Authors
|
|
|
|
This product is licensed under the MIT License (see LICENSE).
|
|
|
|
-------------------------------------------------------------------------------
|
|
Third-party notices
|
|
-------------------------------------------------------------------------------
|
|
|
|
This product includes software developed as part of the checker-sdk-go
|
|
project (https://git.happydns.org/happyDomain/checker-sdk-go), licensed
|
|
under the Apache License, Version 2.0:
|
|
|
|
checker-sdk-go
|
|
Copyright 2020-2026 The happyDomain Authors
|
|
|
|
This product includes software developed as part of the happyDomain
|
|
project (https://happydomain.org).
|
|
|
|
Portions of this code were originally written for the happyDomain
|
|
server (licensed under AGPL-3.0 and a commercial license) and are
|
|
made available there under the Apache License, Version 2.0 to enable
|
|
a permissively licensed ecosystem of checker plugins.
|
|
|
|
You may obtain a copy of the Apache License 2.0 at:
|
|
http://www.apache.org/licenses/LICENSE-2.0
|