ssl

package
v0.4.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckPort53Accessible

func CheckPort53Accessible(serverIP string) error

CheckPort53Accessible checks if port 53 is accessible on the given IP. Note: This only verifies TCP connectivity. UDP "connectivity" cannot be reliably verified without sending actual DNS queries, as UDP is connectionless. A successful TCP check is a good indicator that the DNS server is running.

func GroupWildcards

func GroupWildcards(reqs []DomainRequirement) []string

GroupWildcards returns unique wildcard base domains

func HasWildcards

func HasWildcards(reqs []DomainRequirement) bool

HasWildcards checks if any requirements include wildcards

func IsWildcard

func IsWildcard(domain string) bool

IsWildcard checks if a domain is a wildcard domain

Types

type ChallengeType

type ChallengeType string

ChallengeType represents the ACME challenge type

const (
	// ChallengeHTTP01 uses HTTP-01 challenge (standard, no wildcards)
	ChallengeHTTP01 ChallengeType = "http-01"
	// ChallengeDNS01 uses DNS-01 challenge (required for wildcards)
	ChallengeDNS01 ChallengeType = "dns-01"
)

type DNSChecker

type DNSChecker struct {
	// contains filtered or unexported fields
}

DNSChecker handles DNS propagation verification

func NewDNSChecker

func NewDNSChecker() *DNSChecker

NewDNSChecker creates a new DNS checker with default resolvers

func (*DNSChecker) CheckCNAME

func (c *DNSChecker) CheckCNAME(domain string, expectedTarget string) (bool, error)

CheckCNAME checks if a CNAME record exists and points to the expected target

func (*DNSChecker) WaitForDNSPropagation

func (c *DNSChecker) WaitForDNSPropagation(ctx context.Context, domain, expectedTarget string, checkInterval time.Duration, onProgress func(attempt int, elapsed time.Duration)) (bool, error)

WaitForDNSPropagation waits for DNS propagation with progress updates

type DNSPropagationResult

type DNSPropagationResult struct {
	Domain   string
	Verified bool
	Attempts int
	Duration time.Duration
	Error    error
}

DNSPropagationResult represents the result of a DNS propagation check

type DomainRequirement

type DomainRequirement struct {
	Domain        string
	IsWildcard    bool
	BaseDomain    string // "example.com" for "*.example.com"
	ChallengeType ChallengeType
	ServiceName   string
}

DomainRequirement represents SSL requirements for a domain

func DetectRequirements

func DetectRequirements(services map[string]config.ServiceConfig) []DomainRequirement

DetectRequirements analyzes all service domains and returns SSL requirements

func FilterByChallenge

func FilterByChallenge(reqs []DomainRequirement, challengeType ChallengeType) []DomainRequirement

FilterByChallenge returns requirements matching the specified challenge type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL