You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First, I'm sorry if this has already been discussed or answered elsewhere. I tried searching quite a bit, but couldn't find a definitive answer.
TLDR;
Does AdGuard support per-clientsafe search settings with cache_enabled: true without "client cache pollution/bleed" (Yes/No)?
The Longer Version
Those are the knowns (for me):
Adguard use global cache, and client info (ID) is not part of the cache key
Adguard supports per-client settings override (in UI as well), so you can set (for example) Safe Search globally enabled and on a per-client basis disable safe search (or change its settings).
Adguard supports per-client cache settings, for example, client cache size.
However, in real life, this does not work reliably (I couldn't manage to make this usable):
In Real Life:
Due to the global cache, the first client to query (let's say -) YouTube, will fill the cache with the resulting redirects.
The second client to ask for YouTube will get the answer from the cache. This is regardless of whether the answer matches the per-client settings or not.
Making this setup invalid since it will send clients that should be restricted to the unrestricted sites and vice versa.
Notes:
Disabling caching completely will probably solve the issue, but it is not possible in my use case (or suggested to be done at all).
Optimistic caching for client cache can reduce the pollution, but will not solve it.
Similarly, low TTLs can reduce issues, not prevent them.
Per-client cache settings (upstreams_cache_enabled|size, etc) do not seem to affect/help this issue. As long as the cache is used (not disabled), there will be cache pollution.
Summary
If I try to conclude all of the above into a single statement, it will be:
Important
Adguard does not support per-client safe searching if cache is enabled.
Or
Warning
Per-client safe searching when the global cache is used will have unpredictable and unreliable results due to client cache bleed.
Official Information Lacking
However, I can't find any official wording to match those statements.
On the contrary, I see many that suggest this should "just work", and obviously, considerable development time was done to allow per-client safe searching settings overrides.
The Open Question
I don't understand why to put development effort into a per-client safe searching code/feature, when caching kills this feature, and not document this clearly (e.g., "choose either caching or per-client safe search, but can't have both").
I'm not trying to step on anyone's toes, I'm really trying to understand the expected behavior vs the observed behavior, and I spent a lot of time with little official findings.
Does AdGuard support per-client safe search settings with cache enabled (Yes/No)?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
First, I'm sorry if this has already been discussed or answered elsewhere. I tried searching quite a bit, but couldn't find a definitive answer.
TLDR;
Does AdGuard support per-client
safe searchsettings withcache_enabled: truewithout "client cache pollution/bleed" (Yes/No)?The Longer Version
Those are the knowns (for me):
In Real Life:
YouTube, will fill the cache with the resulting redirects.YouTubewill get the answer from the cache. This is regardless of whether the answer matches the per-client settings or not.Notes:
Optimistic caching for client cachecan reduce the pollution, but will not solve it.Per-client cache settings(upstreams_cache_enabled|size, etc) do not seem to affect/help this issue. As long as the cache is used (not disabled), there will be cache pollution.Summary
If I try to conclude all of the above into a single statement, it will be:
Important
Adguard does not support per-client safe searching if cache is enabled.
Or
Warning
Per-client safe searching when the global cache is used will have unpredictable and unreliable results due to client cache bleed.
Official Information Lacking
However, I can't find any official wording to match those statements.
On the contrary, I see many that suggest this should "just work", and obviously, considerable development time was done to allow per-client safe searching settings overrides.
The Open Question
I don't understand why to put development effort into a
per-client safe searchingcode/feature, when caching kills this feature, and not document this clearly (e.g., "choose either caching or per-client safe search, but can't have both").I'm not trying to step on anyone's toes, I'm really trying to understand the expected behavior vs the observed behavior, and I spent a lot of time with little official findings.
Does AdGuard support per-client safe search settings with cache enabled (Yes/No)?
Beta Was this translation helpful? Give feedback.
All reactions