question: How do websites know when you are using an adblocker?
comment: In simple terms, they attempt to create an object which adblock blocks, then they run a script to detect whether the object exists or not. If they can't find the object they know you are running a blocker.
passages: It has been suggested that in the European Union, the practice of websites scanning for ad blocking software may run afoul of the E-Privacy Directive. This claim was further validated by IAB Europe's guidelines released in June 2016 stating that there indeed may be a legal issue in ad blocker detection. While some anti-blocking stakeholders have tried to refute this it seems safe to assume that Publishers should follow the guidelines provided by the main Publisher lobby IAB. The joint effort announced by IAB Sweden prior to IAB Europe's guideline on the matter never materialized, and would have most likely been found against European anti-competition laws if it did.
   Some webmasters have used JavaScript to detect the effects of the popular Adblock Plus filters. This is done by generating a honeypot-like URL, verifying its delivery, and DOM verification after the web page is rendered by the web browser, to ensure the expected advertising elements are present. Detection is simplified since the extension is not yet capable of replacing content; Loopback proxies provide this additional functionality.
   These methods do not detect the presence of the Adblock Plus extension directly, only the effects of the filters. They are vulnerable to continued filter updates, and whitelist-filtering web scripts with extensions such as NoScript.
  
  An attempt was made to detect the plug-in itself, but that detection method was rendered unusable by the 0.7.5.2 update of Adblock Plus.
   Many websites rely on ads as a source of revenue, but the use of ad blockers is increasingly common. Websites that detect an adblocker in use often ask for it to be disabled - or their site to be "added to the whitelist" - a standard feature of most adblockers.
  
  Section::::LAN whitelists.
   Several techniques exist for creating parental controls for blocking websites. Add-on parental control software may monitor API in order to observe applications such as a web browser or Internet chat application and to intervene according to certain criteria, such as a match in a database of banned words. Virtually all parental control software includes a password or other form of authentication to prevent unauthorized users from disabling it
   Section::::Methods.:Recursive Local VPN.
  
  On Android, apps can run a local VPN connection with its own host filtering ability and DNS address without requiring root access. This approach allows adblocking app to download adblocking host files and use them to filter out ad networks throughout the device. Blokada, DNS66, AdGuard are few of the popular apps which accomplish adblocking without root permission. The adblocking is only active when the local VPN is turned on, and it completely stops when the VPN connection is disconnected. The convenience makes it easy to access content blocked by anti-adblock scripts.
   A service provider will integrate some or all its feeds into a single filtering device or stack, sometimes in conjunction with an upstream provider performing additional filtering. The following content-control technologies have been confirmed to be used to implement all types of web blocking (includes virtual operators):
  
  Rulespace and O2 are the only known services with a public categorisation and blocking check tool.
  
  Section::::Circumvention.
  
  Site blocks can be circumvented using method trivial through to complex such as use of Tor, VPNs, site specific and general web proxies, and other circumvention techniques.
  
  Section::::Circumvention.:Child abuse image content list.
   Section::::Methods.:Hosts file and DNS manipulation.
   Adaptive rood pattern search (ARPS) algorithm makes use of the fact that the general motion in a frame is usually coherent, i.e. if the macro blocks around the current macro block moved in a particular direction then there is a high probability that the current macro block will also have a similar motion vector. This algorithm uses the motion vector of the macro block to its immediate left to predict its own motion vector.
  
  Adaptive rood pattern search runs as follows:
  
  BULLET::::1. Start with search location at the center (origin)
  
  BULLET::::2. Find the predicted motion vector for the block
   As of 2015, many web browsers block unsolicited pop-up ads automatically. Current versions of Konqueror and Internet Explorer also include content filtering support. Content filtering can be added to Firefox, Chromium-based browsers, Opera, Safari, and other browsers with extensions such as AdBlock, Adblock Plus, and uBlock Origin, and a number of sources provide regularly updated filter lists. Adblock Plus (provided by the German software house Eyeo GmbH) is included in the freeware browser Maxthon from the People's Republic of China by default. Another method for filtering advertisements uses Cascading Style Sheets (CSS) rules to hide specific HTML and XHTML elements.
   Using a DNS sinkhole by manipulating the hosts file exploits the fact that most operating systems store a file with IP address, domain name pairs which is consulted by most browsers before using a DNS server to look up a domain name. By assigning the loopback address to each known ad server, the user directs traffic intended to reach each ad server to the local machine or to a virtual black hole of /dev/null or bit bucket.
  
  Section::::Methods.:DNS filtering.
   In August 2017, the Admiral advertising company sent a Digital Millennium Copyright Act (DMCA) takedown notice to EasyList to remove the domain "functionalclam.com" from the blacklist. Admiral argues that the domain is part of its access control technology of its advertising platform, and therefore the blacklisting is an attempt to circumvent a technical protection measure, which is forbidden under the DMCA section 1201.
  
  Section::::Detection.
   It is a known problem with most web browsers, including Firefox, that restoring sessions often plays multiple embedded ads at once. However, this annoyance can easily be averted simply by setting the web browser to clear all cookies and browsing-history information each time the browser software is closed. Another preventive option is to use a script blocker, which enables the user to disable all scripts and then to selectively re-enable certain scripts as desired, in order to determine the role of each script. The user thus can very quickly learn which scripts are truly necessary (from the standpoint of webpage functionality) and consequently which sources of scripts are undesirable, and this insight is helpful in visiting other websites in general. Thus by precisely controlling which scripts are run in each webpage viewed, the user retains full control over what happens on his/her computer CPU and computer screen.
   The original version of Adblock (0.1) was written as a side project for Firefox by Danish software developer Henrik Aasted Sorensen, a university student at the time, in 2002. It hid image ads through user-defined filters from the page but did not actually prevent them from being downloaded. Sorensen maintained the open source project until Adblock 0.3 after which the project changed hands. This was also the last stable release of Adblock.
   Site blocking can be circumvented by BugMeNot users by publishing usernames and passwords under a similar, but different, domain name to which they apply. For example, the owners of the domain abc.def.com might request a block to be put in place, but this will not prevent users uploading access information under the name of def.abc.com. Since one domain owner cannot demand that another domain be blocked, the information remains and is accessible provided that BugMeNot users tacitly agree that def.abc.com in fact refers to abc.def.com. For example, Wikipedia logins are in the database under wikipedia.net because wikipedia.com and wikipedia.org have been banned under the first criterion.
   AdBlock uses the same filter syntax as Adblock Plus for Firefox and natively supports Adblock Plus filter subscriptions. Filter subscriptions can be added from a list of recommendations in the "Filter Lists" tab of the AdBlock options page, or by clicking on an Adblock Plus auto-subscribe link.
  
  Section::::Partnership with Amnesty International.
   Monitoring options vary by service or product and range from monitoring a single web page at a time to entire web sites. What is actually monitored also varies by service or product with the possibilities of monitoring text, links, documents, scripts, images or screen shots.
  
  With the notable exception of Google's patent filings related to Google Alerts, intellectual property activity by change detection and notification vendors is minimal. No one vendor has successfully leveraged exclusive rights to change detection and notification technology through patents or other legal means. This has resulted in significant functional overlap between products and services.
   Tracking down a spammer's ISP and reporting the offense can lead to the spammer's service being terminated and criminal prosecution. Unfortunately, it can be difficult to track down the spammer—and while there are some online tools to assist, they are not always accurate. Occasionally, spammers employ their own netblocks. In this case, the abuse contact for the netblock can be the spammer itself and can confirm your address.
   Privacy-enhancing technologies, otherwise known as PETs, have been utilized by individuals to reduce data collection and decrease the possibility for dataveillance. PETs, such as adblocker, attempt to prevent other actors from collecting users data. In the case of adblock, the web browser extension is able to prevent the display of advertisements, which disrupts data collection about users online interactions. For businesses that may limit their opportunity to provide online users with tailored advertisements. 
   Section::::Research.
  
  AdGuard developers have taken up non-commercial research in order to inform wider audiences on user privacy, cybersecurity and data protection. The following issues are notable cases involving the developers:
  
  BULLET::::- Facebook Ad Network widespread distribution
  
  BULLET::::- Fake adblockers
  
  BULLET::::- Popular Android and iOS app privacy issues
  
  BULLET::::- Top-ranked websites involved in cryptojacking
  
  Section::::Incidents.
  
  BULLET::::- Distribution of AdGuard for Android was discontinued by Google Play at the end of 2014. It nevertheless is still being updated and has been made available for download from the developers’ own website.
   Section::::Response from publishers.
  
  Section::::Response from publishers.:Countermeasures.
  
  Some websites have taken countermeasures against ad blocking software, such as attempting to detect the presence of ad blockers and informing users of their views, or outright preventing users from accessing the content unless they disable the ad blocking software, whitelist the website, or buy an "ad-removal pass". There have been several arguments supporting and opposing the assertion that blocking ads is wrong.
  
  Some publisher companies have taken steps to protect their rights to conduct their business according to prevailing law.
   Advertising can be blocked by using a DNS server which is configured to block access to domains or hostnames which are known to serve ads by spoofing the address. Users can choose to use an already modified DNS server or set up a dedicated device such as a Raspberry Pi themselves. Manipulating DNS is a widely employed method to manipulate what the end user sees from the Internet but can also be deployed locally for personal purposes. China runs its own root DNS and the EU has considered the same. Google has required their Google Public DNS be used for some applications on its Android devices. Accordingly, DNS addresses / domains used for advertising may be extremely vulnerable to a broad form of ad substitution whereby a domain that serves ads is entirely swapped out with one serving more local ads to some subset of users. This is especially likely in countries, notably Russia, India and China, where advertisers often refuse to pay for clicks or page views. DNS-level blocking of domains for non-commercial reasons is already common in China.
   An approach introduced in mid-2006 involves switching to a special DNS service that filters out known phishing domains: this will work with any browser, and is similar in principle to using a hosts file to block web adverts.
   Google Chrome had a defect in Content Security Policy that allowed the detection of any installed extension, including Adblock Plus for Google Chrome. The solution of this was possible only in Google Chrome 18, and requires each developer to make some changes in their extensions. Adblock Plus for Google Chrome fixed this in version 1.3.
  
  Section::::Security.
   Like Mozilla's built-in image blocker, Adblock Plus blocks HTTP and HTTPS requests according to their source address and additional context information and can block iframes, scripts, and Flash. It also uses automatically generated user stylesheets to hide elements such as text ads on a page as they load instead of blocking them, known as element hiding.
  
  Section::::Operation.:Android.
  