Rethink DNS - Complete Android Guide (2025)
Table of Contents
- Overview
- Key Features
- Installation & Setup
- Essential Daily Commands & Operations
- DNS Configuration
- Firewall Rules
- Advanced Features
- Logs & Monitoring
- Troubleshooting
- Best Practices
Overview
Rethink DNS is a free, open-source DNS resolver and firewall for Android that provides:
- DNS-based content blocking (ads, malware, trackers)
- Per-app firewall capabilities
- On-device DNS server
- Support for DNS-over-HTTPS (DoH) and DNS-over-TLS (DoT)
- Network monitoring and logging
Official Resources:
- GitHub: https://github.com/celzero/rethink-app
- Website: https://rethinkdns.com
- Documentation: https://docs.rethinkdns.com
Key Features
1. DNS Blocking
- 190+ pre-configured blocklists
- Custom blocklist support
- Domain whitelisting/blacklisting
2. Firewall
- Per-app network control
- Block background data
- IP-based blocking
- Domain-based filtering
3. Privacy
- On-device processing
- No data collection
- Open-source and auditable
4. Protocols Supported
- DNS-over-HTTPS (DoH)
- DNS-over-TLS (DoT)
- DNSCrypt
- DNS Proxy
- WireGuard VPN integration
Installation & Setup
Initial Setup
-
Install from:
- Google Play Store
- F-Droid
- GitHub Releases (APK)
-
First Launch Configuration:
1. Open Rethink DNS 2. Grant VPN permission (required for DNS interception) 3. Choose DNS mode: - Rethink DNS (recommended for beginners) - Custom DNS - DNS Proxy -
Enable the Service:
- Tap the power button/toggle at the top
- Allow VPN connection request
- Verify connection in notification bar
Essential Daily Commands & Operations
1. Start/Stop DNS & Firewall
Start Protection:
Main Screen → Power Button (Top) → Enable
- Green indicator = Active
- Gray indicator = Inactive
Stop Protection:
Main Screen → Power Button → Disable
Quick Toggle:
- Use notification quick tile
- Add to Quick Settings panel
2. Check Current Status
View Active Connections:
Home Screen → Network Activity Section
Shows:
- Active queries
- Blocked domains
- Apps making connections
View Statistics:
Home Screen → Scroll to Stats
Displays:
- Total queries
- Blocked queries
- Allowed queries
- Top blocked domains
3. Block/Unblock Specific Apps
Block an App from Internet:
Configure → Apps → Select App → Toggle OFF
Block App’s Background Data Only:
Configure → Apps → Select App → 3-dot menu → Block when screen off
Allow App Through Firewall:
Configure → Apps → Select App → Toggle ON
Example: Block Facebook’s Background Data
1. Configure → Apps
2. Search/Find "Facebook"
3. Tap Facebook → Options menu (⋮)
4. Select "Block when screen off"
5. Result: Facebook works when app is open, blocked when closed
4. DNS Configuration
Switch DNS Provider:
Configure → DNS → Select Provider
Popular DNS Options:
- Rethink DNS (Default with blocklists)
- Cloudflare (1.1.1.1) - Fast & privacy-focused
- Quad9 - Security & malware blocking
- Google DNS (8.8.8.8) - Fast but less privacy
- AdGuard DNS - Ad blocking
Configure Custom DNS:
Configure → DNS → Add Custom DNS
Enter:
- Name: "My Custom DNS"
- URL: https://dns.example.com/dns-query (DoH)
OR
- IP: 1.1.1.1 (Plain DNS)
- Port: 853 (for DoT)
Example: Setup Cloudflare DoH
1. Configure → DNS
2. Tap "+" (Add)
3. Name: Cloudflare DoH
4. URL: https://cloudflare-dns.com/dns-query
5. Protocol: DNS-over-HTTPS
6. Save
7. Select as active DNS
5. Configure Blocklists
Enable Pre-configured Blocklists:
Configure → DNS → Configure Blocklists
Popular Blocklist Combinations:
Light Blocking (Recommended for Daily Use):
✓ 1Hosts (Lite)
✓ AdGuard DNS Filter
✓ OISD Basic
Medium Blocking:
✓ 1Hosts (Pro)
✓ Hagezi Pro
✓ StevenBlack Unified
✓ OISD Full
Aggressive Blocking:
✓ Hagezi Ultimate
✓ 1Hosts (Xtra)
✓ Energized Ultimate
✓ All Ads & Trackers lists
Apply Changes:
Select desired lists → Tap "Apply" (bottom) → Wait for download
6. Whitelist/Blacklist Domains
Whitelist a Domain (Allow Permanently):
Configure → DNS → Domain Rules → Whitelist
Tap "+" → Enter domain → Save
Example: Whitelist cdn.example.com
1. Configure → DNS → Domain Rules
2. Tap "Whitelist" tab
3. Tap "+" button
4. Enter: cdn.example.com
5. Save
6. Domain will always be allowed, even if in blocklists
Blacklist a Domain (Block Permanently):
Configure → DNS → Domain Rules → Blacklist
Tap "+" → Enter domain → Save
Example: Block tracker.analytics.com
1. Configure → DNS → Domain Rules
2. Tap "Blacklist" tab
3. Tap "+"
4. Enter: tracker.analytics.com
5. Save
7. Monitor Network Activity
View Real-time Queries:
Home Screen → Network Activity (Live Feed)
Shows:
- Domain being accessed
- App making request
- Status (Allowed/Blocked)
- Timestamp
Access Query Logs:
Configure → Logs → Network Logs
Filter Logs:
Logs → Filter icon → Select:
- Blocked only
- Allowed only
- Specific app
- Time range
Example: Find What’s Draining Battery
1. Configure → Logs
2. Filter by "Last 3 hours"
3. Look for apps with high query count
4. Check if they're making background requests
5. Consider blocking background access
8. Block Connections by IP
Block Specific IP Address:
Configure → Apps → Universal Rules → IP Rules
Add IP → Block
Block IP Range:
IP Rules → Add Range
Example: 192.168.1.0/24
9. Set Up DNS Proxy
Enable Local DNS Proxy:
Configure → DNS → DNS Proxy Mode
Benefits:
- Use Rethink with other VPNs
- Compatible with enterprise VPNs
- Lower battery usage
Configuration:
1. Configure → DNS
2. Toggle "DNS Proxy" mode
3. Note the local proxy address (usually 127.0.0.1)
4. Configure system/other apps to use this proxy
10. Per-App DNS Settings
Set Different DNS for Specific App:
Configure → Apps → Select App → DNS Settings
Example: Use Cloudflare Only for Browser
1. Configure → Apps → Chrome
2. Tap DNS option
3. Select "Cloudflare"
4. Save
5. Chrome now uses separate DNS from other apps
Advanced Features
WireGuard VPN Integration
Add WireGuard Config:
Configure → Proxy → WireGuard
Import .conf file OR Enter manually
Use Rethink DNS + WireGuard Together:
1. Add WireGuard configuration
2. Enable WireGuard
3. Rethink will route traffic through VPN
4. DNS filtering still active
On-Device DNS Server
Use Rethink as DNS Server for Other Devices:
Configure → DNS → On-Device Server
1. Enable "DNS Server"
2. Note IP address (e.g., 192.168.1.5:5354)
3. Configure other devices to use this DNS
Example: Use Phone as Network-wide DNS
1. Ensure phone has static IP
2. Enable On-Device Server
3. On router, set DNS to phone's IP
4. All network traffic filtered through Rethink
Automatic Backups
Enable Auto-Backup:
Settings → Backup & Restore → Auto-backup
Select frequency (Daily/Weekly)
Manual Backup:
Settings → Backup & Restore → Backup Now
Restore Configuration:
Settings → Backup & Restore → Restore → Select backup file
Logs & Monitoring
Understanding Log Entries
Log Entry Components:
[Timestamp] [App] [Domain] [Status] [Latency]
Status Indicators:
- 🟢 Allowed - Request permitted
- 🔴 Blocked - Request blocked by blocklist
- ⚫ Filtered - Blocked by custom rule
- 🟡 Bypassed - Whitelisted domain
Export Logs
Export Network Logs:
Configure → Logs → 3-dot menu → Export
Choose format: CSV / JSON
Use Cases:
- Analyze network usage patterns
- Identify misbehaving apps
- Debug connectivity issues
Troubleshooting
Common Issues & Solutions
1. Internet Not Working After Enabling Rethink
Solution:
1. Check DNS is configured correctly
2. Try switching DNS provider (Configure → DNS)
3. Clear DNS cache: Settings → Clear DNS cache
4. Disable all blocklists temporarily
5. Check if specific app needs whitelisting
2. App Not Working / Connection Issues
Solution:
1. Check if app is blocked in firewall
Configure → Apps → Find app → Enable
2. Check logs for blocked domains
Logs → Filter by app → Look for blocks
3. Whitelist required domains
4. Disable blocklists one-by-one to identify issue
Example: Banking App Not Working
1. Configure → Logs
2. Filter by banking app
3. Look for blocked domains (red entries)
4. Whitelist those domains:
Configure → DNS → Domain Rules → Whitelist
5. Add each blocked domain
6. Test app again
3. High Battery Drain
Solution:
1. Enable Battery Optimization
Settings → Battery Saver → Enable
2. Reduce log retention
Settings → Logs → Reduce retention period
3. Use DNS Proxy mode instead of VPN mode
4. Disable real-time monitoring if not needed
4. Cannot Use with Another VPN
Solution:
1. Switch to DNS Proxy mode
Configure → DNS → DNS Proxy
2. Or integrate WireGuard directly in Rethink
Configure → Proxy → WireGuard → Add config
5. Blocklists Not Updating
Solution:
1. Configure → DNS → Blocklists
2. Pull down to refresh
3. Check internet connectivity
4. Clear cache: Settings → Clear cache
5. Re-download lists: Long-press list → Update
Best Practices
Daily Use Recommendations
1. Optimal Blocklist Setup
For balanced blocking + performance:
✓ OISD Basic
✓ Hagezi Pro
✓ 1Hosts (Pro)
Update frequency: Weekly
2. App-Specific Rules
Block Social Media Background Access:
Configure → Apps → Instagram/Facebook/Twitter
Block when screen off
Reduces data usage by 30-50%
Allow Critical Apps:
Whitelist:
- Banking apps
- Authentication apps (2FA)
- Work-related apps
- Video calling apps
3. Battery Optimization
Settings for Best Battery Life:
1. Settings → Battery Saver → ON
2. Settings → Logs → Retention: 24 hours
3. Use DNS Proxy if possible
4. Disable real-time network monitor
5. Reduce blocklist count (use only essential lists)
4. Security-Focused Configuration
DNS: Quad9 or NextDNS
Blocklists:
✓ Hagezi Pro
✓ URLHaus Malware
✓ Phishing Army
✓ Dan Pollock's Hosts
Firewall:
- Block unknown apps by default
- Whitelist only trusted apps
- Enable "Block when screen off" for social apps
5. Privacy-Focused Configuration
DNS: Mullvad DNS or Quad9
Blocklists:
✓ All tracker lists
✓ Privacy blocklists
✓ Analytics blocklists
Settings:
- Disable logs or set 1-hour retention
- Use DNS-over-HTTPS
- Enable "Block third-party DNS"
Quick Reference Commands
Most Used Operations
| Action | Path | Quick Tip |
|---|---|---|
| Enable/Disable | Home → Power button | Use Quick Settings tile |
| Block app | Configure → Apps → Toggle | Swipe app left for quick block |
| View logs | Configure → Logs | Filter by app for specific issues |
| Whitelist domain | Configure → DNS → Domain Rules | Long-press log entry to whitelist |
| Change DNS | Configure → DNS → Select | Test different providers for speed |
| Export logs | Logs → Menu → Export | Use for debugging |
| Backup config | Settings → Backup | Do before major changes |
Useful Shortcuts
Quick Actions from Logs
From Network Log Entry:
- Long-press domain → Whitelist/Blacklist
- Tap app name → Go to app settings
- Tap domain → Copy domain name
Notification Controls
Quick Actions in Notification:
- Pause/Resume protection
- View active queries count
- Access app quickly
Performance Tips
Optimize for Speed
-
Use Fewer Blocklists:
Fewer lists = Faster DNS resolution Recommended: 3-5 well-maintained lists -
Choose Fast DNS:
Test DNS providers: Settings → Network Test → DNS Speed Test -
Clear Cache Regularly:
Settings → Clear DNS Cache (weekly) -
Use DNS Proxy Mode:
Lower overhead than full VPN mode Better for battery and performance
Automation & Integration
Tasker Integration (Advanced)
Auto-enable Strict Mode at Night:
Tasker Task:
1. Send Intent: com.celzero.bravedns.FIREWALL_MODE
2. Extra: mode=strict
3. Time: 11 PM - 6 AM
Auto-disable for Specific WiFi:
When connected to trusted WiFi:
Send Intent to disable Rethink temporarily
Update & Maintenance
Keep Rethink Updated
Check for Updates:
Settings → About → Check for updates
Update Blocklists:
Configure → DNS → Blocklists → Pull to refresh
Automatic updates: Weekly (configurable)
Clean Old Logs:
Settings → Logs → Clear Old Logs
Keeps app lightweight
Example Workflows
Workflow 1: Setting Up for First Time
1. Install Rethink DNS
2. Launch → Grant VPN permission
3. Select "Rethink DNS" mode
4. Enable blocklists:
- OISD Basic
- Hagezi Pro
5. Enable protection (Power button)
6. Test browsing → Verify ads blocked
7. Configure → Apps → Review critical apps → Whitelist if needed
8. Done!
Workflow 2: Troubleshooting App Issues
1. User reports: "Banking app not working"
2. Configure → Logs
3. Filter by banking app name
4. Identify blocked domains (red entries)
5. Configure → DNS → Domain Rules → Whitelist
6. Add each blocked domain
7. Clear app cache
8. Test banking app
9. If still issues, temporarily disable blocklists
10. Re-enable lists one-by-one to find culprit
Workflow 3: Battery Optimization
1. Settings → Battery Saver → Enable
2. Configure → Apps → Social Media apps
3. For each: Enable "Block when screen off"
4. Settings → Logs → Retention: 6 hours
5. Monitor battery usage over 24 hours
6. Adjust blocklist count if still high drain
Workflow 4: Privacy-First Setup
1. Configure → DNS → Select "Mullvad DNS"
2. Configure → DNS → Blocklists → Enable:
- All tracker lists
- Analytics lists
- Hagezi Privacy
3. Settings → Logs → Retention: 1 hour (or disable)
4. Configure → Apps → Block all by default
5. Whitelist only essential apps
6. Settings → Connectivity → Block IPv6 (optional)
7. Enable "Block third-party DNS"
Community & Support
Getting Help
- GitHub Issues: Report bugs, request features
- Telegram: Join community for quick help
- Documentation: https://docs.rethinkdns.com
- Reddit: r/rethinkdns (community discussions)
Contributing
- Report Issues: GitHub Issues tracker
- Translations: Help translate the app
- Blocklists: Suggest new lists
- Code: Submit pull requests
Important Notes
⚠️ VPN Limitation: Android allows only one VPN at a time. Use DNS Proxy mode if you need another VPN.
⚠️ Enterprise Networks: May conflict with corporate VPN. Use DNS Proxy or disable Rethink on work network.
⚠️ Battery: VPN mode uses more battery than DNS Proxy mode. Optimize settings for daily use.
⚠️ Privacy: Logs stored locally on device. Set retention period based on your needs.
✅ Open Source: Fully auditable code, no telemetry, no data collection.
Version Information
Current Guide Version: 2025 Rethink DNS Latest: v0.5.5+ (Check GitHub for current version) Last Updated: Based on latest available documentation as of 2025
License
This guide is created for educational purposes. Rethink DNS is licensed under Apache License 2.0.
Official Resources:
- GitHub: https://github.com/celzero/rethink-app
- Website: https://rethinkdns.com
- Docs: https://docs.rethinkdns.com
End of Guide
---
## How to Use This Guide - Explained
### For Beginners
**Start Here:**
1. Read the "Overview" and "Key Features" sections first
2. Follow the "Installation & Setup" guide step-by-step
3. Learn the "Essential Daily Commands" - focus on commands 1-5 first
4. Use "Workflow 1" as your first-time setup guide
**Example Scenario: Complete Beginner Setup**
Day 1 - Initial Setup:
- Install app from Play Store
- Follow “First Launch Configuration”
- Enable with default settings (Rethink DNS mode)
- Browse normally and observe blocked ads
Day 2 - Basic Customization:
- Learn Command #2: Check Current Status
- Review what’s being blocked
- Practice Command #3: Block/Unblock specific apps
- Example: Block Instagram when screen off
Day 3 - DNS Exploration:
- Learn Command #4: DNS Configuration
- Try different DNS providers (Cloudflare, Quad9)
- Notice speed differences
- Stick with fastest one
Day 4 - Fine-tuning:
- Learn Command #6: Whitelist/Blacklist
- Fix any broken websites/apps
- Add necessary domains to whitelist
Day 5 - Monitoring:
- Learn Command #7: Monitor Network Activity
- Watch real-time queries
- Understand what apps are doing
### For Intermediate Users
**Focus On:**
- Advanced Features section
- Per-app DNS settings
- Custom blocklist configurations
- WireGuard VPN integration
- Log analysis and export
**Example Use Case: Privacy-Conscious User**
Goal: Maximum privacy with minimal tracking
Setup Process:
- Choose privacy-focused DNS (Mullvad/Quad9)
- Enable aggressive blocklists:
- All tracker blocklists
- Analytics lists
- Hagezi Privacy Plus
- Set up per-app rules:
- Block social media background access
- Allow only essential apps
- Configure logging:
- Set 1-hour retention
- Or disable logs completely
- Monitor for a week:
- Check which domains need whitelisting
- Fine-tune rules
- Export logs for analysis
### For Advanced Users
**Explore:**
- On-device DNS server setup
- WireGuard integration for VPN + DNS
- Tasker automation
- Network-wide deployment
- Custom blocklist creation
**Example Use Case: Network Administrator**
Goal: Use Rethink as network-wide DNS filter
Implementation:
- Set static IP on Android phone
- Enable “On-Device DNS Server”
- Configure router to use phone as DNS: Primary DNS: 192.168.1.5:5354
- Enable aggressive blocklists
- Monitor all network traffic from phone
- Create custom rules for family needs
- Set up automatic backups
- Export logs daily for analysis
---
## Practical Examples in Detail
### Example 1: Stop YouTube Ads (Basic)
Problem: YouTube shows ads
Solution:
- Open Rethink DNS
- Configure → DNS → Blocklists
- Enable: ✓ AdGuard DNS Filter ✓ Hagezi Pro
- Apply changes
- Close and reopen YouTube
- Verify ads are reduced
Note: YouTube ads in the app are harder to block. Browser-based YouTube works better.
### Example 2: Fix Online Banking App (Troubleshooting)
Problem: Banking app shows “Connection Error”
Step-by-step Fix:
- Configure → Logs
- Open banking app (let it fail)
- Go back to logs
- Filter by app name “MyBank”
- Look for red (blocked) entries
- Common blocked domains:
- analytics.bankname.com
- cdn.bankname.com
- secure.auth.bankname.com
- For each blocked domain: Configure → DNS → Domain Rules → Whitelist → Add
- Clear banking app cache
- Test again
Prevention: Add banking apps to whitelist before issues occur
### Example 3: Reduce Mobile Data Usage (Optimization)
Goal: Cut data usage by 40%
Strategy:
-
Identify data-hungry apps: Configure → Logs → Sort by query count
-
For social media apps (Facebook, Instagram, Twitter): Configure → Apps → [App Name] Enable “Block when screen off”
-
For games with ads: Enable aggressive ad-blocking lists Or block game completely
-
For news apps: Block tracker domains Reduces background prefetching
-
Monitor for a week: Settings → Statistics Compare data usage before/after
Expected Results:
- 30-50% reduction in background data
- Fewer tracking requests
- Longer battery life (bonus!)
### Example 4: Child-Safe Internet (Parental Control)
Goal: Safe internet for children’s device
Configuration:
-
DNS Setup: Configure → DNS → Select “CleanBrowsing Family” (Blocks adult content automatically)
-
Blocklists: ✓ Hagezi Pro ✓ AdGuard DNS Filter ✓ OISD Full ✓ Add “Adult content” lists
-
App Rules: Configure → Apps → Block by default Whitelist only:
- Educational apps
- Approved games
- Kid-friendly streaming
-
Time-based Rules (requires Tasker):
- Restrict social media to 1 hour/day
- Block gaming apps during homework time
- Allow only educational apps during study hours
-
Monitoring:
- Check logs daily
- Review accessed domains
- Adjust rules as needed
-
Lock Settings: Settings → Security → Set PIN Prevents child from disabling Rethink
### Example 5: Travel/Public WiFi Security (Advanced)
Scenario: Using untrusted public WiFi at airport/hotel
Security Setup:
-
Before Connecting: Configure → DNS → Select “Quad9” (malware blocking)
-
Enable Strict Firewall: Configure → Apps → Block all by default Whitelist only:
- Browser
- Messaging apps
- Essential travel apps
-
Add WireGuard VPN: Configure → Proxy → WireGuard Import your VPN config Enable VPN + Rethink together
-
Aggressive Blocklists: ✓ URLHaus Malware ✓ Phishing Army ✓ Hagezi Threat Intelligence
-
Monitoring: Keep logs visible Watch for suspicious domains Common threats:
- Fake login pages
- Malware delivery domains
- Tracking pixels
-
After Travel: Restore normal configuration Or keep travel profile saved for next time
---
## Visual Guide: Understanding the Interface
### Home Screen Elements
┌─────────────────────────────┐ │ [Power Button] 🟢 │ ← Enable/Disable protection ├─────────────────────────────┤ │ DNS: Rethink DNS │ ← Current DNS provider │ Mode: VPN │ ← Operating mode ├─────────────────────────────┤ │ Network Activity (Live) │ │ ├─ Chrome: google.com ✓ │ ← Real-time queries │ ├─ Instagram: graph.fb ✗ │ ← (✓=allowed, ✗=blocked) │ └─ WhatsApp: wa.me ✓ │ ├─────────────────────────────┤ │ Statistics │ │ Queries: 1,234 │ │ Blocked: 456 (37%) │ │ Allowed: 778 (63%) │ └─────────────────────────────┘ ▼ Scroll for more ▼
### Configure Menu Structure
Configure ├─ DNS │ ├─ DNS Provider (Select/Add) │ ├─ Blocklists (Enable/Disable) │ ├─ Domain Rules (Whitelist/Blacklist) │ └─ DNS Proxy Mode ├─ Apps │ ├─ All Apps (Individual controls) │ ├─ Universal Rules │ └─ IP Rules ├─ Proxy │ ├─ WireGuard │ └─ SOCKS5 └─ Logs ├─ Network Logs ├─ DNS Logs └─ Filters & Export
---
## Keyboard Shortcuts (Android)
While Rethink doesn't have traditional keyboard shortcuts, you can use:
- **Quick Settings Tile**: Swipe down → Tap Rethink tile (toggle on/off)
- **Search**: In app, use search bar to quickly find apps or domains
- **Long-press**: Long-press log entries for quick whitelist/blacklist
---
## Conclusion
This guide covers everything you need to use Rethink DNS effectively in 2025. The app is powerful but intuitive once you understand the core concepts:
1. **DNS filtering** blocks unwanted content at the domain level
2. **Firewall rules** control which apps can access the internet
3. **Logs** help you understand and troubleshoot your network
4. **Customization** lets you fine-tune everything to your needs
**Next Steps:**
- Bookmark this guide for reference
- Start with "Workflow 1" if you're new
- Join the community for updates
- Contribute back by sharing your configurations
**Remember:**
- Start simple, add complexity gradually
- Monitor logs to understand what's happening
- Backup your configuration before major changes
- Update blocklists regularly (weekly recommended)
---
**Sources & Citations:**
1. Official Rethink DNS GitHub Repository: https://github.com/celzero/rethink-app
2. Rethink DNS Official Website: https://rethinkdns.com
3. Documentation: https://docs.rethinkdns.com
4. Community discussions and user reports from GitHub Issues
5. Latest release notes and changelogs (v0.5.5+)
*This guide is community-created and maintained. For official documentation, always refer to the links above.*