"List type not supported" after upgrade

Please follow the below template, it will help us to help you!

Expected Behaviour:

-parse the lists like before the upgrade

Actual Behaviour:

-some lists don't get parsed after upgrading to 4.3.2

Debug Token:

https://tricorder.pi-hole.net/ngewnddgsb

Before upgrading to 4.3.2 (I was on 4.3.1), running pihole -g resulted in:

  [i] Target: filters.adtidy.org (7.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  [βœ“] Format: Adblock

  [i] Target: filters.adtidy.org (8.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  [βœ“] Format: Adblock

  [i] Target: filters.adtidy.org (9.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  [βœ“] Format: Adblock

  [i] Target: filters.adtidy.org (11.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  [βœ“] Format: Adblock

  [i] Target: github.com (road-block-filters.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  **[βœ“] Format: Adblock**

  [i] Target: github.com (road-block-filters-light.txt)
  [βœ“] Status: Retrieval successful
  [i] Format: Adblockcomm: file 1 is not in sorted order
  **[βœ“] Format: Adblock**

  [βœ“] Consolidating blocklists
  [βœ“] Extracting domains from blocklists
  [i] Number of domains being pulled in by gravity: 1459937
  [βœ“] Removing duplicate domains
  [i] Number of unique domains trapped in the Event Horizon: **1034365**

After upgrade:

  [i] Target: filters.adtidy.org (11.txt)
  [βœ“] Status: Retrieval successful
  [βœ—] Format: Adblock (list type not supported)

  [i] Target: github.com (road-block-filters.txt)
  [βœ“] Status: Retrieval successful
  **[βœ—] Format: Adblock (list type not supported)**

  [i] Target: github.com (road-block-filters-light.txt)
  [βœ“] Status: Retrieval successful
  **[βœ—] Format: Adblock (list type not supported)**

  [βœ“] Consolidating blocklists
  [βœ“] Extracting domains from blocklists
  [i] Number of domains being pulled in by gravity: 1359668
  [βœ“] Removing duplicate domains
  [i] Number of unique domains trapped in the Event Horizon: **1024330**

This is an intended behavior introduced with Pi-hole Core v4.3.2

1 Like

If I download gravity.sh before this commit, I should have back the support for the lists, right?

As of now and with that change Pi-hole doesn't support that format any longer.

That seems a very strange decision, given the popularity of Adblock-based lists and clients that use them. Is there a particular reason Adblock format is no longer supported, and can the decision to drop them be revisited? I have a number of lists I can no longer use that were previously quite useful.

If the support will not be restored, what is the procedure to downgrade?

1 Like

Use wget to download the list and move them to /var/www/ and link them in the blocklist, etc http://localhost/mylist.txt

Works for me.

This seems to work:

sudo wget https://raw.githubusercontent.com/pi-hole/pi-hole/c53be459c6414f9a0d1e390a5a9362064e3825d2/gravity.sh -O /opt/pihole/gravity.sh
pihole -g

This should be done everytime you run pihole -up.

1 Like

As described in the change history, parsing Adblock format lists in the manner that was done by Pi-Hole was not correctly parsing the lists, resulting in unintended blocking. Pi-Hole is designed for HOSTS formatted lists.

A better approach to parsing lists intended for other blockers is to do this offline, review the results, then use that scrubbed list in HOSTS format for import into Pi-Hole.

1 Like

Again, given the popularity of Adblock-based lists, why not fix the parsing?

I just looked at the release notes and saw that support was removed because "things" were being blocked inappropriately, with no explanation of what "things". Are there specific examples?

I've been using the anti-Adblock list quite happily for some time and do not want to lose it (and others). Some of these Ablock lists have thousands of entries -- I cannot review the list and know what each and every one is and include or exclude it accordingly. That's impossible. What I can do (and have done) is install the list, then find that if something doesn't work, whitelist a particular domain. I've only had to do that once or /maybe/ twice. Please reconsider the decision.

And how do I downgrade?
Thanks!

But a few lines of code in Pi-Hole will be able to do this?

From the other perspective, given the popularity of Pi-Hole, why not have a user do the parsing and then post a list that all Pi-Hole users can use? Better results in the conversion, community review of the resulting list, and simpler Pi-Hole code. That's a win, win, win.

1 Like

No, but it will install the list, and I can whitelist anything needed (which will almost always be nothing).

What you suggest will add the extra steps of having to monitor each list for changes, do the conversion, review the results, then install the new lists. As opposed to clicking "update" in pi-hole and having to fix any rare problems may that pop up.

So again, how do I downgrade? And can you provide specific examples of "things" that were inappropriately blocked? What specifically did blindly installing Adblock-based list(s) (any list) break?

You can put the old gravity.sh script into your local install. It is available on GitHub.

What I suggest is that a third party (i.e. not the Pi-Hole team or Pi-Hole code), does the monitoring and scripting, and produces a Pi-Hole compatible list that you just add to your blocklists and then Pi-Hole grabs the updated list weekly. No extra work on your part. I think there may be some converted easy lists and AdBlock lists already available in Pi-Hole format.

Take a look at at AdBlock formatted list and see if you can easily determine how to convert each of the lines to a valid HOSTS format. It's not a simple process. For example - what are they blocking with this URL?

@@||yenicarsim.com/images/upload/ad/$image

1 Like

A concrete example -- thanks! A picture is worth a thousand words as they say. And thanks for the downgrade process. I will install the old gravity.sh until such time as there exist converted lists.

Cheers!

This seems to work:

Thanks, this restores adblock lists being parsed. Devs should have offered an override option to continue parsing these lists, current implementation is substandard work. It's manually added and likely the most popular and thorough list available...let's assume the user doesn't really want it?

IMHO Devs tend to give us votes and whatnot mostly to keep us happy.
One will probably post below this and say we are important but that doesn't mean its true.
All i know is if it was me... I'd make the software function according to my vision. especially if i was making it for free

There might be a list for you on https://firebog.net/

We cannot. "Support" for this list should have never been added in the first place. These lists describe full paths. Assume they contain something like www.goodserver.com/user/cryptomining.js. The previous implementation would have blocked the entire www.goodserver.com as we - being on the DNS server level - cannot know the exact target you are envisaging. Only adblock plugins -- living deeply in your browser and can modify the content you see arbitrarily as they decide is appropriate -- can do such a deep modification.

The number of false-positives was rather high. Please don't ask for numbers, I'd have to assume some as I'm not looking forward digging through the many posts over the past years. I'll rather continue investing my time into preparing the v5.0 beta. I hope the community understands this.

I explained above while this list isn't the most thorough list available, at least not for DNS-level blocking.

Removing support for this list was the only right move we could make at this time. As @jfb said, a third-party should do and offer it to avoid multiplying the work that needs to be invested. I'm not aware of such a project right now.

1 Like

More precisely, this restores Adblock lists being parsed poorly.

You have just exercised the override option.

As noted in numerous threads, lists in AdBlock format don't convert to HOSTS format with any reliability.

Here is an opportunity for you to do some high standard work. Figure out how to parse these lists with any reliability and quality of outcome, host the parsed list on your GitHub for the benefit of the entire community.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.