NextDNS Parental Control
NextDNS Blocker integrates with NextDNS Parental Control API to block entire categories (gambling, porn, etc.) and services (TikTok, Netflix, Fortnite, etc.) with schedule-based control.
Why Use Parental Control?
Section titled “Why Use Parental Control?”Instead of manually blocking individual domains, NextDNS Parental Control:
- Blocks all domains associated with a service (e.g., all TikTok CDNs, APIs, etc.)
- Stays up-to-date as NextDNS maintains the domain lists
- Reduces configuration - no need to find and block each domain yourself
- Works with schedules - same schedule format as blocklist domains
Configuration
Section titled “Configuration”Add a nextdns section to your config.json:
{ "nextdns": { "parental_control": { "safe_search": true, "youtube_restricted_mode": false, "block_bypass": true }, "categories": [ { "id": "gambling", "description": "Betting sites - always blocked", "unblock_delay": "never" } ], "services": [ { "id": "tiktok", "description": "TikTok - evenings only", "unblock_delay": "4h", "schedule": { "available_hours": [ { "days": ["monday", "tuesday", "wednesday", "thursday", "friday"], "time_ranges": [{"start": "18:00", "end": "22:00"}] } ] } } ] }}Global Settings
Section titled “Global Settings”The parental_control object configures global NextDNS settings:
| Setting | Type | Description |
|---|---|---|
safe_search | boolean | Force SafeSearch on Google, Bing, DuckDuckGo, YouTube |
youtube_restricted_mode | boolean | Enable YouTube Restricted Mode |
block_bypass | boolean | Block VPNs, proxies, and alternative DNS services |
Valid Category IDs
Section titled “Valid Category IDs”NextDNS supports 7 native categories:
| Category ID | Description |
|---|---|
porn | Adult/pornographic content |
gambling | Betting and gambling sites |
dating | Dating apps and websites |
piracy | Piracy and torrent sites |
social-networks | Social networking platforms |
gaming | Gaming platforms and services |
video-streaming | Video streaming services |
Valid Service IDs
Section titled “Valid Service IDs”NextDNS supports 43 services across multiple categories:
Social & Messaging
Section titled “Social & Messaging”facebook, instagram, twitter, tiktok, snapchat, whatsapp, telegram, messenger, discord, signal, skype, mastodon, bereal, vk, tumblr, pinterest, reddit, 9gag, imgur, google-chat
Streaming
Section titled “Streaming”youtube, netflix, disneyplus, hbomax, primevideo, hulu, twitch, vimeo, dailymotion
Gaming
Section titled “Gaming”fortnite, minecraft, roblox, leagueoflegends, steam, blizzard, xboxlive, playstation-network
Dating
Section titled “Dating”tinder
spotify, amazon, ebay, zoom, chatgpt
Schedule Format
Section titled “Schedule Format”Categories and services support the same schedule format as blocklist domains:
{ "id": "netflix", "schedule": { "available_hours": [ { "days": ["saturday", "sunday"], "time_ranges": [ {"start": "10:00", "end": "22:00"} ] } ] }}When outside the available hours, the service/category is blocked.
CLI Commands
Section titled “CLI Commands”List configured and active items
Section titled “List configured and active items”# Show from config.jsonnextdns-blocker nextdns list
# Show live status from NextDNS APInextdns-blocker nextdns list --remoteManually control categories
Section titled “Manually control categories”# Activate (start blocking)nextdns-blocker nextdns add-category gambling
# Deactivate (stop blocking)nextdns-blocker nextdns remove-category gamblingManually control services
Section titled “Manually control services”# Activate (start blocking)nextdns-blocker nextdns add-service tiktok
# Deactivate (stop blocking)nextdns-blocker nextdns remove-service tiktokView valid IDs
Section titled “View valid IDs”# Show all valid category IDsnextdns-blocker nextdns categories
# Show all valid service IDs (grouped by type)nextdns-blocker nextdns servicesCheck current status
Section titled “Check current status”nextdns-blocker nextdns statusSync Behavior
Section titled “Sync Behavior”When you run nextdns-blocker config push (or the watchdog runs it automatically):
- Categories are activated/deactivated based on their schedule
- Services are activated/deactivated based on their schedule
- Global settings (safe_search, etc.) are applied
During panic mode:
- Activations continue (blocks are maintained)
- Deactivations are skipped (prevents removing blocks)
Example: Complete Configuration
Section titled “Example: Complete Configuration”{ "nextdns": { "parental_control": { "safe_search": true, "youtube_restricted_mode": false, "block_bypass": true }, "categories": [ { "id": "gambling", "description": "Always blocked", "unblock_delay": "never" }, { "id": "porn", "description": "Always blocked", "unblock_delay": "never" } ], "services": [ { "id": "tiktok", "description": "Evenings and weekends", "unblock_delay": "4h", "schedule": { "available_hours": [ { "days": ["monday", "tuesday", "wednesday", "thursday", "friday"], "time_ranges": [{"start": "18:00", "end": "22:00"}] }, { "days": ["saturday", "sunday"], "time_ranges": [{"start": "10:00", "end": "23:00"}] } ] } }, { "id": "fortnite", "description": "Weekends only", "unblock_delay": "1h", "schedule": { "available_hours": [ { "days": ["saturday", "sunday"], "time_ranges": [{"start": "10:00", "end": "22:00"}] } ] } }, { "id": "netflix", "description": "After 7pm only", "unblock_delay": "2h", "schedule": { "available_hours": [ { "days": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"], "time_ranges": [{"start": "19:00", "end": "23:00"}] } ] } } ] }}Difference from Categories (blocklist grouping)
Section titled “Difference from Categories (blocklist grouping)”Don’t confuse nextdns.categories with the top-level categories in config.json:
| Feature | nextdns.categories | Top-level categories |
|---|---|---|
| Source | NextDNS Parental Control API | Your custom groups |
| Domains | Managed by NextDNS | You define the domains |
| IDs | Fixed (7 options) | Any custom ID |
| Use case | Block entire content types | Group your domains |
You can use both together for maximum control.