dns

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DokuMarker = "# doku-managed - do not edit"
	DokuStart  = "# doku-managed-start"
	DokuEnd    = "# doku-managed-end"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

Manager handles DNS and hosts file management

func NewManager

func NewManager() *Manager

NewManager creates a new DNS manager

func (*Manager) AddDokuDomain

func (m *Manager) AddDokuDomain(domain string) error

AddDokuDomain adds Doku domain entries to the hosts file

func (*Manager) AddSingleEntry

func (m *Manager) AddSingleEntry(ip, hostname string) error

AddSingleEntry adds a single custom entry to hosts file

func (*Manager) BackupHostsFile

func (m *Manager) BackupHostsFile() (string, error)

BackupHostsFile creates a backup of the hosts file

func (*Manager) GetDokuDomain

func (m *Manager) GetDokuDomain() (string, error)

GetDokuDomain returns the currently configured Doku domain from hosts file

func (*Manager) GetHostsFilePath

func (m *Manager) GetHostsFilePath() string

GetHostsFilePath returns the path to the hosts file

func (*Manager) HasDokuEntries

func (m *Manager) HasDokuEntries() (bool, error)

HasDokuEntries checks if Doku entries exist in hosts file

func (*Manager) ListDokuEntries

func (m *Manager) ListDokuEntries() ([]string, error)

ListDokuEntries returns all Doku-managed entries

func (*Manager) RemoveDokuEntries

func (m *Manager) RemoveDokuEntries() error

RemoveDokuEntries removes Doku-managed entries from hosts file

func (*Manager) RemoveSingleEntry

func (m *Manager) RemoveSingleEntry(hostname string) error

RemoveSingleEntry removes a specific entry from hosts file

func (*Manager) RestoreHostsFile

func (m *Manager) RestoreHostsFile(backupPath string) error

RestoreHostsFile restores the hosts file from backup

func (*Manager) UpdateDokuDomain

func (m *Manager) UpdateDokuDomain(domain string) error

UpdateDokuDomain updates the domain in existing Doku entries

func (*Manager) ValidateHostsFile

func (m *Manager) ValidateHostsFile() error

ValidateHostsFile checks if the hosts file is writable

func (*Manager) VerifyDNSResolution

func (m *Manager) VerifyDNSResolution(domain string) error

VerifyDNSResolution verifies that DNS resolution works for the domain

type ResolverManager

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

ResolverManager handles macOS /etc/resolver configuration

func NewResolverManager

func NewResolverManager() *ResolverManager

NewResolverManager creates a new resolver manager

func (*ResolverManager) GetResolverPath

func (rm *ResolverManager) GetResolverPath(domain string) string

GetResolverPath returns the path to the resolver file for a domain

func (*ResolverManager) HasResolver

func (rm *ResolverManager) HasResolver(domain string) bool

HasResolver checks if a resolver configuration exists for the domain

func (*ResolverManager) IsMacOS

func (rm *ResolverManager) IsMacOS() bool

IsMacOS checks if the system is macOS

func (*ResolverManager) ListResolvers

func (rm *ResolverManager) ListResolvers() ([]string, error)

ListResolvers lists all resolver configurations

func (*ResolverManager) RemoveResolver

func (rm *ResolverManager) RemoveResolver(domain string) error

RemoveResolver removes the resolver configuration for the domain

func (*ResolverManager) SetupResolver

func (rm *ResolverManager) SetupResolver(domain string) error

SetupResolver creates a resolver configuration for the domain (macOS only)

Jump to

Keyboard shortcuts

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