Skip to content

nextdns: fix deprecated options and bump to 1.46.0 #28248

@languagegame

Description

@languagegame

Package Name

nextdns

Maintainer

(@hnyman) (@rs)

OpenWrt Version

25.12.0_rc1 and Snapshot

OpenWrt Target/Subtarget

mediatek/mt7622

Steps to Reproduce

  1. Use apk or opkg to install the package nextdns
  2. Note that the default configuration file at /etc/config/nextdns uses deprecated options like "option config" and "list host_config". These both should now be "list profile"
  3. Also note that the nextdns version is 1.45.0 instead of the latest 1.46.0. The latest version includes a fix for openwrt for dhcp-option 6.

Actual Behaviour

nextdns fails to use conditional profiles for device-specific filtering. This is because "host_config" is no longer used by nextdns and was replaced by configuration "profile". Below is proposed text for the default configuration to use in this package. This replaces "config" and "host_config" with "profile" and adds two other options available for "forwarder" and "discovery_dns" for more advanced setups. Once this is fixed, luci-app-nextdns also likely needs to be changed to reflect the "profile" configuration instead of the old "config".

config nextdns main
    option enabled '1'

    # The default NextDNS profile id (create on on https://nextdns.io).
    # If not defined, this package will act as a non-logging, non-filtering
    # DNS over HTTPS resolver.
    #list profile 'abcdef'

    # List of NextDNS custom profile ids.  Each custom profile id can be 
    # prefixed with a condition that is match for each query:
    #   10.0.3.0/24=abcdef: A CIDR restricts a profile to a subnet.
    #   2001:0DB8::/64=abcdef: An IPv6 CIDR.    
    #   00:1c:42:2e:60:4a=abcdef: A MAC address can be used to restrict
    #       profile to a specific host on the LAN.
    #   eth0=abcdef: An interface name can be used to restrict a profile
    #       to all hosts behind this interface.
    #  This parameter can be repeated. The first match wins.
    #list profile 'da:c8:6d:b6:93:78=fedcba'
    #list profile '10.0.1.2/32=abc123'
    #list profile '10.0.3.0/24=def321'

    # Configure NextDNS cli client to serve DNS to other clients on the network.
    option setup_router '1'

    # Expose LAN clients information in NextDNS analytics.
    option report_client_info '1'

    # When enabled, use DNS servers located in jurisdictions with strong privacy laws.
    # Available locations are: Switzerland, Iceland, Finland, Panama and Hong Kong.
    option hardened_privacy '0'

    # Log individual queries to system log.
    option log_queries '0'

    # A list of forwarders.
    # Forwarders can be defined to send proxy DNS traffic to an alternative
    # DNS upstream resolver for specific domains. The format of this parameter
    # is [DOMAIN=]SERVER_ADDR[,SERVER_ADDR...].    	
    # A SERVER_ADDR can ben either an IP[:PORT] for DNS53 (unencrypted UDP,
    # TCP), or a HTTPS URL for a DNS over HTTPS server. For DoH, a bootstrap
    # IP can be specified as follow: https://dns.nextdns.io#45.90.28.0.
    # Several servers can be specified, separated by commas to implement
    # failover.  This parameter can be repeated. The first match wins.
    #list forwarder 'example.com=192.168.1.1:53'
    #list forwarder 'example2.com=https://dns.nextdns.io#45.90.28.0'

    # The address of a DNS server to be used to discover client names.
    # If not defined, the address learned via DHCP will be used. This setting
    # is only active if report-client-info is set to true.
    # option discovery_dns '192.168.1.1:53'

Confirmation Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions