AdguardTeam / AdguardForiOS

The most advanced ad blocker for iOS
https://adguard.com/
GNU General Public License v3.0
1.44k stars 202 forks source link

VPN fails to connect with big sized DNS filterlist #2157

Open Morku opened 1 year ago

Morku commented 1 year ago

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

Issue Details

  1. Add https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.plus.txt under DNS protection
  2. Enable DNS protection
  3. VPN tries to connect, but fails and is never done -> no connection to internet possible
  4. when disable HaGeZi's DNS list, VPN is just connecting fine again
  5. enable HaGeZi's DNS list and the issue directly recovers

That the issue is related due size of the DNS list, is just speculation of my side. The issue could be something else, but over 500.000 entries is big. It also could be something in the filterlist specific.

A logfile will be send after.

Expected Behavior

In best case a connected and working fine VPN connection with filtering.

If size is the limit/problem -> a better indictation why VPN protection won't work with the filterlist. At current state, the user is adding the big DNS filterlist, but has no idea why it is not working.

Actual Behavior

DNS VPN does not connect. You can see under VPN setting, how it tries to connect and even "Disconnect" to retry to connect in a loop. Check the Video.

Video

Video: https://user-images.githubusercontent.com/6276915/231964207-06111592-6f0f-4cf4-bd83-fd2e49268577.mp4
ghost commented 1 year ago

Reproduced on iOS 16.4.1, iPhone 13 Pro 128gb.

Versty commented 1 year ago

@Morku Yes, your guess is correct, this issue is caused by the size of DNS filter list. iOS have a strict limit of 15MB RAM usage in the background for the VPN tunnel. We are currently refactoring the application code, some kind of warning for this case should definitely be added in the future versions.