Documentation
¶
Overview ¶
Package dnspatch is the root of the dnspatch module and holds no code; it exists so that go generate has a place to run the repository-wide generators from.
dnspatch is a dynamic DNS daemon: it watches the public IP address and patches DNS records when it changes. The daemon is the command github.com/KrimsN/dnspatch/cmd/dnspatch. Its retrievers and providers are plugins that implement the interfaces of the public package github.com/KrimsN/dnspatch/plugin; the built-in ones live under github.com/KrimsN/dnspatch/plugins.
Source, releases and container images: https://github.com/KrimsN/dnspatch.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
dnspatch
command
Command dnspatch is a dynamic DNS daemon: it watches the public IP address and patches DNS records when it changes.
|
Command dnspatch is a dynamic DNS daemon: it watches the public IP address and patches DNS records when it changes. |
|
gendoc
command
Command gendoc writes the files generated from the configuration types of the built-in plugins: docs/PARAMETERS.md, the reference of their parameters, and config.toml.example, a configuration to copy and edit.
|
Command gendoc writes the files generated from the configuration types of the built-in plugins: docs/PARAMETERS.md, the reference of their parameters, and config.toml.example, a configuration to copy and edit. |
|
internal
|
|
|
config
Package config parses the TOML configuration: named retriever and provider definitions, instances and their polling intervals.
|
Package config parses the TOML configuration: named retriever and provider definitions, instances and their polling intervals. |
|
httpx
Package httpx builds the HTTP clients that plugins use to reach their services, including the optional proxy in front of them.
|
Package httpx builds the HTTP clients that plugins use to reach their services, including the optional proxy in front of them. |
|
paramspec
Package paramspec reads the parameters of a plugin configuration struct from its field tags.
|
Package paramspec reads the parameters of a plugin configuration struct from its field tags. |
|
runner
Package runner orchestrates instances: each one runs in its own goroutine on its own interval and stops when the context is cancelled.
|
Package runner orchestrates instances: each one runs in its own goroutine on its own interval and stops when the context is cancelled. |
|
socks5test
Package socks5test is a minimal SOCKS5 server for tests.
|
Package socks5test is a minimal SOCKS5 server for tests. |
|
Package plugin defines the public contract of dnspatch: the Retriever and Provider interfaces, the plugin registry and parameter decoding.
|
Package plugin defines the public contract of dnspatch: the Retriever and Provider interfaces, the plugin registry and parameter decoding. |
|
plugins
|
|
|
all
Package all registers every built-in plugin through blank imports, so that a single import makes them all available to a command.
|
Package all registers every built-in plugin through blank imports, so that a single import makes them all available to a command. |
|
icanhazip
Package icanhazip provides a retriever backed by the icanhazip.com service.
|
Package icanhazip provides a retriever backed by the icanhazip.com service. |
|
identme
Package identme provides a retriever backed by the ident.me service.
|
Package identme provides a retriever backed by the ident.me service. |
|
ifconfigco
Package ifconfigco provides a retriever backed by the ifconfig.co service.
|
Package ifconfigco provides a retriever backed by the ifconfig.co service. |
|
ipify
Package ipify provides a retriever backed by the ipify.org service.
|
Package ipify provides a retriever backed by the ipify.org service. |
|
regru
Package regru provides a provider for zones hosted on the REG.RU DNS servers, managed through REG.API 2 (https://api.reg.ru/api/regru2).
|
Package regru provides a provider for zones hosted on the REG.RU DNS servers, managed through REG.API 2 (https://api.reg.ru/api/regru2). |
|
selectel
Package selectel provides a provider for zones hosted on Selectel DNS Hosting, managed through the public DNS API v2 (https://docs.selectel.ru/en/api/dns-actual).
|
Package selectel provides a provider for zones hosted on Selectel DNS Hosting, managed through the public DNS API v2 (https://docs.selectel.ru/en/api/dns-actual). |
|
twoip
Package twoip provides a retriever backed by the api.2ip.io service.
|
Package twoip provides a retriever backed by the api.2ip.io service. |
Click to show internal directories.
Click to hide internal directories.