Provider Plugins
Providers turn rule sets from one-off literals into reusable data assets. In larger configurations they reduce duplication, centralize shared datasets, and keep policies maintainable.
Providers with domain or IP match capability can be referenced directly by matchers through "$tag" and can also be composed by domain_set or ip_set. Those composite providers compile only their own local rules and then consult referenced providers at runtime instead of copying downstream rule data into a merged matcher.
Every live provider also registers POST /api/plugins/<provider_tag>/reload, and the reload_provider executor can refresh that provider's snapshot in place with the same startup configuration without rebuilding unrelated plugins. The WebUI exposes the same capability as Reload data on provider cards and detail views, with distinct pending, success, failure, and busy feedback.
At runtime, OxiDNS only initializes providers that are actually consumed. If a provider is not referenced directly or indirectly by any server, executor, or matcher, it is skipped during startup, does not appear in the runtime registry, and emits a warning log so the unused configuration is visible.
Category map
| Group | Plugins |
|---|---|
| Domain Providers | domain_set, dynamic_domain_set, geosite, adguard_rule |
| IP Providers | ip_set, geoip |
Legacy plugin anchors remain on this directory page; field references now live in the responsibility groups above.