A community-driven CLI tool for managing NextDNS profiles declaratively.
Disclaimer: This is an unofficial tool, not affiliated with NextDNS. Built by a user, for users.
- Bulk add/remove domains to the NextDNS denylist and allowlist.
- Import domains from a file or URL to the denylist and allowlist.
- List all profiles to find their IDs.
- More to come: full config sync, etc.
- Install Python 3.6+.
- Clone or install:
pip install git+https://github.com/danielmeint/nextdnsctl.git
- Set up your API key (find it at https://my.nextdns.io/account):
nextdnsctl auth <your-api-key>
- List profiles:
nextdnsctl profile-list
- Add domains to denylist:
nextdnsctl denylist add <profile_id> bad.com evil.com
- Remove domains from denylist:
nextdnsctl denylist remove <profile_id> bad.com
- Import domains from a file or URL:
- From a file:
nextdnsctl denylist import <profile_id> /path/to/blocklist.txt
- From a URL:
nextdnsctl denylist import <profile_id> https://example.com/blocklist.txt
- Use
--inactive
to add domains as inactive (not blocked):nextdnsctl denylist import <profile_id> blocklist.txt --inactive
- From a file:
- Add domains to allowlist:
nextdnsctl allowlist add <profile_id> good.com trusted.com
- Remove domains from allowlist:
nextdnsctl allowlist remove <profile_id> good.com
- Import domains from a file or URL:
- From a file:
nextdnsctl allowlist import <profile_id> /path/to/allowlist.txt
- From a URL:
nextdnsctl allowlist import <profile_id> https://example.com/allowlist.txt
- Use
--inactive
to add domains as inactive (not allowed):nextdnsctl allowlist import <profile_id> allowlist.txt --inactive
- From a file:
Pull requests welcome! See docs/contributing.md for details.
MIT License - see LICENSE.