Documentation
¶
Overview ¶
Package updater pushes IP address updates to dynamic DNS services.
Index ¶
- func AddIP(a net.IP, b net.IP) net.IP
- func MaskIP(ip net.IP, mask int) net.IP
- func RecordTypeString(rtype RecordType) string
- func SlaacBits(mac net.HardwareAddr) net.IP
- type CloudflareService
- func (s *CloudflareService) Identifier() string
- func (s *CloudflareService) Submit(ctx context.Context, rtype RecordType, ip net.IP) (retryAfter time.Duration, err error)
- func (s *CloudflareService) SupportsRecord(rtype RecordType) bool
- func (s *CloudflareService) UnmarshalYAML(value *yaml.Node) error
- type DuckService
- type GoogleService
- type IPLookup
- type RecordService
- type RecordType
- type Updater
- type Updaters
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RecordTypeString ¶
func RecordTypeString(rtype RecordType) string
RecordTypeString returns the string equivalent to a RecordType value.
Types ¶
type CloudflareService ¶
type CloudflareService struct {
// contains filtered or unexported fields
}
func (*CloudflareService) Identifier ¶
func (s *CloudflareService) Identifier() string
func (*CloudflareService) Submit ¶
func (s *CloudflareService) Submit(ctx context.Context, rtype RecordType, ip net.IP) (retryAfter time.Duration, err error)
func (*CloudflareService) SupportsRecord ¶
func (s *CloudflareService) SupportsRecord(rtype RecordType) bool
func (*CloudflareService) UnmarshalYAML ¶
func (s *CloudflareService) UnmarshalYAML(value *yaml.Node) error
type DuckService ¶
type DuckService struct {
// contains filtered or unexported fields
}
func (*DuckService) Identifier ¶
func (s *DuckService) Identifier() string
func (*DuckService) Submit ¶
func (s *DuckService) Submit(ctx context.Context, rtype RecordType, ip net.IP) (retryAfter time.Duration, err error)
func (*DuckService) SupportsRecord ¶
func (s *DuckService) SupportsRecord(rtype RecordType) bool
func (*DuckService) UnmarshalYAML ¶
func (s *DuckService) UnmarshalYAML(value *yaml.Node) error
type GoogleService ¶
type GoogleService struct {
// contains filtered or unexported fields
}
func (*GoogleService) Identifier ¶
func (s *GoogleService) Identifier() string
func (*GoogleService) Submit ¶
func (s *GoogleService) Submit(ctx context.Context, rtype RecordType, ip net.IP) (retryAfter time.Duration, err error)
func (*GoogleService) SupportsRecord ¶
func (s *GoogleService) SupportsRecord(rtype RecordType) bool
func (*GoogleService) UnmarshalYAML ¶
func (s *GoogleService) UnmarshalYAML(value *yaml.Node) error
type IPLookup ¶
type IPLookup struct {
// contains filtered or unexported fields
}
func NewIPLookup ¶
func NewIPLookup() IPLookup
func (IPLookup) WebFacingIP ¶
type RecordService ¶
type RecordService interface {
// Submit a new record value.
Submit(context.Context, RecordType, net.IP) (retryAfter time.Duration, err error)
// Retrieve a human-readable name for this record.
Identifier() string
// Determine support for a record type.
SupportsRecord(RecordType) bool
yaml.Unmarshaler
}
A RecordService manages transactions concerning a particular record with a dynamic DNS service.
type Updater ¶
type Updater struct {
Type RecordType
Interface string
Service RecordService
IPOffset net.IP
IPMaskBits int
yaml.Unmarshaler
// contains filtered or unexported fields
}
An Updater manages a single DNS record.
Click to show internal directories.
Click to hide internal directories.