I believe this describes them altering the ad host at load time for the page. DNS blocking of ad serving hosts only work if the hostname stays predictable, so just having dynamically named hosts that change in the loading of the page would make blocking more difficult.
Example: 1234.youtube-ads.com is blocked by AdBlockerX. 5678.youtube-ads-xyz.com is not on the blocklist, so is let through. All they have to do is cycle host or domain names to beat DNS blocking for the most part.
Previously, injecting hostnames live for EACH page load had two big issues:
DNS propagation is SLOW. Creating a new host or domain and having it live globally on multiple root servers can take hours, sometimes days.
Live form injection of something like this takes compute, and is normally set as part of a static template.
They’re just banking on making more money from increased ad revenue to offset the technical challenges of doing this, and offsetting the extra cost of compute. They’re also betting that the free adblocking tools will not spend the extra effort to constantly update and ship blocklist changes with updated hosts. I guarantee some simple logic will be able to beat this with client-side blocklist updating though (ie: tool to read the page code and block ad hosts). It’ll be tricky, probably have some false positives here and there, but effective.
As long as the naming pattern is distinct from important domains you can still block it based on pattern matching. They need to obfuscate ad domains and other hosting domains the same way.
Creating subdomains is quite fast because the request goes right through when it’s unknown to caches, it’s updates when you reuse existing ones that causes trouble with lag.
I’ve tested making new subdomains, it’s literally minutes in real life. Sure, in some pathological case it might be hours, but it’s not actually going to happen realistically.
I believe this describes them altering the ad host at load time for the page. DNS blocking of ad serving hosts only work if the hostname stays predictable, so just having dynamically named hosts that change in the loading of the page would make blocking more difficult.
Example: 1234.youtube-ads.com is blocked by AdBlockerX. 5678.youtube-ads-xyz.com is not on the blocklist, so is let through. All they have to do is cycle host or domain names to beat DNS blocking for the most part.
Previously, injecting hostnames live for EACH page load had two big issues:
DNS propagation is SLOW. Creating a new host or domain and having it live globally on multiple root servers can take hours, sometimes days.
Live form injection of something like this takes compute, and is normally set as part of a static template.
They’re just banking on making more money from increased ad revenue to offset the technical challenges of doing this, and offsetting the extra cost of compute. They’re also betting that the free adblocking tools will not spend the extra effort to constantly update and ship blocklist changes with updated hosts. I guarantee some simple logic will be able to beat this with client-side blocklist updating though (ie: tool to read the page code and block ad hosts). It’ll be tricky, probably have some false positives here and there, but effective.
As long as the naming pattern is distinct from important domains you can still block it based on pattern matching. They need to obfuscate ad domains and other hosting domains the same way.
Creating subdomains is quite fast because the request goes right through when it’s unknown to caches, it’s updates when you reuse existing ones that causes trouble with lag.
I’ve tested making new subdomains, it’s literally minutes in real life. Sure, in some pathological case it might be hours, but it’s not actually going to happen realistically.