Problem
When using AdGuard 4.14.0 Custom IP blocking mode (dns_custom_blocking_ipv4 = 127.0.0.1) with a local WebServer (e.g. AdAway), blocked ad requests are rejected at AdGuard HTTP proxy layer before reaching the WebServer.
- DNS resolution works: domains resolve to 127.0.0.1 ✅
- Direct connection to 127.0.0.1:80 works (returns webp placeholder) ✅
- Through AdGuard VPN: Connection refused ❌
Root cause: ad_blocking_enabled=true intercepts ad-host requests at HTTP layer.
Reproduction
- Install AdGuard 4.14.0 (local APK, not Play Store) + AdAway (WebServer on 127.0.0.1:80)
- Go to Settings → Filters → DNS blocking → Custom IP → enter 127.0.0.1
- Enable ad-blocking (default ON)
- Visit ad-laden page
- Ad requests get Connection refused
Workaround
Edit base.xml:
Then ad requests reach AdAway and return webp images.
Expected Behavior
When Custom IP blocking is configured:
- DNS resolves blocked domains to custom IP (works)
- HTTP requests should reach the custom IP (broken - rejected at proxy)
- WebServer response should be returned to client
Request
Implement one of:
- Option A: Auto-disable HTTP filtering when Custom IP mode is active
- Option B: Add UI indicator for Custom IP mode
- Option C: Add config option Allow local WebServer for custom blocking IP
This enables AdAway/Pi-hole integration for ad placeholder images.
Environment
- ColorOS 16.1.0 / Android 16 (Rooted)
- AdGuard version: 4.14.0 (versionCode=42218007, local APK)
- AdAway: com.wxcvm.Adaway (127.0.0.1:80)
Problem
When using AdGuard 4.14.0 Custom IP blocking mode (dns_custom_blocking_ipv4 = 127.0.0.1) with a local WebServer (e.g. AdAway), blocked ad requests are rejected at AdGuard HTTP proxy layer before reaching the WebServer.
Root cause: ad_blocking_enabled=true intercepts ad-host requests at HTTP layer.
Reproduction
Workaround
Edit base.xml:
Then ad requests reach AdAway and return webp images.
Expected Behavior
When Custom IP blocking is configured:
Request
Implement one of:
This enables AdAway/Pi-hole integration for ad placeholder images.
Environment