Git Product home page Git Product logo

essandess / adblock2privoxy Goto Github PK

View Code? Open in Web Editor NEW
92.0 6.0 15.0 11.15 MB

Convert adblock config files to privoxy format

Home Page: https://hackage.haskell.org/package/adblock2privoxy

License: GNU General Public License v3.0

Haskell 79.16% Shell 6.01% Roff 13.42% Batchfile 1.27% HTML 0.15%
easylist proxy proxy-configuration tracker adblock adblocking privacy-enhancing-technologies privacy-tools privoxy css

adblock2privoxy's People

Contributors

essandess avatar qrilka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

adblock2privoxy's Issues

rsync: link_stat "/root/adblock2privoxy*" failed: No such file or directory (2)

After executing rsync -a ./adblock2privoxy* /usr/local/etc/adblock2privoxy, an error message appears:
rsync: link_stat "/root/adblock2privoxy*" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
Commands are performed from root, Ubuntu Server OS.

version string of filter is truncated if it not composed only of digits

This may be trivial, but in case it is somehow connected to #15 seems wise to report it as well
adblock_anty-dotacje.txt version is 100.2 and adblock2privoxy allows only digits. As the result it truncates the version to 100
adblock_adguard.txt current version is 364.2 and result in file is 364

EDIT: Looking at the source version number is treated as Integer which must be a whole number. Probably switching here to floating point is required to accept digits after dot.

empty rules

I am not sure how should converter behave in such a cases, but if the rule is not possibile to convert into privoxy understood regex than pehaps it is better to skip it with error message instead of creating an empty rule?

Examples

{+client-header-tagger{ab2p-block-dnt-R390} \
}
# |http://$subdocument,third-party,domain=clictune.com (onelist.txt: 39648)
# |https://$subdocument,third-party,domain=clictune.com (onelist.txt: 39627)

or

{+client-header-tagger{ab2p-block-dnt-R436} \
}
# |https://$ping,popup,stylesheet,subdocument,third-party,domain=daclips.com|daclips.in|gorillavid.in|movpod.in (onelist.txt: 39346)
# |http://$ping,popup,stylesheet,subdocument,third-party,domain=daclips.com|daclips.in|gorillavid.in|movpod.in (onelist.txt: 38970)

Filters are not taken effect

Hope you can help me.
I have followed the manual to integrate the filter files into the privoxy proxy.
To automatically generate these filters I have generated a little pull request (see #33).
It seems the the filters are loaded without any error, but I do not really see an effect on the homepages at all.
I have also used a separate apache server to use the css files, but there is no change seen here in improving the filters. Also I cannot see any requests from the proxy to the apache.

New feature: duplicate detection

It would be beneficial for privoxy to deal with as few records as possible which would than lead to faster processing. One of the ways to accomplish it is to limit number of created rules. From below example it is obvious that if rules ||displaymarketplace.com^ and ||disqusads.com^ completely block hosts under all circumstances than the rest of the rules may be safely skipped as they would have no effect beyond what the main rule does. At the moment all entries are processed and added to the list by the converter. Same goes for whitelisting rule starting with @@||

||displaymarketplace.com^
||displaymarketplace.com^$third-party
||disqusads.com^
||disqusads.com/ads-iframe/adsnative/
||disqusads.com/ads-iframe/prebid/
||disqusads.com^$third-party

A bit harder example where combining entries into one would also help reducing number of similar entries.

||directrev.com^$popup
||directrev.com^$popup,image,media,object,object-subrequest,other,ping,script,stylesheet,subdocument,websocket,xmlhttprequest
||directrev.com^$third-party

Yet another example that could use simplification to the (_|/)dropdown_ad. entry.

_dropdown_ad.
/dropdown_ad.

Less common case as hosts are expected to end with ^, but converting only the second entry would be beneficial in this case. They are used separately by adblock2privoxy increasing the number of rules without any actual gain

||events.reddit.com
||events.reddit.com^

Double rules on filters are too broad

Converter creates double rules on some filter sets which lead to unintended blocks.

For example czech ruleset for instance from record /emonitor. creates

# /emonitor. (filters.txt: 35)
/(?:(*PRUNE).*?/)?emonitor\.
emonitor.*.

and polish ruleset

# /inst. (adblock_social_list.txt: 84)
/(?:(*PRUNE).*?/)?inst\.
inst.*.
# /ins. (adblock_social_list.txt: 83)
/(?:(*PRUNE).*?/)?ins\.
ins.*.
# /in. (adblock_social_list.txt: 82)
/(?:(*PRUNE).*?/)?in\.
in.*.

While the first rule for each is OK, the later is interpreted by privoxy as the rule for whole word instead of subdomain of *. In last case it leads to blocking of interia.pl which should never happen.

ab2p.common.css causes breakage on some sites

When sites are visited privoxy is sending to browser info to ask webserver for both $host.css and ab2p.common.css like in example below

192.168.101.10 - - [04/Jul/2018:10:27:31 +0200] "GET /www.wprost.pl/ab2p.css HTTP/1.1" 200 12023
192.168.101.10 - - [04/Jul/2018:10:27:31 +0200] "GET /ab2p.common.css HTTP/1.1" 200 202974
192.168.101.10 - - [04/Jul/2018:10:27:33 +0200] "GET /www.wprost.pl/ab2p.css HTTP/1.1" 200 12023
192.168.101.10 - - [04/Jul/2018:10:27:33 +0200] "GET /ab2p.common.css HTTP/1.1" 200 202974
192.168.101.10 - - [04/Jul/2018:10:27:37 +0200] "GET /emisja.contentstream.pl/ab2p.css HTTP/1.1" 200 11937

Problem is than common.css contains all the element hidding entries from all the rulesets which for some sites causes problem as it is blocking more than it should. In this particular example common file has .cookiespopup which pl/wprost/www/ab2p.css does not have as it actually should not hence no ruleset said it should. Unintended effect is that causes whole website to completely disappear in the browser.

Ideal situation would be that browser asks for ab2p.common.css only if $host.css does not exist. Could that be acomplished by adblock2privoxy, privoxy or the webserver?

converter does not recognise rules with leading TAB

It turns out there are filters such as this one which for readability start off with leading tab. Adblock2privoxy creates many empty rules for those leading to privoxy block almost anything rendering Internet useless.

As workaround to this I used below code which downloads ruleset locally and prepares it for adblock2privoxy prior to being used by converter.

wget https://raw.githubusercontent.com/maciejtarmas/AlleBlock/master/alleblock.txt
sed -i -e 's/^[ \t]*//' alleblock.txt
adblock2privoxy http://local.website.com/alleblock.txt

I am not sure how should that be implemented in converter, but booking at the code the I found out InputParser.hs has following

lineSpaces :: Parser ()
lineSpaces = skipMany (satisfy isLineSpace) <?> "white space"
    where isLineSpace c = c == ' ' || c == '\t'

Maybe some changes to include tabs there could take care of this?

Missing client-header tagger 'ab2p-elemhide-check-debug'

Steps:

  • Clone, build and install current master (adc858)
  • Run adblock2privoxy -p out $URL
  • Copy outfiles to /etc/privoxy
  • Add the following to privoxy conf:
        list actionsfile 'ab2p.system.action'
        list actionsfile 'ab2p.action'
        list filterfile 'ab2p.system.filter'
        list filterfile 'ab2p.filter'

Log:

Info: Privoxy version 3.0.28
Info: Program name: /usr/sbin/privoxy
Info: Loading filter file: /etc/privoxy/default.filter
Info: Loading filter file: /etc/privoxy/ab2p.system.filter
Info: Loading filter file: /etc/privoxy/ab2p.filter
Info: Loading actions file: /etc/privoxy/match-all.action
Info: Loading actions file: /etc/privoxy/default.action
Info: Loading actions file: /etc/privoxy/ab2p.system.action
Error: Missing client-header tagger 'ab2p-elemhide-check-debug'
Error: Invalid action section in file '/etc/privoxy/ab2p.system.action', starting at line 5: {+set-image-blocker{blank}  +client-header-tagger{ab2p-elemhide-check-debug}  +client-header-tagger{ab2p-handle-as-image-c}  +server-header-tagger{ab2p-handle-as-image-s}}
Info: Loading actions file: /etc/privoxy/ab2p.action
Info: Listening on port $PORT on IP address $IP

disregarding information following $

This one is related to issue 21 and issue 13.

{+client-header-tagger{ab2p-unblock-elem-R1614} \
}
# @@||*$third-party,image,domain=spec-komp.com (onelist.txt: 97062)
/(*PRUNE).*?

Converter translates rule to the best of abilities it has at the moment, but in this case that simply means that just about any rules used for blocking domain components would actually get trough due to being whitelisted by this record :(

That probably would not be best solution, but would it not be better to tranlate the rule to spec-komp.com/(*PRUNE).*? instead of what is currently done?

META: work plan for cureent issues

Importance (low/medium/severe) and scope of required work (trivial/normal/high).

  • adblock2privoxy compilation fail with GHC 8.4.3 #25
    fix compilation
    Medium - A2P still can be used with GHC 8.0, but needs to be future proof, severity would increase as time passes and older GHC would be phased out from distros
    Normal - Proposed solution seems not to severe to achieve and there are many examples titled tweak for ghc-8.4

  • TODO: remove matched element conversion #24
    implement new feature
    Medium - Most elements are removed by created css files after conversion of ## rules, but some sites require that browser completely does not know existence of certain elements therefore they need to be removed prior to being feed to the client
    High - Design feature from ground up

  • translated records get dot in front which has adverse effects #23
    use prepared patch to fix rules for privoxy
    Severe - Without this many false positive catches may happen
    Trivial - patch is ready for implementation

  • disregarding information following $ #22
    implement new feature
    Severe - Adblock is designed to use filters on certain conditions such as ~third-party to specify whether filter should be used on third-party or first domains. Current implementation uses that filter for all conditions
    High - Requires writing similar converter as in case of ab2p-popup-filter or ab2p-handle-as-image-s but also for script, stylesheet, subdocument and others

  • empty rules #21
    add exceptions for conversion of rules not leading to any host or particular pattern
    Low - workarounds are present
    Normal - Probably requires few regex additions to current converter implementation

  • element hidding whitelists undesired behaviour #20
    redesign whitelist expception handling
    Low - workarounds are present & it could interfere with browsing only or rare
    Normal - Probably requires few regex additions to current converter implementation

  • easylist go.*. rule breaks many sites #19
    use prepared patch to fix rules for privoxy
    Severe - Without this many false positive catches may happen
    Trivial - patch is ready for implementation

  • adblock2privoxy segmentation fault #18
    make sure element hiding directory is empty before new rules are created
    Severe - typical race condition which in worst case scenario can lead to system crash
    Trivial - if exists rm -r ${css_dir}\* before any ## rules are created

  • ab2p.common.css causes breakage on some sites #17

  • separate ab2p-elemhide-common-filter from ab2p-elemhide-filter

  • add all hosts from rules with $generichide to {-filter{ab2p-elemhide-common-filter}}

Medium - about 1% of all sites using element hiding rules may not use generic hide
Trivial/High - Above steps are trivial, but getting converter to process all $generichide rules an add them in right way required coding new feature from ground up

  • version string of filter is truncated if it not composed only of digits #16
    cosmetic change to the task file
    Low - does not change any behavior of converter, just descriptive value
    Trivial - small change required

  • expired rules are not used #15
    implement way for a2p to use other filtersets than only those designed for adblock (eg. adguard)
    Low - without this quite number of rules are skipped, but workaround is present
    Normal - several conditions may have to be added for accepting list other than those for adblock

  • conversion errors - not abp specific #14
    related to bug 22 as it requires additional convertions currently not implemented

  • /#

  • #?#

  • Low - cases are rare and in case of #?# undocumented, but they happen
    Normal - Few changes in regex may be needed to address this issue

  • unblock rules too unspecific for certain sites #13
    duplicate of issue 17, but better describes problem

  • add support pre-processor directives for filters #12
    use only filters which will be understood
    Medium - cases where several approaches are taken for specific software to handle given problem are out there and specially present in lists designed for adguard
    High - Implement feature from ground up

  • css file could use new line for site specific rules #11
    implement proper :style() conversion for css files

  • High - Over 10 thousands rules
    Trivial/High - trivial if only Elements=4000 is changed to Elements=1, but may be high as would require change to way in which css files are created

  • Double rules on filters are too broad #10
    limit converter to generate only one rule line per record
    Medium - I would say high as it leads to creating too many broad rules, but workarounds are present
    Normal - probably requires fixes here and there

  • privoxy crash due to bad filter combination #7
    simple template change, fix ready
    Severe - without fix privoxy crashes
    Trivial - patch is ready

  • adblock2privoxy errors out on several records #6
    implementing new conversion methods where privoxy needs to inject javascript
    High - affects hundreds of pages which require parts of scripts to be blocked prior to being used by the browser
    High - Design feature from ground up

css hide rules created for HTTPS sides do not work for LAN users

ab2p.system.filter contain following rule for element hiding.

cat ab2p.system.filter |grep http
s@.*\sHTTP\/1.*@$&\r\nX-Frame-Options: DENY@i
s@[^'"\s]\s*<head[^>]*>(?=\s*[^'"\s])@$&<link rel="stylesheet" type="text/css" href="http://192.168.101.101:8445/ab2p.common.css"></link><link rel="stylesheet" type="text/css" href="http://192.168.101.101:8445/$host/ab2p.css"></link>@iUD
s@[^'"\s]\s*<head[^>]*>(?=\s*[^'"\s])@$&<link rel="stylesheet" type="text/css" href="http://192.168.101.101:8445/debug/ab2p.common.css"></link><link rel="stylesheet" type="text/css" href="http://192.168.101.101:8445/$host.debug/ab2p.css"></link>@iUD

It works for HTTP sites but does not work for HTTPS sites which got decrypted by MITM for privoxy to filter. It is due to browsers not allowing mixed content for HTTPS sites for targets other than localhost.

I tried preparing local webserver in SSL and switching all 4 links to href="https://192.168.101.101:8445, but it seems not to work either as information about https content is not send to browser at all. It also seems to break regular HTTP sites.

element hidding whitelists undesired behaviour

To decrease element hiding directory quite substantialy I removed from filter lists all rules starting with ## to rely only on rules dedicated for particular sites. It turned out each file still had over ~150 entries not related to the site. They came from element hidding exception rules
eg. ~tv.mail.ru##.js-springs__top instead of only removing .js-springs__top for that particular site it also installed it for every other site (about 80 000 of them). While I undestard logic behind it I do not think it should be done if there is no ##.js-springs__top to match entries for all sites.

css file could use new line for site specific rules

There filters using advanced hiding rules which are site specific. See example 1 or 2. I am no HTML expert, but my gut feeling says in such cases one probably would benefit more if converter sends such records having rules located in parenthesis into the separate line instead of placing it in default which only has {display:none!important;visibility:hidden!important}

Stack TLS bug in resolver lts-5.2 prevents EasyList downloads

See commercialhaskell/stack#234, commercialhaskell/stack#484.

In stack.yaml:

Default resolver: lts-5.2

stack exec adblock2privoxy -- -p ./privoxy -w ./css -d 10.0.1.3:8119 https://easylist.to/easylist/easyprivacy.txt
process https://easylist.to/easylist/easyprivacy.txt                                                                           
load https://easylist.to/easylist/easyprivacy.txt (5 more attempts)...                                                         
adblock2privoxy: TlsExceptionHostPort (HandshakeFailed Error_EOF) "easylist.to" 443                                            

Trying to fix with other resolvers fails to build:

resolver: ghc-7.10.2

Try

stack setup
stack solver --update-config
stack build
    [120 of 120] Compiling Crypto.Cipher.AES ( Crypto/Cipher/AES.hs, .stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/Crypto/Cipher/AES.o )

    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack38406/cryptonite-0.24/cbits/cryptonite_rdrand.c:89:0: no such instruction: `rdrand %r8'

    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack38406/cryptonite-0.24/cbits/cryptonite_rdrand.c:89:0: no such instruction: `rdrand %r8'

    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack38406/cryptonite-0.24/cbits/cryptonite_rdrand.c:89:0: no such instruction: `rdrand %r8'

This also fails:

resolver: lts-8.22

    [111 of 111] Compiling Crypto.Cipher.AES ( Crypto/Cipher/AES.hs, .stack-work/dist/x86_64-osx/Cabal-1.24.2.0/build/Crypto/Cipher/AES.o )
                                                                                                                               
    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack59812/cryptonite-0.21/cbits/cryptonite_rdrand.c:89:0: error: 
        no such instruction: `rdrand %r8'                                                                                      
                                                                                                                               
    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack59812/cryptonite-0.21/cbits/cryptonite_rdrand.c:89:0: error: 
        no such instruction: `rdrand %r8'                                                                                      
                                                                                                                               
    /private/var/folders/4m/5g_wk50n5w78jf8mwnkdgrtw0000gv/T/stack59812/cryptonite-0.21/cbits/cryptonite_rdrand.c:89:0: error: 
        no such instruction: `rdrand %r8'                                                                                      
    `gcc' failed in phase `Assembler'. (Exit code: 1)                                                                          

The workaround until this is resolved is to use python's urllib to download files.

adblock2privoxy segmentation fault

Using following filter causes crash. It used to work and still seems to work on its own, but recently for about past two weeks or so when I use my script composed of several filter sets during preparation of css files it fails due to segmentation fault.

I do not know what entry is responsible for that, but I made sure that no other filter set is making adblock2privoxy fail.

Cannot build from source.

I tired building as given in readme:

cd adblock2privoxy
stack setup
stack build

I get this error:


Cannot update index (no local copy)                                                              
Downloading index                                                                                
Updated package index downloaded                                                                 
Update complete                                                                                  
Populated index cache.    
Error parsing targets: The specified targets matched no packages.
Perhaps you need to run 'stack init'?

When I run 'stack init':

    parsec-permutation not found
        - adblock2privoxy requires >=0.1.2.0

unintended escape characters for [ and ]

I discovered that adding escape characters by the converter before brackets leads to not working rule as privoxy would than expect those characters to be present literally in the link which obviously would not happen

This adblock rule ||mypage.com/dl/201[7-8]-[0-1][0-9]/[3-4][0-9][0-9][0-9]

is translated to the ^mypage\.com/dl/201\[7-8\]-\[0-1\]\[0-9\]/\[3-4\]\[0-9\]\[0-9\]\[0-9\]

while it should be ^mypage\.com/dl/201[7-8]-[0-1][0-9]/[3-4][0-9][0-9][0-9] as only that would catch link as http://mypage.com/dl/2017-10/4014

easylist go.*. rule breaks many sites

Taking care of double rules is not enough as there even single rules which by using .*. break more sites than intended

#ab2p-block-request-R1304
{+client-header-tagger{ab2p-block-request-R1304} \
}
# |http://go.$domain=nowvideo.sx (easylist.txt: 46984)
go.*.

Following is setting header for sites as imasdk.googleapis.com

WORKAROUND:
Use sed -i -e '/^go\.\*\./s/^/#/' /etc/privoxy/ab2p.action to disable this rule

P.S. Rulesets I created after all fixes/workarounds so far still use .*. ~1200 times. Almost all other actually seem less harmless with exception of promo.*. wich does come from easylist.txt as well.

Ad2p run breaks with "Illegal instruction"

On FreeBSD 12.2 ad2p successfully compiling but running ended with:

process https://easylist.to/easylist/easyprivacy.txt
load https://easylist.to/easylist/easyprivacy.txt (5 more attempts)...
Illegal instruction

The command:

adblock2privoxy -p /usr/local/etc/privoxy -w /usr/local/www/css -d 192.168.7.31:8119 -t list.ad2p \
https://easylist.to/easylist/easyprivacy.txt https://easylist.to/easylist/easylist.txt \
https://easylist.to/easylist/fanboy-annoyance.txt https://easylist.to/easylist/fanboy-social.txt \
https://easylist-downloads.adblockplus.org/antiadblockfilters.txt \
https://easylist-downloads.adblockplus.org/malwaredomains_full.txt \
https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifacebook.txt \
https://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt

*nix installation instructions not working as written

The installation instructions for *nix (debian 12 specifically) did not work as written, constant issues with stack and dependency hell. I am also not familiar with Haskell; maybe a PEBKAC issue. I was able to finally compile from source and install it properly with ghcup though.

I ran the following (as root) to successfully compile and install.

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 sh
mkdir -p /usr/local/etc/adblock2privoxy
rsync -a ./adblock2privoxy* /usr/local/etc/adblock2privoxy
export PATH="/usr/bin:$PATH:/root/.ghcup/bin"
cd /usr/local/etc/adblock2privoxy/adblock2privoxy
cabal update
cabal install . --installdir /usr/local/bin --global

Using ghcup to install haskell instead of stack solved my issues of installation.

TODO: remove matched element conversion

One of the element hiding features in list works with the use of ##^ https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#html-filters

In part it is related to the #12 but may be used with out it if only ##^ combination is translated into the rule which would remove line containing that information during the filtering. At least it should work for records as example.com##^.badstuff

PPB_uBlock_AdGuard.txt has several sites which make use of this feature.

My guess is it should work in privoxy as it works using inling stuff, but test I have done for 4fun.tv##^#cModal actually failed so discovery of proper line would be required before actual converter implementation

removeelement.filter

SERVER-HEADER-FILTER: removeelement
s@#cModal@@i
s@id="cModal"@@i

removeelement.action

{+server-header-filter{removeelement}}
^4fun\.tv

translated records get dot in front which has adverse effects

||www.twojapogoda.pl/templates/rodo/rodo.js - original
.www.twojapogoda.pl/templates/rodo/rodo\.js - converted
Rule has no effect unless it has no dot in the front

||log. - original
.log.*. - converted
It was intended to block pages as log.mypage.com but blocks pages as krolowasuperstarblog.wordpress.com.

My idea to fix both of those cases is to add ^ in front instead of . as this stands for start of the string in regular expression and I tested that it works in both of those cases properly.

expired rules are not used

When I tried to use following filter to convert strangely no filter rules nor element hiding css files got created.

adblock2privoxy -p /tmp/privoxy -w /tmp/privoxy/www -d 192.168.101.101:8445 -t privoxy_ab2b.task \
https://raw.githubusercontent.com/KonoromiHimaries/PolishSubFilters/master/internal-filters/headers/headery.txt

task file did not yield any errors either.

adblock2privoxy erros out on several recods

Using https://easylist-downloads.adblockplus.org/easylistpolish.txt among others there is quite a few records on which adblock2privoxy errors out. Would it be possible to fix them?

ERROR: gadzetomania.pl#?#DIV:-abp-contains(REKLAMA) + DIV > A > DIV > IMG (easylistpolish.txt: 2774) - Record type detection failed
ERROR: gadzetomania.pl#?#DIV:-abp-contains(REKLAMA) + DIV > DIV > IFRAME (easylistpolish.txt: 2775) - Record type detection failed
ERROR: wp.pl#?#DIV + DIV + div:-abp-contains(REKLAMA) + DIV (easylistpolish.txt: 2877) - Record type detection failed
ERROR: wp.pl#?#aside:-abp-contains(Reklama) + DIV (easylistpolish.txt: 2878) - Record type detection failed
ERROR: wp.pl#?#aside:-abp-contains(Reklama) + IFRAME (easylistpolish.txt: 2879) - Record type detection failed
ERROR: wp.pl#?#div:-abp-contains(REKLAMA) + DIV > A (easylistpolish.txt: 2880) - Record type detection failed
ERROR: wp.pl#?#div:-abp-contains(REKLAMA) + DIV > DIV > A (easylistpolish.txt: 2881) - Record type detection failed

unblock rules too unspecific for certain sites

https://easylist-downloads.adblockplus.org/easyprivacy.txt uses ||ria.ru/js/counter.js while
https://easylist-downloads.adblockplus.org/advblock.txt uses @@||ria.ru^$generichide
This leads to following combination

In file: ab2p.action View
--
{+add-header{DNT: 1} } .ria.ru/js/counter\.js
{ } .ria.ru/js/counter\.js
{+block{adblock rules} +server-header-tagger{ab2p-block-s} } .ria.ru/js/counter\.js
{ } .ria.ru
{+client-header-tagger{ab2p-unblock-dnt-R1636} } /(*PRUNE).*?
{-filter{ab2p-elemhide-filter} } .ria.ru
{+client-header-tagger{ab2p-unblock-elem-R1636} } /(*PRUNE).*?
{-block +client-header-tagger{ab2b-unblock-u} -server-header-tagger{ab2p-block-s} +server-header-tagger{ab2p-unblock-d} +server-header-tagger{ab2p-unblock-s} } .ria.ru
{-block +client-header-tagger{ab2p-unblock-request-Ai-Ci-when-R5458t} } /(*PRUNE).*?

Converter works fine for both as rules get created as intended for both records. Problem is however that using whitelist is meant only for element hidding while generated privoxy record allows all traffic for that site including counter which should be blocked as easyprivacy.txt record intended.

In case like that seems it is better to not create / remove ru/ria/ab2p.css instead creating too generic filter which would also disable other filters.

Workaround before using that filter with adblock2privoxy hashout all generichide whitelistings from the filter list using sed -i -e '/@@||/{/generichide/s/^/#/}' advblock.txt

adblock2privoxy compilation fail with GHC 8.4.3

Adblock2privoxy fails to compile with GHC 8.4.3. Please take a look would fixing it be possible.

>>> Configuring source in /tmp/portage/net-proxy/adblock2privoxy-9999-r2/work/adblock2privoxy-9999/adblock2privoxy ...
 * Using cabal-2.2.0.1.
 * Prepending /usr/lib64/ghc-8.4.3 to LD_LIBRARY_PATH
/usr/bin/ghc -package Cabal-2.2.0.1 --make /tmp/portage/net-proxy/adblock2privoxy-9999-r2/work/adblock2privoxy-9999/adblock2privoxy/Setup.hs -j5 +RTS -A256M -qb0 -RTS -threaded -dynamic -o setup
[1 of 1] Compiling Main             ( /tmp/portage/net-proxy/adblock2privoxy-9999-r2/work/adblock2privoxy-9999/adblock2privoxy/Setup.hs, /tmp/portage/net-proxy/adblock2privoxy-9999-r2/work/adblock2privoxy-9999/adblock2privoxy/Setup.o )
Linking setup ...
./setup configure --ghc --prefix=/usr --with-compiler=/usr/bin/ghc --with-hc-pkg=/usr/bin/ghc-pkg --prefix=/usr --libdir=/usr/lib64 --libsubdir=adblock2privoxy-9999/ghc-8.4.3 --datadir=/usr/share/ --datasubdir=adblock2privoxy-9999/ghc-8.4.3 --ghc-options=-j5 +RTS -A256M -qb0 -RTS --with-ar=x86_64-pc-linux-gnu-ar --ghc-option=-optc-march=native --ghc-option=-optc-O2 --ghc-option=-optc-pipe --ghc-option=-optc-fgcse-sm --ghc-option=-optc-fgcse-las --ghc-option=-optc-fgcse-after-reload --ghc-option=-optc-ftree-vectorize --ghc-option=-optl-Wl,-O1 --ghc-option=-optl-Wl,--hash-style=both --ghc-option=-optl-Wl,--as-needed --ghc-option=-optl-Wl,--relax --ghc-option=-optl-Wl,--sort-common --disable-executable-stripping --docdir=/usr/share/doc/adblock2privoxy-9999-r2 --verbose --enable-shared --enable-executable-dynamic --sysconfdir=/etc --disable-library-stripping
Using Parsec parser
Configuring adblock2privoxy-1.4.2...
Dependency MissingH -any: using MissingH-1.4.0.1
Dependency base ==4.*: using base-4.11.1.0
Dependency case-insensitive -any: using case-insensitive-1.2.0.11
Dependency containers -any: using containers-0.5.11.0
Dependency directory -any: using directory-1.3.1.5
Dependency filepath -any: using filepath-1.4.2
Dependency http-conduit -any: using http-conduit-2.3.1
Dependency mtl -any: using mtl-2.2.2
Dependency network >=2.4: using network-2.6.3.2
Dependency network-uri -any: using network-uri-2.6.1.0
Dependency old-locale >=1.0: using old-locale-1.0.0.7
Dependency parsec -any: using parsec-3.1.13.0
Dependency parsec-permutation >=0.1.2.0: using parsec-permutation-0.1.2.0
Dependency strict >=0.3: using strict-0.3.2
Dependency text >=0.11: using text-1.2.3.0
Dependency time >=1.4: using time-1.8.0.2
Source component graph: component exe:adblock2privoxy
Configured component graph:
    component adblock2privoxy-1.4.2-2X1oyazVohi4OGBtlFZzjK-adblock2privoxy
        include base-4.11.1.0
        include parsec-3.1.13.0
        include mtl-2.2.2
        include containers-0.5.11.0
        include filepath-1.4.2
        include directory-1.3.1.5
        include MissingH-1.4.0.1-GvxKFm8JIQLIx04ZzIEPgN
        include parsec-permutation-0.1.2.0-3zDFfngbNb4CTcNShrLuUV
        include time-1.8.0.2
        include old-locale-1.0.0.7-26K7wLFR2jK44UeOklvTCh
        include strict-0.3.2-FUXfVuv1I9pDkeq770AklR
        include network-2.6.3.2-6UULJJw3egYFPRHsaFrlj6
        include http-conduit-2.3.1-InHJXoxZeVnHqoo92GzyfZ
        include text-1.2.3.0
        include network-uri-2.6.1.0-AstEwZoXrlUJQq4VkxaVo9
        include case-insensitive-1.2.0.11-3kxnS3DflzuLJ3paEvK126
Linked component graph:
    unit adblock2privoxy-1.4.2-2X1oyazVohi4OGBtlFZzjK-adblock2privoxy
        include base-4.11.1.0
        include parsec-3.1.13.0
        include mtl-2.2.2
        include containers-0.5.11.0
        include filepath-1.4.2
        include directory-1.3.1.5
        include MissingH-1.4.0.1-GvxKFm8JIQLIx04ZzIEPgN
        include parsec-permutation-0.1.2.0-3zDFfngbNb4CTcNShrLuUV
        include time-1.8.0.2
        include old-locale-1.0.0.7-26K7wLFR2jK44UeOklvTCh
        include strict-0.3.2-FUXfVuv1I9pDkeq770AklR
        include network-2.6.3.2-6UULJJw3egYFPRHsaFrlj6
        include http-conduit-2.3.1-InHJXoxZeVnHqoo92GzyfZ
        include text-1.2.3.0
        include network-uri-2.6.1.0-AstEwZoXrlUJQq4VkxaVo9
        include case-insensitive-1.2.0.11-3kxnS3DflzuLJ3paEvK126
Ready component graph:
    definite adblock2privoxy-1.4.2-2X1oyazVohi4OGBtlFZzjK-adblock2privoxy
        depends base-4.11.1.0
        depends parsec-3.1.13.0
        depends mtl-2.2.2
        depends containers-0.5.11.0
        depends filepath-1.4.2
        depends directory-1.3.1.5
        depends MissingH-1.4.0.1-GvxKFm8JIQLIx04ZzIEPgN
        depends parsec-permutation-0.1.2.0-3zDFfngbNb4CTcNShrLuUV
        depends time-1.8.0.2
        depends old-locale-1.0.0.7-26K7wLFR2jK44UeOklvTCh
        depends strict-0.3.2-FUXfVuv1I9pDkeq770AklR
        depends network-2.6.3.2-6UULJJw3egYFPRHsaFrlj6
        depends http-conduit-2.3.1-InHJXoxZeVnHqoo92GzyfZ
        depends text-1.2.3.0
        depends network-uri-2.6.1.0-AstEwZoXrlUJQq4VkxaVo9
        depends case-insensitive-1.2.0.11-3kxnS3DflzuLJ3paEvK126
Using Cabal-2.2.0.1 compiled by ghc-8.4
Using compiler: ghc-8.4.3
Using install prefix: /usr
Executables installed in: /usr/bin
Libraries installed in: /usr/lib64/adblock2privoxy-9999/ghc-8.4.3
Dynamic Libraries installed in: /usr/lib64/x86_64-linux-ghc-8.4.3
Private executables installed in:
/usr/libexec/x86_64-linux-ghc-8.4.3/adblock2privoxy-1.4.2
Data files installed in: /usr/share/adblock2privoxy-9999/ghc-8.4.3
Documentation installed in: /usr/share/doc/adblock2privoxy-9999-r2
Configuration files installed in: /etc
Using alex version 3.2.4 found on system at: /usr/bin/alex
Using ar given by user at: /usr/bin/x86_64-pc-linux-gnu-ar
Using c2hs version 0.28.5 found on system at: /usr/bin/c2hs
Using cpphs version 1.20.8 found on system at: /usr/bin/cpphs
No doctest found
Using gcc version 8.2.0 found on system at: /usr/bin/x86_64-pc-linux-gnu-gcc
Using ghc version 8.4.3 given by user at: /usr/bin/ghc
Using ghc-pkg version 8.4.3 given by user at: /usr/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.20.0 found on system at: /usr/bin/haddock-ghc-8.4.3
Using happy version 1.19.9 found on system at: /usr/bin/happy
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at: /usr/bin/hpc
Using hsc2hs version 0.68.3 found on system at: /usr/bin/hsc2hs
No hscolour found
No jhc found
Using ld found on system at: /usr/bin/x86_64-pc-linux-gnu-ld
No lhc found
No lhc-pkg found
Using pkg-config version 0.29.2 found on system at: /usr/bin/pkg-config
Using runghc version 8.4.3 found on system at: /usr/bin/runghc
Using strip version 2.30 found on system at: /usr/bin/strip
Using tar found on system at: /bin/tar
No uhc found
>>> Source configured.
>>> Compiling source in /tmp/portage/net-proxy/adblock2privoxy-9999-r2/work/adblock2privoxy-9999/adblock2privoxy ...
./setup build
Preprocessing executable 'adblock2privoxy' for adblock2privoxy-1.4.2..
Building executable 'adblock2privoxy' for adblock2privoxy-1.4.2..
[ 1 of 18] Compiling InputParser      ( src/InputParser.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/InputParser.dyn_o )
[ 2 of 18] Compiling Network          ( src/Network.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Network.dyn_o )
[ 3 of 18] Compiling Paths_adblock2privoxy ( dist/build/adblock2privoxy/autogen/Paths_adblock2privoxy.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Paths_adblock2privoxy.dyn_o )
[ 4 of 18] Compiling PopupBlocker     ( src/PopupBlocker.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/PopupBlocker.dyn_o )
[ 5 of 18] Compiling ProgramOptions   ( src/ProgramOptions.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/ProgramOptions.dyn_o )
[ 6 of 18] Compiling SourceInfo       ( src/SourceInfo.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/SourceInfo.dyn_o )
[ 7 of 18] Compiling Statistics       ( src/Statistics.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Statistics.dyn_o )
[ 8 of 18] Compiling Task             ( src/Task.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Task.dyn_o )
[ 9 of 18] Compiling UrlBlocker[boot] ( src/UrlBlocker.hs-boot, dist/build/adblock2privoxy/adblock2privoxy-tmp/UrlBlocker.dyn_o-boot )
[10 of 18] Compiling Templates        ( src/Templates.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Templates.dyn_o )
[11 of 18] Compiling OptionsConverter ( src/OptionsConverter.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/OptionsConverter.dyn_o )
[12 of 18] Compiling Utils            ( src/Utils.hs, dist/build/adblock2privoxy/adblock2privoxy-tmp/Utils.dyn_o )

src/Utils.hs:60:10: error:
    • Could not deduce (Semigroup (ZipListM a))
        arising from the superclasses of an instance declaration
      from the context: Monoid a
        bound by the instance declaration at src/Utils.hs:60:10-40
    • In the instance declaration for ‘Monoid (ZipListM a)’
   |
60 | instance Monoid a => Monoid (ZipListM a) where
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 * ERROR: net-proxy/adblock2privoxy-9999-r2::bigvo failed (compile phase):
 *   setup build failed
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_compile
 *   environment, line 3350:  Called haskell-cabal_src_compile
 *   environment, line 2537:  Called cabal_src_compile
 *   environment, line  911:  Called cabal-build
 *   environment, line  675:  Called die
 * The specific snippet of code:
 *       ./setup "$@" || die "setup build failed"
 * 

>>> Failed to emerge net-proxy/adblock2privoxy-9999-r2, Log file:

Installation: stack command fails with "specified targets matched no packages"

Attempting a first-time install on ubuntu 22.04. The installation instructions did not mention that users need to clone the adblock2privoxy repo first, and then run the script in the README.me from within the cloned repository. However, once I figured that out, I found that this installation failed at the "stack" phase. The stack error is:

stack install --local-bin-path /usr/local/bin --allow-different-user
Error: [S-8506]
Error parsing targets: The specified targets matched no packages.
Perhaps you need to run 'stack init'?

I then ran stack init but that gave the error:

Error: [S-2422]
       Snapshot https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/10.yaml does not have all the packages to match
       your requirements.

           parsec-permutation not found
               - adblock2privoxy requires >=0.1.2.0

       This may be resolved by:
       * Using --omit-packages to exclude mismatching package(s).
       * Using --resolver to specify a matching snapshot/resolver.

And does not resolve the specified targets matched no packages error.

conversion errors - not abp specific

Issue 6 is about errors that are related to adblock specific extensions. I tried to see if there are any errors not related to those records and I got number of 53 cases reported with cat privoxy_ab2b.task |grep ERROR|grep -v -E -i -a 'abp-|errors'|wc
Seems they should be much easier to fix and probably require only slight change in the code itself to make it work

ERROR: ||linkshrink.net^*#^$popup,domain=linkshrink.net (easylist.txt: 52344) - Record type detection failed
ERROR: /http*.:\/\/.*[?|=|&|%|#|+].*/$popup,domain=0123movies.com|1337x.to|1movies.to|9anime.is|a-o.ninja|adsrt.com|ahlamtv.com|akvideo.stream|allmyvideos.netakvideo.stream|animeflv.net|animeid.io|asianvote.com|avgle.com|bittorrent.am|bmovies.to|clipconverter.cc|cloudtime.to|cruzing.xyz|dropapk.com|embed.nowvideo.sx|embed.videoweed.es|escdn.co|estream.to|extreme-board.com|eztv.ag|fastbay.net|fileone.tv|flash-x.tv|flashsx.tv|flashx.cc|flashx.me|flashx.run|flashx.sx|flashx.to|flashx.tv|flashx.ws|flashx1.tv|flashxx.tv|fmovies.is|fmovies.se|fmovies.to|fruithosted.net|fruitstreams.com|gogoanime.io|gorillavid.in|gowatchfreemovies.to|grammarist.com|ikwilthepiratebay.org|imagebam.com|imagefruit.com|imageporter.com|imagerar.com|img24.org|imgadult.com|imgbox.com|imgdrive.net|imgshots.com|imgsin.com|imgspice.com|imgtaxi.com|imgvip.net|imgwallet.com|indoxxi.tv|jkanime.net|katcr.host|katcr.party|kickass.cd|kickass.gg|kissasian.ch|kisscartoon.ac|lavamovies.se|m4ufree.com|m4ufree.tv|masterani.me|megaup.net|moecdn.io|monova.org|movie4k.is|movpod.in|mp3indirdur.mobi|myreadingmanga.info|mywebtv.info|newser.com|nosteam.ro|nowvideo.sx|oload.site|oload.stream|oload.win|oload.xyz|oloadcdn.net|onhax.me|onlinevideoconverter.com|openload.co|openloadmovies.tv|opentpb.com|otakustream.tv|piratebayblocked.com|pirateproxy.sh|pirateproxy.website|playercdn.net|pornparadise.org|povwideo.net|powvideo.net|proxydl.cf|putlockertv.se|putlockertv.to|rapidvideo.com|rarbgproxy.org|readcomiconline.to|repelis.net|rule34hentai.net|seehd.pl|sendvid.com|sexuria.com|solarmoviesc.com|speedvid.net|sportp2p.com|stream.moe|stream2watch.org|streamango.com|streamcherry.com|streamplay.to|streamshunter.tv|suprafiles.org|telepisodes.co|thehiddenbay.fi|thehiddenbay.ws|thekat.nz|thepiratebay.red|thepiratebay.rocks|thepirateproxy.ws|theproxybay.me|thevideo.cc|thevideo.ch|thevideo.me|thevideo.website|torrentz.to|tpb.zone|tpbmirror.ga|tpbship.org|uktpbmirror.pw|unblocker.cc|unblocktpb.pro|userscloud.com|vidgg.to|vidlox.me|vidlox.tv|vidoza.net|vidto.me|vidtod.me|vidtudu.com|vidup.me|vidz7.com|vidzi.tv|vipleague.mobi|vodlock.co|watchcartoononline.com|watchonline.to|watchonlinemovies.com.pk|wholecloud.net|youwatch.org|yts.am (easylist.txt: 52424) - Record type detection failed
ERROR: /http://[a-zA-Z0-9]+\.[a-z]+\/.*(?:[!"#$%&'()*+,:;<=>?@/\^_`{|}~-]).*[a-zA-Z0-9]+/$script,third-party,domain=keezmovies.com|redtube.com|tube8.com|tube8.es|tube8.fr|www.pornhub.com|youporn.com (easylist.txt: 52448) - Record type detection failed
ERROR: aol.co.uk,metabomb.net,moviefone.com#?#.trc-content-sponsored (easylist.txt: 62412) - Record type detection failed
ERROR: cesoirtv.com#?#a[onmousedown^="this.href='https://paid.outbrain.com/network/redir?"][target="_blank"] (easylist.txt: 62443) - Record type detection failed
ERROR: sumotorrent.sx#a[href^="http://trafficlord.net/"] (easylist.txt: 63570) - Record type detection failed
ERROR: webfail.com#?#div[style="width:300px;height:auto;margin:30px 0;"] + div (easylist.txt: 64065) - Record type detection failed
ERROR: @@.gif#$domain=budget101.com|cbox.ws|corepacks.com|danydanielrt.com|dx-tv.com|eventosppv.me|funniermoments.com|gameurs.net|hastlegames.com|ibmmainframeforum.com|liveonlinetv247.info|loadlum.com|mamahd.com|onlinemoviesfreee.com|onlinemoviewatchs.tv|premiumleecher.com|remo-xp.com|showsport-tv.com|superplatyna.com|turktorrent.cc|tv-porinternet.com.mx|tvrex.altervista.org|ver-flv.com|verdirectotv.com|wallpapersimages.co.uk|wowebook.org|wrestlingtalk.org|wwe2day.tv|xup.in (easylist.txt: 67416) - Record type detection failed
ERROR: @@.ico#$domain=xup.in|xup.to (easylist.txt: 67418) - Record type detection failed
ERROR: @@.jpg#$domain=300mbfilms.co|apkone.net|bicimotosargentina.com|calcularindemnizacion.es|cinema2satu.net|desionlinetheater.com|dragoart.com|dvdfullfree.com|firsttube.co|freewatchlivetv.com|galna.org|haxlog.com|idevnote.com|kshowes.net|lag10.net|legionpeliculas.org|livrosdoexilado.org|lomeutec.com|mac2sell.net|masfuertequeelhierro.com|max-deportv.info|max-deportv.net|megacineonline.biz|mimaletamusical.blogspot.com.ar|movie1k.net|mugiwaranofansub.blogspot.com.ar|musicacelestial.net|mypapercraft.net|naasongs.com|pcgames-download.net|play-old-pc-games.com|premiumgeneratorlink.com|pxstream.tv|rtube.de|software4all-now.blogspot.co.uk|tv-msn.com|uploadlw.com|wallpapersimages.co.uk|wrestlingtalk.org (easylist.txt: 67421) - Record type detection failed
ERROR: @@.png#$domain=300mblink.com|adlipay.com|amigosdelamili.com|anime2enjoy.com|animesubita.info|anizm.com|anonytext.tk|arenavision.in|backin.net|best-bitcoin-faucet.eu|best-free-faucet.eu|bitcofree.com|bitcoin-best-faucet.eu|bitcoin-cloud.eu|bitcoin-faucet.eu|bitcoin-free-faucet.eu|byetv.org|calcularindemnizacion.es|cleodesktop.com|compartiendofull.org|corepacks.com|dailyuploads.net|debrastagi.com|debridit.com|debridx.com|dksoftwares4u.blogspot.co.uk|docpaste.com|dragoart.com|fcportables.com|file-upload.com|free-bitcoin-faucet.eu|freeclaimbtc.xyz|freelive365.com|gameopc.blogspot.com.ar|get-bitcoins-free.eu|get-free-bitcoin.eu|go4up.com|hackintosh.zone|hogarutil.com|hostyd.com|hubturkey.net|idevnote.com|iptvlinks.com|juegosparaplaystation.com|kshowes.net|kwikupload.com|latinomegahd.net|legionprogramas.org|lordpyrak.net|maamp3.com|magesy.be|mamahd.com|marketmilitia.org|media1fire.com|media4up.com|mediaplaybox.com|megacineonline.net|minecraft-forum.net|mintmovies.net|mpc-g.com|mrjuegosdroid.co.vu|mundoprogramas.net|myksn.net|nbahd.com|newxxxvideosupdate.blogspot.com.ar|nontonanime.org|nornar.com|noticiasautomotivas.com.br|omaredomex.org|oploverz.net|osdarlings.com|peliculas.online-latino.com|pes-patch.com|pocosmegashdd.com|portalzuca.com|portalzuca.net|premium4.us|puromarketing.com|realidadscans.org|sawlive.tv|scriptnulled.eu|secureupload.eu|seriesbang.net|seriesbang.to|short.am|skidrowcrack.com|sportstvstream.me|stream2watch.me|stream4free.eu|streamlive.to|superanimes.com|superplatyna.com|tamercome.blogspot.co.uk|techingspot.blogspot.in|technoshouter.com|trackitonline.ru|trizone91.com|turkdown.com|tv-msn.com|tvenvivocrackmastersamm.blogspot.com.ar|ulto.ga|unlockpwd.com|uploadex.com|uploadocean.com|url4u.org|vbaddict.net|vencko.net|vidlockers.ag|whatsapprb.blogspot.com|win-free-bitcoins.eu|wolverdon-filmes.com|wowhq.eu|wrestlingtalk.org (easylist.txt: 67424) - Record type detection failed
ERROR: @@.png?*#$domain=mypapercraft.net|xlocker.net (easylist.txt: 67425) - Record type detection failed
ERROR: @@||blogspot.com^*#-$image,domain=cricket-365.pw|cricpower.com|pirlotv.tv (easylist.txt: 67647) - Record type detection failed
ERROR: @@||free.smsmarkaz.urdupoint.com^*#-$image (easylist.txt: 67883) - Record type detection failed
ERROR: @@||i.imgur.com^*#.$image,domain=newmusicforpeople.org (easylist.txt: 68009) - Record type detection failed
ERROR: @@||linkcrypt.ws/image/*#$image (easylist.txt: 68131) - Record type detection failed
ERROR: @@||media.eventhubs.com/images/*#$image (easylist.txt: 68179) - Record type detection failed
ERROR: @@||mzstatic.com^*.jpg#$image,domain=newmusicforpeople.org (easylist.txt: 68261) - Record type detection failed
ERROR: @@||seekingalpha.com/adsframe.html#que=$subdocument (easylist.txt: 68472) - Record type detection failed
ERROR: @@||teenidols4you.com^*#-$image (easylist.txt: 68561) - Record type detection failed
ERROR: @@||youwatch.org^*#$image (easylist.txt: 68750) - Record type detection failed
ERROR: @@.jpg#$domain=hellojav.com|hentaienespañol.net|palaotog.net (easylist.txt: 69961) - Record type detection failed
ERROR: @@.png#$domain=indiangilma.com|javcen.me|javpub.me|lfporn.com|pornbraze.com|thisav.com|you-fap.com|youfreeporntube.com|youngmodelsclub.net (easylist.txt: 69962) - Record type detection failed
ERROR: liga-ursus.siatkowka.org/###widget_sp_image-2 (easylistpolish.txt: 2833) - Record type detection failed
ERROR: bryk.pl,zvami.tv,debica24.eu,telewizjazary.pl,korsokolbuszowskie.pl,kociewiak.pl,cooltura24.co.uk,portalpomorza.pl,tvobiektyw.pl,debica24.eu,echotygodnik.info#[class^="advert-"] (pl_adblock.txt: 485) - Record type detection failed
ERROR: ||interia.pl/#utm_source$popup,domain=cdaction.pl (pl_adblock.txt: 3021) - Record type detection failed
ERROR: mybank.pl,wzory-cv.com ##.adsbygoogle (pl_adblock.txt: 3661) - Record type detection failed
ERROR: debata.olsztyn.pl,bluestop.pl/###jslikeboxsidebarright (adblock_social_list.txt: 973) - Record type detection failed
ERROR: szczecinek.com#,sklep.hard-pc.pl#.social (adblock_social_list.txt: 2008) - Record type detection failed
ERROR: ~autocentrum.pl,~ideabank.pl,~intel.*,~pkn.pl,~topsecret.pl,~starbucks.pl,~isobar.com,~morizon.pl,~abctygodnik.pl,~wykop.pl,~bt4.pl,~kolba.pl,~tablety.pl,~tesco.pl,~unileverfoodsolutions.pl,~lomza.pl,~multimediago.pl,pl##div[class*="cookie"] (PPB.txt: 3328) - Record type detection failed
ERROR: spielaffe.de#?##advertising_billboard (easylistgermany.txt: 6893) - Record type detection failed
ERROR: spielaffe.de#?##app_advertising_skyscraper_right (easylistgermany.txt: 6894) - Record type detection failed
ERROR: chip.de#?#a[data-widget-outbrain-redirect^="http://paid.outbrain.com/network/redir?"] (easylistgermany.txt: 6929) - Record type detection failed
ERROR: erdbeerlounge.de#?#a[href^="http://sp.erdbeerlounge.de/"] (easylistgermany.txt: 7279) - Record type detection failed
ERROR: kino.de#?#.banner (easylistgermany.txt: 7404) - Record type detection failed
ERROR: kino.de#?#.medium-rectangle (easylistgermany.txt: 7405) - Record type detection failed
ERROR: @||pagead2.googlesyndication.com/pagead/scache/googlevideoads.swf$object-subrequest,domain=giochidicalcio.com (easylistitaly.txt: 3627) - Record type detection failed
ERROR: /#ads|$subdocument (liste_fr.txt: 366) - Record type detection failed
ERROR: @preroll/*,adb=$xmlhttprequest (liste_fr.txt: 2155) - Record type detection failed
ERROR: @publicite@ (liste_fr.txt: 2156) - Record type detection failed
ERROR: /\.com\/[0-9a-z]{8}\.js#spot\=[0-9]{5}$/$script (liste_fr.txt: 2341) - Record type detection failed
ERROR: ||april.fr/#/?$third-party (liste_fr.txt: 7716) - Record type detection failed
ERROR: ||pagesjaunes.fr^*pub#position= (liste_fr.txt: 11149) - Record type detection failed
ERROR: go4up.com#?#a[href*="/download/"] (liste_fr.txt: 16301) - Record type detection failed
ERROR: pblv-plusbellelavie.fr#?#div[style^="display: block !important;"] (liste_fr.txt: 16382) - Record type detection failed
ERROR: @@.gif#$image,domain=sos-lettre.fr (liste_fr.txt: 16686) - Record type detection failed
ERROR: @@.jpg#$image,domain=4downfiles.org|dpstream.cc|lethal-weapon-streaming.eu|macgames-download.com|the-night-of-streaming.eu (liste_fr.txt: 16687) - Record type detection failed
ERROR: @@.png#$image,domain=4downfiles.org|dl-protect1.com|dl-protecte.com|dl-protecte.org|dpstream.cc|ebookdz.com|leetgamerz.net|likeup.fr|planet-series.co|protect-lien.com|protect-zt.com|protecte-link.com|pxstream.tv|radio-en-direct.fr|savefile.co|security-links.com|softmaroc.org|stream4free.top|tout-debrid.net|tout-gratuit.be|up-4ever.com|zone-torrent.net (liste_fr.txt: 16688) - Record type detection failed
ERROR: ||nalivali.ru##^$popup (ru_advblock.txt: 930) - Record type detection failed
ERROR: ||nalivali.ru##^ (ru_advblock.txt: 8435) - Record type detection failed
ERROR: 062.in.ua,062.in.ua.,goodhouse.ru###cboxOverlay (ru_advblock.txt: 18540) - Record type detection failed
ERROR: 062.in.ua,062.in.ua.,dnepr24.com.ua,gazeta.zp.ua,goodhouse.ru,kherson.net.ua,kr24.com.ua,nikolaev24.com.ua,odessa.net.ua###colorbox (ru_advblock.txt: 18542) - Record type detection failed
ERROR: 062.in.ua,062.in.ua.###socialpopup (ru_advblock.txt: 18612) - Record type detection failed

For example there are those as kino.de#?#.banner which seems that they should be trivial to repair.

privoxy crash due to bad filter combination

Running command adblock2privoxy -p /tmp/privoxy -w /tmp/privoxy -d 127.0.0.1:8445 -t privoxy_ab2b.task \ https://easylist-downloads.adblockplus.org/easylist.txt even with only one source creates among others ab2p.system.action file. That file includes:

#workaround for gzip handling privoxy bugs
{ +prevent-compression }
 *.yahoo.com
 *.amazon.com

This results in privoxy crash if config files created got overridden on running app or fails to start if it was not previously running

2018-05-20 16:23:31.825 7f5219ffb700 Error: No server or forwarder response received on socket 9.
2018-05-20 16:59:15.630 7f522c1150c0 Info: Loading filter file: /etc/privoxy/ab2p.filter
2018-05-20 16:59:15.767 7f522c1150c0 Error: Adding re_filter job 's@^referer(?=:[^\n]*[./](?:171gifs\.com|1proxy\.de|2ddl\.download|300mbfilms\.org|300mbmovies4u\.lol|321jav\.com|353online\.com|4horlover\.blogspot\.com|4horlover2\.blogspot\.com|4proxy\.de|61tube\.com|69sugar\.com|6jav\.com|6teentube\.am|7starhd\.com|9xmovies\.site|abcmalayalam\.co|abgdianci\.com|adultdouga\.biz|aflamfree\.net|aflamtorrent\.com|agarios\.org|ahlamtv\.com|al\.ly|alantv\.net|alivefoot\.us|alivefootballstreaming\.com|allpeliculas\.com|alltube\.tv|ally\.sh|amabitch\.com|amateur\.ug|ancensored\.com|andrija-i-andjelka\.com|animakai\.info|anime-music\.info|anime-shitai\.tv|anime-sugoi\.com|animeado\.net|animeai\.org|animeai2\.net|animeid\.io|animelek\.com|animemusicdownload\.info|animepahe\.com|animesenzalimiti\.com|animesonline2hd\.org|animesonlinetk\.info|animesorion\.org|animezone\.pl|anitube\.es|antenasport\.eu|anyanime\.com|apklover\.net|aquariumgays\.com|arab-moviez\.org|arabloads\.net|arabp2p\.com|archived\.moe|artgifsocean\.com|asianporndistrict\.com|asianxv\.com|assistirfilmeshd\.org|assistirfilmesonline2\.net|avonline\.tv|avpockiehd\.com|axxomovies\.in|azkempire\.com|aznude\.com|baixarsomusica\.com|bajarjuegospcgratis\.com|bakacan\.com|balkandownload\.org|balkanje\.com|bdmusicboss\.net|bdsmporn\.us|bdsmstreak\.com|beautiesbondage\.com|becekin\.net|beelink\.in|behchala\.com|bersek\.xyz|bestsongspk\.com|big4umovies\.net|bilasport\.pw|bitch-show\.com|bitporno\.com|blackboxrepack\.com|blacklionmusic\.com|blogqpot\.com|bludv\.com|bokep2017\.com|bokepcewek\.net|bokepseks\.co|bolly2tolly\.com|bouncebreak\.com|brazzershd\.co|btdb\.in|bugiltelanjang17\.com|bypassed\.cab|bypassed\.plus|bypassed\.team|calcioitalia\.stream|camrouge\.com|camwhores\.co|cartoonhd\.be|cartoonhd\.cc|cartoonhd\.globa|cartoonhd\.global|cartoonth12\.com|catchcoin\.pw|catosports\.ml|centraldeanimes\.biz|cholotubex\.com|cinemamkv\.xyz|cinetux\.net|clik\.pw|cliphayho\.com|cloudy\.ec|coastalhut\.com|columbia-xxx\.com|comicporno\.org|comicsmanics\.com|cookiesnetfl1x\.com|cooltamil\.com|coroas40\.com|coshurl\.co|couchtuner\.fr|couchtuner\.nu|cricbox\.net|cwtube\.dj|czechmoneyteens\.com|dailyuploads\.net|dato\.porn|datpiff\.biz|dblatino\.com|dclinks\.info|dd-books\.com|debrideco\.com|demonoid\.co|depedlps\.blogspot\.com|desixnxx\.n' to filter ab2p-unblock-elem-R2456 failed: (pcrs:) Syntax error while parsing command
2018-05-20 16:59:16.416 7f522c1150c0 Info: Loading filter file: /etc/privoxy/ab2p.filter
2018-05-20 16:59:16.648 7f522c1150c0 Info: Loading actions file: /etc/privoxy/ab2p.action
2018-05-20 16:59:17.033 7f522c1150c0 Info: Loading actions file: /etc/privoxy/ab2p.action
2018-05-20 16:59:36.575 7f522c1150c0 Info: Loading filter file: /etc/privoxy/ab2p.system.filter
2018-05-20 16:59:36.575 7f522c1150c0 Info: Loading actions file: /etc/privoxy/ab2p.system.action
2018-05-20 16:59:36.575 7f522c1150c0 Error: error compiling *.yahoo.com from *.yahoo.com: ? * + invalid at offset 0     
2018-05-20 16:59:36.575 7f522c1150c0 Fatal error: can't load actions file '/etc/privoxy/ab2p.system.action': line 23: cannot create URL or TAG pattern from: *.yahoo.com

Removing leading * from those two rules makes privoxy work again

#workaround for gzip handling privoxy bugs
{ +prevent-compression }
 .yahoo.com
 .amazon.com

Seems that particular record is not related to any adblock.txt list used, but is created by adblock2privoxy itself.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.