Releases: cbodden/dns-control
DNS Control v0.3
================================================================================
DNS Control - Release Notes
Version 0.3
Released: 2026-02-04
NEW FEATURES:
-
Saved Server Profiles
- Save multiple server configurations with custom names
- Quickly switch between saved servers via dropdown
- Each profile stores both server URL and API token
- Delete profiles with a single tap and confirmation
- Profiles persist across app restarts
-
Custom Date Range for Statistics
- New "Custom" option in stats time period dropdown
- Date picker to select start and end dates
- Time picker to select start and end times
- Fetch statistics for any specific time range
- Great for analyzing specific events or periods
-
Flexible Stats Time Periods
- Choose from: Last Hour, Last Day, Last Week, Last Month, Last Year, Custom
- Stats automatically refresh when changing time period
- Custom range card shows selected dates with easy modification
-
GitHub Repository Link
- Quick access link to project repository in Settings
- Located under build info section
- Opens main branch on GitHub
-
Backup & Restore
- Export all saved server profiles to a JSON file
- Import server profiles from a previously exported backup
- Automatic backup to Google Drive (when enabled on device)
- Date-stamped export filenames (dns-control-servers-YYYY-MM-DD.json)
- Smart import skips servers that already exist (by URL)
CHANGES:
- Settings UI improved with saved servers section
- Stats screen shows time period selector in header
- Date/time pickers use Material 3 design
REMOVED:
- GitHub Actions CI/CD workflow
DNS Control v0.2
==============================================
DNS Control - Release Notes
Version 0.2
Released: 2025-02-03
NEW FEATURES:
-
Dashboard Stats Tab
- View real-time query statistics from your Technitium DNS Server
- Displays data for the last hour including:
- Query summary: total queries, no error, server failures, NX domain, refused
- Resolution types: authoritative, recursive, cached
- Blocking stats: blocked and dropped query counts
- Server info: total clients, zones, cached entries
- Zone lists: allowed/blocked zones, allow/block list zone counts
- Refresh button to update stats on demand
-
Bottom Navigation
- New tabbed interface with Control, Stats, and Settings tabs
- Quick switching between app sections
- Cleaner navigation experience
-
Build Info Display
- Version and build timestamp shown at bottom of Settings tab
- Helps identify which build is installed
-
Debug Window Toggle
- New setting to show/hide the raw JSON debug window on Control tab
- Located in Settings under "Debug" section
- Disabled by default for a cleaner interface
- When enabled, displays the raw API response with copy-to-clipboard
CHANGES: ...
DNS Control v0.1
DNS Control v0.1 - Release Notes
Initial Release - February 2026
Overview
DNS Control is a modern Android application for controlling DNS blocking on
Technitium DNS Server. Temporarily disable ad-blocking and tracker protection
with a single tap when you need unrestricted access.
Features
-
One-Tap Disable
- Temporarily disable DNS blocking for a configurable duration (1-120 minutes)
- Blocking automatically resumes after the configured time
-
Real-Time Status Display
- View current blocking status (Enabled/Disabled)
- See when blocking will automatically resume
- Human-readable relative time display ("in 5 min", "in 1h 30m")
-
Auto-Connect
- Automatically checks server connectivity on app launch
- Fetches current blocking status immediately
-
Settings Management
- Configure server URL and API token
- Adjustable disable duration (1-120 minutes)
- Persistent settings storage using DataStore
-
Modern UI
- Beautiful Material 3 dark theme
- Smooth animations and transitions
- Clean, intuitive interface built with Jetpack Compose
-
Debug Mode
- View raw JSON response from server for troubleshooting
Technical Details
- Language: Kotlin
- UI Framework: Jetpack Compose with Material 3
- Architecture: MVVM with StateFlow
- HTTP Client: OkHttp
- Storage: DataStore Preferences
- Minimum SDK: 26 (Android 8.0)
- Target SDK: 34 (Android 14)
Requirements
- Android 8.0 (API 26) or higher
- Technitium DNS Server with API access enabled
- Network access to your DNS server
Permissions
- INTERNET - Communicate with DNS server API
- ACCESS_NETWORK_STATE - Check network connectivity
No location, camera, storage, or other sensitive permissions required.
API Endpoints Used
- /api/settings/get - Retrieve current server settings
- /api/settings/temporaryDisableBlocking - Temporarily disable DNS blocking
Installation
- Download the APK from the Releases page
- Install on your Android device
- Open the app and tap the Settings icon
- Configure your Technitium server URL and API token
- Set your preferred disable duration
Known Issues
None at this time.
License
MIT License - See LICENSE file for details.
Acknowledgments
- Technitium DNS Server - https://technitium.com/dns/
- Jetpack Compose - Modern Android UI toolkit
- Material Design 3 - Design system