This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
advanced-adblock [2023/08/05 17:20] – [Domain Blacklist URLs & Group-of-Lists] hogwild | advanced-adblock [2025/02/23 01:27] (current) – [Domain blacklist custom] -spelling, condense hogwild | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Adblock ====== | + | ====== Adblock |
- | This menu contains settings to configure FreshTomato' | + | This menu contains settings to configure FreshTomato' |
+ | |||
+ | You are strongly advised | ||
+ | |||
+ | In documentation, the function/ | ||
- | In this documentation, | ||
===== v1 and v2 ===== | ===== v1 and v2 ===== | ||
Line 9: | Line 12: | ||
There are currently two versions of Adblock: [[advanced-adblock# | There are currently two versions of Adblock: [[advanced-adblock# | ||
- | \\ This table lists the Adblock versions available on different types of hardware\\ | + | \\ This table lists the Adblock versions available on different types of hardware\\ \\ |
- | ^ Hardware ^ FT < 2023.1 ^ FT >= 2023.1 ^ | + | ^ Hardware ^ Releases |
| MIPS R1 | [[advanced-adblock# | | MIPS R1 | [[advanced-adblock# | ||
| MIPS R2 | [[advanced-adblock# | | MIPS R2 | [[advanced-adblock# | ||
| ARM | [[advanced-adblock# | | ARM | [[advanced-adblock# | ||
- | \\ Adblock v1 functionality is a reduced version of ad-blocking scripts | + | \\ Adblock v1 functionality is taken from ad-blocking scripts outside FreshTomato. |
Adblock v2 uses advanced methods to block ads. It should be the preferred choice whenever possible. | Adblock v2 uses advanced methods to block ads. It should be the preferred choice whenever possible. | ||
Line 23: | Line 26: | ||
===== How Adblock Works ===== | ===== How Adblock Works ===== | ||
- | FreshTomato' | + | Adblock works through DNS cache poisoning, as follows: |
+ | |||
+ | \\ | ||
+ | |||
+ | - A client makes a DNS request to resolve a (sub)domain. \\ \\ | ||
+ | - Dnsmasq searches both its positive lookup cache and its negative \\ lookup cache for a match of the requested (sub)domain. (( | ||
+ | You can adjust settings for both caches in the //dnsmasq custom configuration// | ||
+ | )) \\ If it finds an entry, the script proceeds to step 5. If not, it proceeds\\ to step 3.\\ \\ | ||
+ | - Dnsmasq searches its configuration files for a corresponding \\ entry. \\ \\ For adblock, the " | ||
+ | - Dnsmasq queries an upstream DNS server for the (sub)domain, | ||
+ | - The result from these steps is sent to the cache and returned \\ to the requesting client. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Given a source list, the original script just blocks ads. However, there are other reasons for your network to avoid communication with certain servers. Thus, the function was renamed " | ||
- | * dnsmasq resolves the domain' | ||
- | * The adblock script then replaces that address with an address of 0.0.0.0 . | ||
- | * The 0.0.0.0 address is sent to the client requesting DNS resolution. | ||
- | * Since 0.0.0.0. is an NXDOMAIN (invalid/ | ||
- | Given a list of sources, the original script simply blocks ads. However, there are other reasons for your network to avoid communicating with certain servers. This function was therefore renamed "DNS Filtering" | ||
===== Adblock Settings ===== | ===== Adblock Settings ===== | ||
\\ **Enable**: Checking this box turns on Adblock. | \\ **Enable**: Checking this box turns on Adblock. | ||
- | The adblock script downloads | + | The adblock script downloads |
\\ | \\ | ||
- | **Debug mode (v1)** | + | **Debug mode (v1 only)** |
- | Checking this box enables debug mode for dnsmasq in the log. This tells FreshTomato | + | This enables debug mode for dnsmasq in the log. It tells FreshTomato |
- | \\ | + | This is useful when testing/ |
- | {{:: | + | For more on testing, see the Notes and Troubleshooting section of this page. |
- | \\ | + | \\ {{:: |
+ | |||
+ | \\ | ||
**Max Log Level (v2)**: | **Max Log Level (v2)**: | ||
- | Thew new v2 interface lets you set the maximum log level output the script will generate. | + | The newer v2 interface lets you set the maximum log level output the script will generate. |
- | Supported levels include: | + | \\ |
* 0: The script will log only basic messages like start and stop. | * 0: The script will log only basic messages like start and stop. | ||
- | * 3 | + | * 3 |
* 4 | * 4 | ||
* 5 | * 5 | ||
* 6 | * 6 | ||
- | * 7 (Debug level) writes very detailed log information. This is helpful when troubleshooting | + | * 7 (Debug level) writes very detailed log information, useful for troubleshooting. |
- | The higher the setting, the more detailed | + | \\ |
+ | |||
+ | The higher the number, the more detailed the information the logs will record. | ||
\\ | \\ | ||
Line 70: | Line 86: | ||
\\ | \\ | ||
- | A good way to view the logs is to go to the [[status-log|Logs]] menu and enter ' | + | \\ |
- | | + | A good way to view Adblock log entries is to go to the [[status-log|Logs]] menu and type: " |
+ | |||
+ | When set to level 7, adblock writes additional debug files in: "/ | ||
+ | |||
+ | (where " | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | \\ | ||
**Blockfile size limit (v2 only)**: | **Blockfile size limit (v2 only)**: | ||
- | Adblock v1 may crash FreshTomato if it loads lists whose combined information exceeds | + | V1 may crash FreshTomato if it loads lists whose combined information exceeds |
\\ | \\ | ||
Line 84: | Line 108: | ||
\\ | \\ | ||
- | This limit is calculated as 10% of physical RAM (when external storage is set). When no external storage is found, the limit is calculated as 6.5% of RAM. The limit can be also manually configured. However, if your device becomes unstable, | + | When using external storage, the limit is calculated as 10% of physical RAM. When no external storage is found, the limit is calculated as 6.5% of RAM. The limit can be manually configured |
- | To be clear, this is a limit, not a target. | + | This is a limit, not a target. |
\\ | \\ | ||
Line 92: | Line 116: | ||
**Custom Path (v2):** | **Custom Path (v2):** | ||
- | An important v2 feature | + | An important v2 option |
- | + | ||
- | \\ {{adblock-v2-custom_path.jpg? | + | |
\\ | \\ | ||
- | This is very useful when the script is re-run (manually or automatically) and there are no updated lists or configuration changes. The check for configuration changes involves controlling any modification to nvram variables since the last script run. | + | {{:: |
- | When a custom path is defined, adblock will: | + | It is also helpful when the script is rerun (manually or not) and there are no updated lists or configuration changes. The check for configuration changes involves controlling any modification to NVRAM variables since the last script run. |
- | | + | When a custom path is defined, Adblock will: |
- | - Compare those headers with the ones stored locally | + | |
+ | \\ | ||
+ | |||
+ | | ||
+ | - Compare those headers with the ones stored locally. | ||
- Decide whether to re-process the blocklists or not. | - Decide whether to re-process the blocklists or not. | ||
+ | |||
+ | \\ | ||
This runs as follows: | This runs as follows: | ||
- | | + | \\ |
- | * No updated lists are available | + | |
+ | | ||
+ | * No updated lists are available; | ||
* Skip the re-processing and return to idle. | * Skip the re-processing and return to idle. | ||
+ | |||
+ | \\ | ||
This saves time and resources. | This saves time and resources. | ||
- | Here, configuration means any externally-mapped files where // | + | " |
+ | |||
+ | For example: | ||
+ | |||
+ | Using a Custom path also allows adblock to load faster post-boot. | ||
\\ | \\ | ||
Line 121: | Line 157: | ||
==== Domain Blacklist URLs & Group-of-Lists ==== | ==== Domain Blacklist URLs & Group-of-Lists ==== | ||
- | This table contains a list of the blacklists | + | This table contains a list of blacklists |
- | **On: | + | **On: |
- | **Blacklist URL:** This shows the location on the Internet where that blacklist can be found. | + | Upon checking it, a gold star appears to confirm your choice. After selecting the blacklists to use, click **Save**. |
- | **NOTE:** Since release 2023.4 | + | \\ |
+ | |||
+ | **Blacklist URL:** shows the Internet location where that blacklist can be found. | ||
+ | |||
+ | Since release 2023.4, | ||
\\ | \\ | ||
- | {{:: | + | {{::advanced-adblock-domain_blacklist_urls.png?915}} |
\\ | \\ | ||
- | **Description: | + | **Description: |
- | **Delete: | + | \\ |
- | There is no option to reset these to the original Blacklist URL entries. | + | **Delete:** if you move your mouse over a row with a blacklist, a red " |
- | If you delete a URL that' | + | There' |
+ | |||
+ | If you delete an important URL, you will need to: | ||
* Re-enter it into the Blacklist URL table or; | * Re-enter it into the Blacklist URL table or; | ||
* Reset FreshTomato to default settings | * Reset FreshTomato to default settings | ||
- | **Add: | + | \\ |
- | You can also add a comment in the Description field. | + | However, the wiki contains a list of default blacklists: [[https:// |
+ | |||
+ | \\ | ||
+ | |||
+ | **Add:** inserts a blank row. There, you can type a new URL from which to download and use an additional Blacklist URL. | ||
+ | |||
+ | You can add a comment in the Description field. | ||
\\ | \\ | ||
Line 155: | Line 203: | ||
==== Compatible data formats ==== | ==== Compatible data formats ==== | ||
- | Target lists to be downloaded | + | Lists to download |
+ | |||
+ | \\ | ||
+ | |||
+ | - Lines from the source file are parsed. | ||
+ | - Comments | ||
+ | - The domains are extracted. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | This is true regardless of where (in which column) those domains are in the list. | ||
+ | |||
+ | \\ | ||
**Group-of-lists** | **Group-of-lists** | ||
- | Currently, v2 also accepts a new list format called " | + | V2 also accepts a new list format called " |
\\ | \\ | ||
Line 169: | Line 229: | ||
</ | </ | ||
- | | + | |
<code -> | <code -> | ||
Line 178: | Line 238: | ||
</ | </ | ||
- | | + | |
- | Adblock | + | When needed, adblock |
- | Group-of-lists are visible in the log file. For example, | + | \\ |
+ | |||
+ | Group-of-lists are visible in the log. | ||
+ | |||
+ | For example, | ||
+ | |||
+ | adblock is processing the 8th defined list in the Domain blacklist URLs & Group-of-lists on the second line (URL). | ||
==== Domain blacklist custom ==== | ==== Domain blacklist custom ==== | ||
- | {{: | + | {{: |
\\ | \\ | ||
Line 193: | Line 259: | ||
=== Domain Syntax === | === Domain Syntax === | ||
- | Several syntaxes are valid for this list: | + | The syntax |
- | * Standard domains (one entry per line) | + | \\ |
- | * A path to a local file where domains are defined. The file should contain one domain per line. \\ For example: "/ | + | |
- | * A domain prefixed with a " | + | |
- | When adding custom entries: | + | - Standard domains (one entry per line). |
+ | - A "#" | ||
+ | - A domain prefixed with " | ||
- | If you blacklist: | + | \\ \\ This table summarizes the Domain |
- | " | + | \\ |
- | " | + | ^ Adding custom entry ^ Will blacklist / Do the following ^ |
+ | | sub.domain.com | sub.domain.com \\ " | ||
+ | | +sub.domain.com | ||
+ | | # or ! | Any string defined before them is considered but the rest of the line is ignored. | ||
- | and all other subdomains will be blacklisted. | + | \\ You can also specify a path to a domain file (one domain per line). |
- | However, this may not be what you want. | + | For example: "/ |
- | To prevent subdomains of an entry from being filtered, prepend | + | Using external storage is convenient and offers some advantages for maintaining your blocklist. For example, moving |
- | For example, if you enter " | + | \\ |
- | Prepending | + | **Sort |
- | Any line starting with a "#" | + | \\ |
- | **Sort a-z ↓** **:** Clicking this button sorts the contents of this field alphabetically. \\ | + | |
+ | ==== Domain whitelist ==== | ||
+ | |||
+ | {{:pasted: | ||
\\ | \\ | ||
+ | === Domain whitelist syntax === | ||
- | ==== Domain whitelist | + | The Domain whitelist |
- | {{: | + | * Standard domains (one entry per line). |
+ | * Prepending a " | ||
+ | * Prepending a "#" | ||
\\ | \\ | ||
- | Domain whitelist | + | This table summarizes the Domain whitelist |
- | * Standard domains (one entry per line) | + | \\ |
- | * A path to a file of domains. For example: "/ | + | |
- | * A domain prepended with a " | + | |
- | * Blacklisting all subdomains may not be your goal. Whitelisting " | + | |
- | Any line starting with a “#” or “!” character | + | ^ Adding custom entry ^ Will whitelist / Do the following ^ |
+ | | sub.domain.com | sub.domain.com \\ sub2.sub.domain.com \\ and all other subdomains of sub.domain.com | | ||
+ | | %sub.domain.com | ||
+ | | # or ! | Any string defined before them is considered, but the rest of the line is ignored. | ||
- | **Sort a-z ↓** : Clicking this button sorts the field content alphabetically. | + | \\ |
- | \\ | + | You can also specify a path to a file of domains (one domain per line). |
+ | |||
+ | For example: "/ | ||
+ | |||
+ | Using external storage is both convenient and offers certain advantages for maintaining the blocklist. For example, moving a whitelist to another router would be as simple as removing a USB flash drive from one router and inserting it into the other (assuming both were set with the same storage location setting). Do not store you whitelist mapped file/s under the same location defined in **Custom path** as this latter gets wiped periodically. | ||
+ | |||
+ | \\ **Sort a-z ↓** : clicking this sorts the field contents alphabetically. | ||
+ | |||
+ | \\ | ||
=== Maintaining the Domain whitelist === | === Maintaining the Domain whitelist === | ||
- | A good way to maintain the whitelist is to share it on your LAN, and educate | + | One way to maintain the whitelist is to share it on your LAN, and teach users nslookup verification and whitelist additions. |
Such a process could be automated as follows: | Such a process could be automated as follows: | ||
Line 254: | Line 337: | ||
- How to use nslookup on a URL to verify DNS lookups are being poisoned | - How to use nslookup on a URL to verify DNS lookups are being poisoned | ||
- Where to find the whitelist (via its samba share) and; | - Where to find the whitelist (via its samba share) and; | ||
- | - After the whitelist has been edited, to configure settings in [[admin-buttons|Buttons/ | + | - After the whitelist has been edited, to configure settings in [[admin-buttons|Buttons/ |
| | ||
Line 261: | Line 344: | ||
==== Enforcing Client Compliance ==== | ==== Enforcing Client Compliance ==== | ||
- | For Adblock to work properly, client devices **must be configured** | + | For Adblock to work properly, client devices **must be configured** |
- | For the latter, | + | For the latter, enable DHCP. Then, enable the DNS server, |
- | These steps are mandatory. Clients that bypass FreshTomato' | + | These steps are mandatory. Clients that bypass FreshTomato' |
- | Three optional settings | + | \\ |
+ | |||
+ | Three optional settings | ||
+ | |||
+ | \\ | ||
- Enable //Intercept DNS port// in the [[advanced-dhcpdns|DHCP/ | - Enable //Intercept DNS port// in the [[advanced-dhcpdns|DHCP/ | ||
- | - Enable //Prevent Client auto DoH// in the [[advanced-dhcpdns|DHCP/ | + | - Enable //Prevent Client auto DoH// in [[advanced-dhcpdns|DHCP/ |
- | - Enable the "DoH Server" | + | - Enable the "DoH Server" |
- | Adblock v1 functionality is a reduced | + | \\ |
+ | |||
+ | V1 functionality is a version of scripts from outside FreshTomato. | ||
+ | |||
+ | Adblock v2 uses advanced methods to block ads. It should be the preferred choice whenever possible. | ||
- | Adblock/DNS Filtering affects name resolution only. If an application communicates directly via IP address, Adblock cannot prevent that. | + | Adblock/DNS Filtering |
- | Thorough management of domain blocking can be tedious | + | Thorough management of domain blocking can be tedious. For example, with email spam, you'll probably deal with false positives. |
- | Regardless of version, the script is always named " | + | Regardless of version, the script is always named " |
\\ | \\ | ||
Line 286: | Line 377: | ||
===== Adblock v2 ===== | ===== Adblock v2 ===== | ||
- | Adblock v2 improves on the original (v1) script. | + | Adblock v2 improves on the v1 script. |
- | \\ \\ \\ {{: | + | \\ \\ \\ {{: |
==== v2 Improvements ==== | ==== v2 Improvements ==== | ||
- | * Adblock v2 performs similar basic DNS filtering functionality to v1, but in a more precise | + | \\ |
- | | + | |
- | | + | - Filters |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
+ | | ||
+ | | ||
+ | |||
+ | \\ | ||
\\ | \\ | ||
- | To get help with adblock at the command line, type '' | + | To get help with adblock at a command line, type '' |
\\ | \\ | ||
Line 313: | Line 408: | ||
\\ | \\ | ||
- | \\ {{: | + | \\ {{: |
- | | + | \\ {{: |
- | \\ \\ To open the last trace file automatically, | + | \\ \\ \\ |
- | \\ {{: | + | To open the last trace file automatically, |
+ | |||
+ | {{: | ||
\\ | \\ | ||
Line 332: | Line 429: | ||
\\ | \\ | ||
- | | {{ : | + | | {{ : |
- | | ::: | **Unload: | + | | ::: | **Unload: |
- | | ::: | **Update: | + | | ::: | **Update: |
- | | ::: | **Reset-limit: | + | | ::: | **Reset-limit: |
- | | ::: | **Clear all files: | + | | ::: | **Clear all files: |
- | | ::: | **Snapshot: | + | | ::: | **Snapshot: |
- | | ::: | **Enable Only: | + | | ::: | **Enable Only: |
- | | ::: | **Disable Only: | + | | ::: | **Disable Only:** lets you disable adblock |
\\ | \\ | ||
Line 345: | Line 442: | ||
\\ | \\ | ||
- | Refresh: | + | Refresh: |
- | ===== Quick-run (v2) and Full-run Operations ===== | + | ===== Swift-run (v2) and Full-run |
\\ | \\ | ||
Line 356: | Line 453: | ||
\\ | \\ | ||
- | Modifications to the adblock script configuration | + | Modifications to the adblock script configuration |
+ | |||
+ | \\ | ||
- List (enable/ | - List (enable/ | ||
Line 370: | Line 469: | ||
\\ | \\ | ||
- | Only two operations from the above list can be run in Quick-run mode, as they don't require full processing: | + | Only two operations from the above list that can be run in Swift-run mode: |
- | + | ||
- | * No. (4) Addition of simple custom blacklist domain/s | + | |
- | * No. (5) Addition of simple whitelisted domain/s | + | |
\\ | \\ | ||
- | Operations (4) and (5) are the most common actions performed when maintaining adblock script configuration. Quick-run operations are performed live on a running blockfile. Therefore, the adblock script must be loaded in order to run functions (4) or (5). A quick-run can be completed in literally seconds. A full-run may take minutes to complete. Any operations other than (4) or (5) above require a full-run. | + | * No. 4 - Addition of simple custom blacklist domains and; |
+ | * No. 5 - Addition of simple whitelisted domains | ||
- | Please note that "quick" is a temporary action | + | \\ This is because they don't require full processing. |
+ | |||
+ | These are the most common operations performed when maintaining adblock script settings. Swift-run operations are performed live on a running blockfile. Therefore, the adblock script must be loaded in order to run functions (4) or (5). A swift run can be completed in seconds. A full run may take minutes. All operations other than (4) or (5) require a full run. | ||
+ | |||
+ | "Swift" is a temporary action | ||
===== Command line operations (v2) ===== | ===== Command line operations (v2) ===== | ||
- | | + | |
- | + | ||
- | \\ | + | |
\\ | \\ | ||
- | As seen above in the " | + | {{:pasted: |
- | \\ Help | + | \\ |
- | '' | + | \\ |
- | \\ Status | + | The table below summarizes all command switches (v2 only): |
- | '' | + | \\ |
- | \\ Start | + | ^ Command |
+ | | Help | " | ||
+ | | Status | ||
+ | | Start | " | ||
+ | | Stop | " | ||
+ | | Update | ||
+ | | Upgrade | ||
+ | | Test | " | ||
+ | | Reset | " | ||
+ | | Clear | " | ||
+ | | Trace/ | ||
+ | | Snapshot | " | ||
+ | | Enable | ||
+ | | Disable | ||
- | '' | + | \\ \\ |
- | \\ Stop | ||
- | '' | + | ==== Adblock test command (v2) ==== |
- | | + | |
- | '' | + | Typing: |
- | + | ||
- | \\ Upgrade | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Since it is stored in RAM, it will be lost after a reboot. Therefore, an extra parameter is supported: | + | |
- | + | ||
- | \\ Test | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Reset | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Clear/ | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Trace/ | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Snapshot | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Enable | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | \\ Disable | + | |
- | + | ||
- | '' | + | |
\\ | \\ | ||
- | \\ | + | {{: |
- | + | Specifically: | |
- | ==== Adblock test command (v2) ==== | + | |
\\ | \\ | ||
- | {{: | + | |
- | + | * Cloudflare answer - This query bypasses the usual dnsmasq process | |
- | To simplify and speed up testing of broken resolution or other DNS issues, use the " | + | * Blockfile ref - Checks the blockfile for references to the tested domain. |
- | + | ||
- | Specifically: | + | |
- | + | ||
- | | + | |
- | * Cloudflare answer - This query bypasses the usual dnsmasq process and sends a query to address 1.1.1.1 . \\ This can help you to verify if a domain exists. | + | |
- | * Blockfile ref - This checks whether there are any references to the tested domain | + | |
- | + | ||
- | \\ With these three pieces of information, | + | |
- | + | ||
+ | \\ \\ With these 3 pieces of information, | ||
===== Automatic list updates ===== | ===== Automatic list updates ===== | ||
- | As part of normal | + | Normally, |
\\ | \\ | ||
- | To verify the current scheduled update time: | + | To verify the current scheduled update time, type: |
- | '' | + | '' |
\\ | \\ | ||
- | In this example, | + | In this example, |
- | + | ||
- | This picture illustrates the syntax of crontable expressions: | + | |
\\ | \\ | ||
- | {{:: | + | The image below illustrates the syntax of crontable expressions: |
+ | |||
+ | | ||
\\ | \\ | ||
Line 500: | Line 567: | ||
===== Future development goals ===== | ===== Future development goals ===== | ||
- | * Add an option to let FreshTomato users share their Whitelists. \\ This would allow the creation of a shared database of " | + | * Add an option to let FreshTomato users share their Whitelists. \\ This would allow creation of a shared database of " |
- | * Add a test function to the web interface (currently only command line) | + | * Add a test function to the web interface (currently only via CLI). |
\\ | \\ | ||
Line 510: | Line 577: | ||
==== Troubleshooting v1 ==== | ==== Troubleshooting v1 ==== | ||
- | You can test Blacklisted or Custom entries | + | You can test Blacklisted or Custom entries by using the nslookup tool (Windows/Linux/MacOS). Simply run nslookup and enter the domain/URL to be tested. If it resolves to 0.0.0.0, then Adblock is working properly, and the domain is being blocked. You can also check FreshTomato' |
+ | |||
+ | \\ | ||
For example, this entry shows that dnsmasq replaced the true IP address of hbx.media.net with 0.0.0.0. | For example, this entry shows that dnsmasq replaced the true IP address of hbx.media.net with 0.0.0.0. | ||
Line 516: | Line 585: | ||
'' | '' | ||
- | Adblock worked properly | + | Adblock worked properly. |
- | If your router crashes, you may be using too many large Blacklists, which can exhaust available RAM. Try using smaller blacklists, or fewer large ones. Adblock v2 is much less likely to experience this issue. | + | \\ |
+ | |||
+ | === Crashing === | ||
+ | |||
+ | If your router crashes, you may be using too many large Blacklists, which can exhaust available RAM. Try using smaller blacklists, or fewer large ones. Adblock v2 is much less likely to exhaust RAM. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === Websites for Testing === | ||
+ | |||
+ | Some websites allow you to test the effectiveness of your Adblock configuration. When using them, ensure you don't have adblock/ | ||
- | There are websites available that allow you to test the effectiveness of your Adblock configuration. When doing so, please ensure you don't have any adblock/ | + | Some good adblock testing sites include: |
* [[https:// | * [[https:// | ||
Line 527: | Line 606: | ||
\\ | \\ | ||
- | **Adblock | + | === Adblock |
- | Increasingly, | + | Increasingly, |
- | As mentioned earlier, enabling | + | Enabling |
\\ | \\ | ||
Line 538: | Line 617: | ||
==== Troubleshooting v2 ==== | ==== Troubleshooting v2 ==== | ||
- | For troubleshooting, | + | When troubleshooting, |
- | In order to learn what might be going wrong, | + | \\ |
+ | |||
+ | In order to learn what might be wrong, | ||
+ | |||
+ | Here are a few signs which may indicate a problem: | ||
* System load is too high in the 5min+ section (For example, > 1.5) | * System load is too high in the 5min+ section (For example, > 1.5) | ||
* RAM usage is too high (> 90%) | * RAM usage is too high (> 90%) | ||
- | * dnsmasq | + | * Dnsmasq |
* Too many dnsmasq restarts | * Too many dnsmasq restarts | ||
- | * dnsmasq | + | * Dnsmasq |
- | * adblock | + | * Adblock |
- | * last run errors | + | * Last run errors |
\\ | \\ | ||
- | If the Blockfile size exceeds the //Blockfile size limit// value, the blockfile | + | If the Blockfile size exceeds the //Blockfile size limit// value, the file size will be reduced. If (with limit manually set high) dnsmasq still doesn' |
\\ | \\ | ||
Line 560: | Line 643: | ||
| | ||
- | \\ \\ To open the last trace file automatically, | + | \\ \\ To open the last trace file automatically, |
- | \\ {{: | + | \\ {{: |
\\ | \\ | ||
Line 568: | Line 651: | ||
\\ | \\ | ||
- | **Apple iOS devices (paid iCloud service only)** | + | **Apple iOS devices (iCloud |
- | Apple IOS devices have settings | + | iOS devices have settings |
+ | |||
+ | \\ {{: | ||
\\ | \\ | ||
- | {{: | + | \\ \\ {{: |
- | \\ {{: | + | \\ |
\\ | \\ | ||
- | Alternatively, | + | Alternatively, |
\\ | \\ | ||
Line 586: | Line 671: | ||
{{: | {{: | ||
- | You might connect your mobile/ | + | \\ |
- | Remember, these options are only available | + | You might connect your mobile/ |
+ | |||
+ | \\ | ||
+ | |||
+ | Remember, these options are only available | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||