funilrys / PyFunceble

The tool to check the availability or syntax of domain, IP or URL.
https://pyfunceble.github.io
Apache License 2.0
300 stars 46 forks source link

Adblock decoder ignore some portion when decoding #13

Closed funilrys closed 3 years ago

funilrys commented 6 years ago

As reported by @dnmTX at https://github.com/Ultimate-Hosts-Blacklist/dev-center/issues/9:

everything with ##[href^=....

are ignored.

dnmTX commented 6 years ago

Caught another bug: This section in the original lists are rules that removing elements(only) from legit sites: original

After PyFunceble filter the lists the end result in domain.list is: end_result Notice how legit sites are being blocked?

funilrys commented 6 years ago

Okay you have to explain me AdBlock then @dnmTX :smile_cat: I'm not a big fan of it as its syntax is confusing.

So how do I differ legit from bad site in adblock ? I though that adblock was only about blocking not whitelisting :thinking:

dnmTX commented 6 years ago

OK...... i'll do the basics only to be more clear: If you want to block domain you need to add || in the front and ^ at the end(it will catch the subdomains as well) If you want to block just element in that website,you need to find it(chrome dev-tools helps a lot with that) and add ## after the domain name.Example: Open yahoo.com(i removed soooo many elemnts from that page you wouldn't recognize it). Now...look at your yahoo page and compare to mine: yahoo

Much cleaner,no videos,no annoyances. Rules examples: yahoo.com###applet_p_50000278 yahoo.com###applet_p_32209491
yahoo.com###applet_p_50000277 yahoo.com###applet_p_63802 yahoo.com###applet_p_63796 yahoo.com###sticky-lrec2-footer

funilrys commented 6 years ago

Okay so what about this format ? Which of the following mark the domain as a bad or good boy ?

||google.com$script,image
||api.google.com/papi/action$popup
facebook.com###player-above-2
~github.com,hello.world##
@@||cnn.com/*ad.xml
!||world.hello/*ad.xml
!@@||funceble.world/js
yahoo.com,msn.com,api.hello.world#@#awesomeWorld
!funilrys.com##body
hubgit.com|oohay.com|ipa.elloh.dlorw#@#awesomeWorld

I know you will not find them in real world but they are part of the tests for the decoder.

dnmTX commented 6 years ago

The ##[href^=.... it's different.it's embedded in the iframe and this how you blocking those domains

funilrys commented 6 years ago

Okay I'm working on that implementation.

So in this

hubgit.com|oohay.com|ipa.elloh.dlorw#@#awesomeWorld

they are all legit right ?

dnmTX commented 6 years ago

||google.com$script,image -this rule will not allow any scripts or images to be shown or executed on that domain ||api.google.com/papi/action$popup -this rule will stop the popup coming from that link facebook.com###player-above-2 -this one will hide element(looks like a video player) on that page ~github.com,hello.world## -hmmmm haven't seen this one @@||cnn.com/ad.xml -this rule will whitelist that link on the webpage (@@ in front is whitelisting) !||world.hello/ad.xml -this will block it(! in the front is comment) !@@||funceble.world/js -this will whitelist that js script (! in the front is comment) yahoo.com,msn.com,api.hello.world#@#awesomeWorld -don't know !funilrys.com##body -this will block element hubgit.com|oohay.com|ipa.elloh.dlorw#@#awesomeWorld -don't know

dnmTX commented 6 years ago

Stay put,let me do some research on #@# rule cause i'm using AdGuard and haven't seen such a rule there

dnmTX commented 6 years ago

Ok... in the above example the rule #@# allows(whitelists) that particular element on the listed domains,so yes,all those domains are legit

funilrys commented 6 years ago

Okay let me implement this issue first with the current format will then review with you for all tests as those need some hotfix. Never thought about whitelisting :joy_cat:

dnmTX commented 6 years ago

I know,it's Java,more complex.Took me a while to get around it but i'm getting there

dnmTX commented 6 years ago

@funilrys make it simple.Everything that has || in front and ^ at the end stays. Everything that has href in it stays(filtered of course to leave the domain only).The rest should be removed as it's rules that don't really concern any of us who will use the lists in hosts format.

funilrys commented 6 years ago

Yeah but if I do that, I'll invalidate AdBlock/filter list like https://github.com/MajkiIT/polish-ads-filter :smile_cat:

funilrys commented 6 years ago

Only need to take some time to understand how it works properly then will clean the mess I created!

dnmTX commented 6 years ago

Look at this one for example.In it,all legit domains with rules to block certain elements only.

dnmTX commented 6 years ago

Ok,i know it will take time but meanwhile,for everyone who uses the lists with dnsmasq etc etc and not adblockers. Can you PLEASE add https://raw.githubusercontent.com/Dawsey21/Lists/master/main-blacklist.txt to be filtered properly.

dnmTX commented 6 years ago

Also you can start here,it's very well explained and will help you understand the basics: https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters

dnmTX commented 6 years ago

Ok,i know it will take time but meanwhile,for everyone who uses the lists with dnsmasq etc etc and not adblockers. Can you PLEASE add https://raw.githubusercontent.com/Dawsey21/Lists/master/main-blacklist.txt to be filtered properly.

PLEASE
untitled

funilrys commented 6 years ago

@dnmTX ,

PyFunceble is fixed, please look at the tests for details.

As you mentioned, there was really an issue with my way of handling adblock lists. Therefor here is the eratum:

Please understand by self.expected the list of extracted domains from the given input (self.lines).

self.lines = [
            "||funilrys.github.io$script,image",
            "||google.com^$script,image",
            "||twitter.com^helloworld.com",
            "||api.google.com/papi/action$popup",
            "facebook.com###player-above-2",
            "~github.com,hello.world##.wrapper",
            "@@||cnn.com/*ad.xml",
            "!||world.hello/*ad.xml",
            "bing.com,bingo.com#@##adBanner",
            "!@@||funceble.world/js",
            "yahoo.com,~msn.com,api.hello.world#@#awesomeWorld",
            "!funilrys.com##body",
            "hello#@#badads",
            "hubgit.com|oohay.com|ipa.elloh.dlorw#@#awesomeWorld",
            '##[href^="https://funceble.funilrys.com/"]',
            "[AdBlock Plus 2.0]",
            '##div[href^="http://funilrys.com/"]',
            'com##[href^="ftp://funceble.funilrys-funceble.com/"]',
            "/banner/*/img^" "|github.io|",
            "|github.io|",
            "||api.funilrys.com/widget/$",
        ]

        self.expected = [
            "funilrys.github.io",
            "google.com",
            "twitter.com",
            "api.google.com",
            "funceble.funilrys.com",
            "funilrys.com",
            "github.io",
            "api.funilrys.com",
]

As the tests were passed without any issue (cf.) I can attest that the next release and the current development version do not take any false positive anymore.

Please let me know if there is something else.

This issue will be closed on next release!

Cheers, Nissar

funilrys commented 6 years ago
dnmTX commented 6 years ago

@funilrys from what i can tell and understand is self.lines is the example of if there is any domains there not to be added for filtering as they are legit? Am i close?

What about anything with ##div[href^=...,those are usually bad ones that need blocking?

Another thing(just to make sure).Example: ||api.funilrys.com/widget/$ what this is is partial link that could be api.funilrys.com/widget/bla/bla/bla/ad.js and the adblocker will catch it but the thing is that because that domain is hosting some ad or telemetry script(google usually does that) that doesn't mean that the actual domain is bad.The question is if there is certain rule how that domain will be considered,as bad or as good?

funilrys commented 6 years ago

@dnmTX self.lines contains random lines that can be found in regular AdBlock. The objective of the code I write/wrote is to get as output the list self.expected which is in more practical way, what we are going to test (the bad ones).

So from your point of view self.expected represent the bad one we have to test.

About ##div[href^=... It's there because usually you have ##[href^=... but those variant also exist:

With my review, the domain which is in the href attribute is extracted and formatted (remove protocol and "decorators") :smile_cat:

dnmTX commented 6 years ago

Actually from my point of view the self.expected should be considered the good ones with exception of everything that has href in it. Bad ones should start with || and end with ^ including all the href variations.

funilrys commented 6 years ago

Wow you lost me :joy_cat:

For clarification, those are example of format do not consider those domains we are only talking about extracted domain from matched format :smile_cat:

|  Expected/Extracted/Tested by PyFunceble  | Line (example)                                |
|------------------------------------------ |--------------------------------------------   |
| funilrys.github.io                        | ||funilrys.github.io$script,image             |
| google.com                                | ||google.com^$script,image                    |
| twitter.com                               | ||twitter.com^helloworld.com                  |
| api.google.com                            | ||api.google.com/papi/action$popup            |
| funceble.funilrys.com                     | ##[href^="https://funceble.funilrys.com/"]    |
| funilrys.com                              | ##div[href^="http://funilrys.com/"]           |
| github.io                                 | |github.io|                                   |
| api.funilrys.com                          | ||api.funilrys.com/widget/$                   |

Also if we match for example hello.world##ad-selector we do not extract hello.world as a bad one.

funilrys commented 6 years ago

Maybe I misunderstood something :thinking:

dnmTX commented 6 years ago

Also if we match for example hello.world##ad-selector we do not extract hello.world as a bad one.

Ok,that's good,that's how it's suppose to be but...... If we match ||api.google.com/papi/action$popup do we extract api.google.com as bad one or not? This is where the tricky part is,cause in this example api.google.com is very legit domain that hosts ad scripts and so on but also hosts things that without them the web page will be broken.

funilrys commented 6 years ago

If we have ||api.google.com/papi/action$popup or for example ||api.example.org/pap/hello$popup the system will extract, test and produce result respectively for api.google.com and api.example.org.

dnmTX commented 6 years ago

basically you saying that api.google.com will be blocked?

What if you have let's say: ||yahoo.com/papi/action$popup so the end result will be: 0.0.0.0 yahoo.com in ACTIVE folder.

funilrys commented 6 years ago

You're thinking about after.

PyFunceble work with the data you provide. Which means that if you decide to have api.google.com in your list, PyFunceble will test it. If you decide to have api.google.com in the hosts file to test, PyFunceble will test it. If you decide to provide ||api.google.com/papi/action$popup into your adblock list, PyFunceble will extract and test it. PyFunceble is a global tool which does what he was told to: Check the availability of a given domain, IPv4 or URL.

What you do with the results and data is what you want. That's why there is whitelist in project like Ultimate. Because we all know that false positive will always be there in such big compilation. And we are not talking about maintainers who block for example google.com. It's their list, our tests, our compilation but we still have to deal with whitelisting because the upstream maintainer may not want to whitelist x or y even if they are legit and not harmful.

funilrys commented 6 years ago

By the way if you're looking for a whitelisting script we have one at https://github.com/Ultimate-Hosts-Blacklist/dev-center/tree/whitelisting :smile_cat:

dnmTX commented 6 years ago

Ok,i see now.You were more concerned about how to properly extract the domains,i was worry more about false positives(as it's understandable cause i'm the end user).Basically for me not to worry about that cause i'm really trying to automate everything and not even think about it can't you PLEASE(again) add the other LISTS and let's be done with it.

P.S. I can't use Python scripts on my rouer @funilrys how hard is to add one more lists? Why so stubborn?

jawz101 commented 6 years ago

fyi - I have a couple of things to bring up. 1st, I'm going through the process of checking both the EasyList and EasyPrivacy blocklists (which are Adblock+ formatted) and they've been running all day so it may be a little while after but I can attach the outputs of each to this to see where there might be issues.

2nd- if we're talking about using PyFunceble to process an adblockplus formatted list for use as a hosts file, you'd only want to go after a subset of the domains. I assume PyFunceble currently tries to parse out all of the domains referenced in an ABP list for validation. But this would also capture what would then be false-positives if they were to apply to a hosts file.

pfBlockerNG (a pretty awesome package for pfSense firewall) also includes a feature where it parses out the hosts from both the EasyList & EasyPrivacy lists and adds them to a traditional DNS blocklist. I don't know if it might help to see the logic behind it- even though it's PHP and all.

I think I found the part of pfBlockerNG that gives an idea of what they extract from these sorts of lists to only capture domain names:

https://github.com/pfsense/FreeBSD-ports/blob/devel/net/pfSense-pkg-pfBlockerNG-devel/files/usr/local/pkg/pfblockerng/pfblockerng.inc#L5687

The short of it to me was to only process lines in ABP- formatted lists against any line that began with and immediately ended with ||example.com^$third-party

Looking through an adblockplus syntax'd list, for something like PyFunceble, it seems like you'd want to ignore any lines with this junk: starts with:

if it's a line that is just

||something.domain.tld^$third-party,

no more, no less - process those.

funilrys commented 6 years ago

Will be interested for your output @jawz101.

Between :

I'm conscious that it may be aggressive but I tried hard to comply with https://adblockplus.org/filter-cheatsheet along with the needs of "our field". Indeed, for the case of href^=unilrys.github.io if we write that, I do consider that we implicitly consider the referenced href as a bad one so we extract and test it.

What's your inputs on this short statement? :smile_cat:

Have a good night.

Cheers, Nissar

jawz101 commented 6 years ago

I drove to go get some gas and I was still thinking about it and felt I didn't have a complete idea. I was today, coincidentally, trying to do by hand with regex and Notepad++ what we're talking about so I figured I'd chime in :/

... to add to the ||example.com^$third-party I'd also want to block ||example.com^

What you said makes sense but is the goal to validate all domains in ABP rules or to also process them with the end result of a blocklist?

The reason I ask is I wouldn't want to block funilrys.github.io in this example because I wouldn't want to block the whole domain if an ABP rule was just trying to block certain bits of its content.

||funilrys.github.io$script,image

just depends on if the goal is to validate domains or also take them and then, say, make a pi-hole blocklist out of them. As is, it sounds like it would have a lot of false positives if I put the output into a blocklist file.

jawz101 commented 6 years ago

... right now I'm going through https://easylist.to/easylist/easylist.txt by hand and finding examples of the lines I try to exclude and then see what I'm left with...

jawz101 commented 6 years ago

attached is easyprivacy's list (I zipped up the cached files as well in case you want to set it up on a schedule like some others.) ran with PyFunceble --adblock --link https://easylist.to/easylist/easyprivacy.txt

easyprivacy.zip

The EasyList is still on the K's... it's about x10 larger list than EasyPrivacy.

If the output looks good to you, @funilrys I want to send it on to the list maintainers. The EasyList one looks pretty red so I'm curious how it will turn out.

funilrys commented 6 years ago

Thanks @jawz101 will look into that when I have a bit of time.

||example.com^

is already extracted as expected in the test : https://github.com/funilrys/PyFunceble/blob/4c3683225c4d63808a456bb35443c8d0b414ecfd/tests/test_core.py#L361

I get your point I did not thought about that little third-party option. Will implement :+1:

funilrys commented 6 years ago

What about the other options @jawz101 ?

from https://adblockplus.org/filter-cheatsheet#options:

script~script Include or exclude JavaScript files
image~image Include or exclude image files
stylesheet~stylesheet Include or exclude stylesheets (CSS files)
object~object Include or exclude content handled by browser plugins like Flash or Java
object-subrequest~object-subrequest Include or exclude files loaded by browser plugins
subdocument~subdocument Include or exclude pages loaded within pages (frames)

Exceptions document | Used to whitelist the page itself (e.g. @@||example.com^$document) elemhide | Used to prevent element rules from applying on a page (e.g. @@||example.com^$elemhide) Domains domain= | Specify a list of domains, separated by bar lines (|), on which a filter should be active. A filter may be prevented from being activated on a domain by preceding the domain name with a tilde (~). third-party~third-party | Specify whether a filter should be active on third-party or first domains Misc rewrite= | Specify a rewrite rule for the URL to be performed before downloading. If the filter is a regular expression, use $n to insert submatches into the rewritten URL. See JavaScript own String.prototype.replace().

Is extracting third-party only sufficient?

jawz101 commented 6 years ago

Well, ||example.com^$third-party and ||example.com^ are what I ended up with I think

As for the rest of them, advanced syntax looks like it comes into play if you have conditions When I see things that would cause breakage.

fancy conditions:

||example.com^$image only block images from example.com

||example.com^$third-party,script,object only block it if it's 3rd party or if it's first party block its scripts and objects. Like, I might still need some of example.com 1st party stuff. In fact, if someone tried to process a uBlock list, gorhill actually made tons of additional things to block

||example.com^...elemhide - make the network connection but just hide the resource (say, you may need to establish a connection to that subdomain to get some parts of the webpage but remove some of the banners and stuff it also wants to show)

||example.com^... domain=somesite.com only block example.com if it's on somesite.com

less false positives:

||example.com^ block example.com. Basically, use ABP rules as if it were a DNS/hostfile-styled blocker

||example.com^$third-partyblock example.com if it is third party. Even though it is a condition they don't seem to block legit sites you'd visit.

Adding the Easylist thing because it finished sometime last night. It's probably more valuable to you than the EasyPrivacy report because it includes a bunch of element hiding junk. It's because of this, pfBlocker doesn't actually use the famous EasyList itself in its processing and instead uses it's little brother called "EasyList no elem hiding" list found on this page since it removes a lot of the fancy conditional stuff and is more suited for strict rules that block the actual connections from occuring.

easylist.zip

One thing I noticed with easylist is "if I was using PyFunceble to validate any domain it found in an ABP+ rule, it would be fine. if I was using this to process a list for use as a blocklist, I'd be screwed."

If you search the list of active hosts for google.com or github.com you will see that it checks those domains because they were somewhere in a rule. If I was to throw this into a blocklist it would not be great.

funilrys commented 5 years ago

Hi @jawz101, I'm writing an improvement but we have to admit, it's impossible to avoid false positive. That's why whitelisting is more important than blocking.

Now we have to decide between 2 way:

For now, I'm implementing the second way but we may think about the other way in the future or as an extra option.

kulfoon commented 4 years ago

funilrys : but we may think about the other way in the future or as an extra option.

Yes, it would be the most usefull, especially for ad-block filters lists maintentainers to get rid of all dead domains.

funilrys : For now, I'm implementing the second way

The second way is also not bad as for the beginning, it still will extract many domains, also basically I would agree with this: https://github.com/funilrys/PyFunceble/issues/13#issuecomment-426394422, but further summarizing, these are bad domains which can be converted to hosts:

Notice: variations without ^ are very rare, they're mostly typos, but they still are valid filters

All other filters having anything additional to the above's should not be extraced, examples:

As they don't block the whole domain (neither twitter.com nor funilrys.github.io nor domain1.com , as they still can be visited), which means I agree with ( https://github.com/funilrys/PyFunceble/issues/13#issuecomment-443475390 ) :

jawz101 : The reason I ask is I wouldn't want to block funilrys.github.io in this example because I wouldn't want to block the whole domain if an ABP rule was just trying to block certain bits of its content.

Of course ||domain.com^$3p / ||domain.com^$third-party can be still visited as well, but they are mostly just ad and tracking servers.

funilrys commented 4 years ago

Interesting @kulfoon,

Thanks for your feedback! I still chose to extract twitter.com, funilrys.github.io and domain.com because of the use case described in #42.

I still added your examples to the tests and the current code passes it!

Thanks again for your feedback. Stay safe and healthy!

kulfoon commented 4 years ago

Thanks you too, however, it's getting more and more confusing.

funilrys: https://github.com/funilrys/PyFunceble/issues/13#issuecomment-444576689

Since you decided to implement the second way, I think you should stop at extracting domains which should be only completely/almost completely blocked, like in my previous comment, what would also cover:

jawz101 : https://github.com/funilrys/PyFunceble/issues/13#issuecomment-443475390 : just depends on if the goal is to validate domains or also take them and then, say, make a pi-hole blocklist out of them.

By extracting anything more, like:

I still chose to extract twitter.com, funilrys.github.io and domain.com because of the use case described in #42. + facebook.com##.search from https://github.com/funilrys/PyFunceble/issues/42#issuecomment-526795225

you will not cover the jawz101's above because causing false positives, just as he said:

jawz101 : https://github.com/funilrys/PyFunceble/issues/13#issuecomment-443475390 : As is, it sounds like it would have a lot of false positives if I put the output into a blocklist file.

also you are going beyond what it should be as for the second way, what will end up having neither the first way nor the second way and rather a some kind of a strange mix of both the first and the second way. So why not just to implement separately the first way method by simply extracting all domains, to cover all extraordinary domains, instead of partially extracting extraordinary domains into the second way method, also what sense is in extracting just a part of extraordinary domains. Alternatively, you could put all of your extraordinary domains into --agressive switch https://github.com/funilrys/PyFunceble/issues/42#issuecomment-526810118 .

funilrys : I still added your examples to the tests and the current code passes it!

I appreciate, but perhaps no need to add at least these: https://github.com/funilrys/PyFunceble/blob/083a4ccc601cb05799a85676901c5e2b4d8a4249/tests/test_converter_adblock.py#L120 https://github.com/funilrys/PyFunceble/blob/083a4ccc601cb05799a85676901c5e2b4d8a4249/tests/test_converter_adblock.py#L122

because such (or at least similiar) examples are already present in the tests: https://github.com/funilrys/PyFunceble/blob/083a4ccc601cb05799a85676901c5e2b4d8a4249/tests/test_converter_adblock.py#L89 https://github.com/funilrys/PyFunceble/blob/083a4ccc601cb05799a85676901c5e2b4d8a4249/tests/test_converter_adblock.py#L118

Greets.

keczuppp commented 3 years ago

1

Another failures:

Test filter Extraction result
\|\|site1.com site1.com
\|\|site2.com^ site2.com
\|\|site3.com$ site3.com
\|\|site4.com/ site4.com
\|\|site5.com* site5.com* failure (artefact)
\|\|site6.com$third-party site6.com
\|\|site7.com^$third-party site7.com
\|\|site8.com^$3p failure
\|\|site9.com^$all site9.com
\|\|site10.com^$document site10.com
\|\|site11.com^$important failure
\|\|site12.com^$3p,important site12.com
\|\|site13.com^$important,3p failure
\|\|site14.com^$all,important site14.com
\|\|site15.com^$important,all site15.com
\|\|site16.com^$doc failure
\|\|site17.com^$document site17.com
\|\|site18.com^$domain=site19.com site18.com, site19.com
^adv^$domain=site20.com failure
adv$domain=site21.com failure
adv^$domain=site22.com failure

As for the last 3 failures, many of such failures can be found in https://easylist-downloads.adblockplus.org/easylistpolish.txt The list contains about 2961 domains, but only 2459 are found by Adblock Decoder (with --aggressive option), which gives 83% efficiency.

failures ``` ^banery-reklamowe^ ^reklamy^ ^sidebar_reklama^ ^1000x390-$domain=tygodnik.szczytno.pl ^1200x1200_$domain=dziennikopolski.pl|dziennikwarszawy.pl|gazetawalbrzych.pl|gazetawielkopolska.pl|glosczestochowy.pl|gloskatowic.pl|gloskrakowa.pl|gloslodzi.pl|glosrybnika.pl|glosrzeszowa.pl|glostorunia.pl|glostrojmiasta.pl|gloswroclawia.pl ^1450x370-$domain=tygodnik.szczytno.pl ^2020bannery^$domain=wysokomazowiecki24.pl ^300^$domain=betglob.pl|betgol.pl|epilka.pl|estadios.pl|kuszotv.pl|mecze24.pl|meczelive.tv|oddslivesport.com|worldofbookmakers.com ^300^$image,domain=meczenazywo.tv|meczlive.pl ^468^$domain=betgol.pl|worldofbookmakers.com ^700x999-$domain=tygodnik.szczytno.pl ^728^$domain=betgol.pl|epilka.pl|extragoals.com|kuszotv.pl|mecze.com|mecze24.pl|meczelive.tv|oddslivesport.com ^728^$image,domain=meczenazywo.tv|meczlive.pl ^750^$image,domain=meczenazywo.tv|meczlive.pl ^750x200.$domain=tygodnik-rolniczy.pl ^750x200_$domain=geekweek.pl|polsatsport.pl ^787fe504fcc37d9fd342c3584614fb9d_$domain=zd24.pl ^a-posters^$domain=minskmaz.com ^AAAreklamy^$domain=zulawytv.pl ^ad^$domain=pieniny24.pl|sportowepodhale.pl ^admaster^$domain=suwalki24.pl ^ads^$domain=oswiecimskie24.pl|polski-tenis.pl ^adsrotator^$domain=korex.net.pl ^adv^$domain=alltube.tv|goryizerskie.pl|naszglospoznanski.pl|radio.kielce.pl|ringpolska.pl|sportsiedlce.pl|zyciegrajewa.pl ^adv_$domain=kcynia24.pl|koscian.net|naklo24.pl|powiat24.pl|sadki24.pl ^advertiseButtons^$domain=smanager.pl ^adwokat.gif?$domain=swarzedz24.pl ^as^$image,domain=xtech.pl ^ban^$domain=ang24.pl|dlagimnazjalisty.info|dlakierowcy.info|dlamaturzysty.info|dlaprzedszkolaka.info|dlaucznia.info|doctoralstudy.eu|edubaza.pl|gramatyka-angielska.info|kampusy.info|kierunki-studiow.info|kierunki-zamawiane.pl|kontastudenckie.pl|kursyjezykowe.biz|kursyletnie.pl|kursyonline.info|kursysemestralne.pl|kwalifikacjezawodowe.info|mba-studies.eu|organizacjestudenckie.pl|postgraduatestudy.eu|pracaikariera.pl|rektorzy.pl|studenckamarka.pl|studenckamoda.pl|studentka.pl|studentmapa.pl|studentnews.eu|studentnews.pl|studiadoktoranckie.info|studiainzynierskie.info|studialicencjackie.info|studiamagisterskie.info|studiamba.info|studianiestacjonarne.info|studiaonline.info|studiapodyplomowe.info|studiaweuropie.info|studies-in-english.pl|studies-in-europe.eu|studies-in-poland.pl|szkolyjezykowe.info|undergraduatestudy.eu|wameryce.info|weuropie.info|wincomparator.com ^banbron.$domain=oczamiostrego.pl ^baner%$domain=magazynregionalny.pl|podlasie24.pl|wdrawskupomorskim.pl ^baner-$domain=allebiznes.pl|automotivesuppliers.pl|bstok.pl|centrumdruku3d.pl|cksport.pl|cowkrakowie.pl|cowwilanowie.pl|crypto-trader.pl|echokamienia.pl|genetyczne.pl|gloskoninski.pl|gorydlaciebie.pl|hi-fi.com.pl|iloveslubice.pl|infokatowice.pl|infokonin.pl|infomalopolska.pl|jazdaprawna.pl|kk24.pl|limanowianin.in|luzyce.info|magazynvip.pl|materialybudowlane.info.pl|mazopolska.pl|miastokobiet.pl|mysnet.pl|niezaleznemediapodlasia.pl|ostrodanews.pl|oswiecim112.pl|oto-samochody.pl|polskacanada.com|portalkujawski.pl|powrotroberta.pl|przewodnicywedkarscy.pl|regionalna.pl|rynekinwestycji.pl|sochaczewianin.pl|starosadeckie.info|szczecinek.com|tarnobrzeskie.eu|tv28.pl|tvbraniewo24.pl|twojaslupca.pl|tygodnik-rolniczy.pl|tygodnikkrag.pl|tygodnikpiski.pl|tylkotorun.pl|tyna.info.pl|wiadomosci.com|wiecbork112.pl|wirtualnelegionowo.pl|wirtualnemazowsze24.pl|wirtualnynowydwor.pl|wolanie.info|zw.pl|zwrotnikraka.pl|zyciezamoscia.pl ^baner.$domain=magazynfakty.pl|ostrodanews.pl|przemyslkosmetyczny.pl|sokolka.tv ^baner2.$domain=edebno.pl ^baner^$domain=bielsko.info|bukowinatatrzanska.pl|chojnice.com|info.stargard.pl|ipon.pl|lubliniec.info|mojreprap.pl|nowiny.rybnik.pl|pfm.pl|progressforpoland.com|progressforpoland.org|pszczyna.tv|sennik-mistyczny.pl|sportslaski.pl|tarnowskiegory24.info|tygodnik-krapkowicki.info|zw.pl ^baner_$domain=7dni.pila.pl|asystentbhp.pl|bloog.pl|chcemybycrodzicami.pl|chemiaibiznes.com.pl|chorzowianin.pl|cksport.pl|czestochowskie24.pl|dzierzgon-twojemiasto.pl|e-pingpong.pl|extra.info.pl|forumfajerwerki.pl|fresh-market.pl|futbolfejs.pl|gazeta-mlawska.pl|gazetacz.com.pl|gazetagazeta.com|gielda-koni.com.pl|glogow-info.pl|grapplerinfo.pl|info.stargard.pl|infofordon.pl|infokatowice.pl|jaw.pl|jazdaprawna.pl|kurier-kolski.pl|kurierostrowski.pl|kurierzamojski.pl|legitymizm.org|lexus-forum.pl|magazynregionalny.pl|materialybudowlane.info.pl|meteoprog.pl|mojeniemcy.de|nowawrzesnia.pl|podgorze.pl|podlaskieagro.pl|portalkosmiczny.pl|przemyskie.info|przewodnicywedkarscy.pl|radiopiekary.pl|radomsport.pl|rdn.pl|regionalna.pl|sporteuro.pl|sweetwedding.pl|swiatoze.pl|swidnik.pl|tc.ciechanow.pl|thinkapple.pl|tvostrow.pl|tygodnik-krapkowicki.info|tygodnik-rolniczy.pl|tygodnikmakowski.pl|tygodnikprzasnyski.com.pl|urodaizdrowie.pl|vwgolf.pl|wdrawskupomorskim.pl|wiadomosci.rii.pl|wiatriwoda.pl|widzewtomy.net|wirtualnelegionowo.pl|wirtualnynowydwor.pl|zapytam.com|zkaszub.info|zpazurem.pl|zyciezamoscia.pl ^Baner_$domain=noweinfo.pl ^baner_$domain=sad24.pl|tc.ciechanow.pl|tygodnikmakowski.pl|tygodnikprzasnyski.com.pl ^banerek-$domain=my3miasto.pl ^banerek.$domain=futbolfejs.pl ^banerki^$domain=olkuski.pl ^banerkiIFRAME^$domain=info.elblag.pl ^banerkiJPG^$domain=info.elblag.pl ^banerm^$domain=co-slychac.pl ^banerpromocja.$domain=zapytam.com ^baners^$domain=konieimy.pl|nowaruda.info|podlasie24.pl|portalpszczelarski.pl|q4.pl|zyciekalisza.pl ^banery/8^$domain=sportowememy.pl ^banery2019^$domain=wysokomazowiecki24.pl ^banery^$domain=24tp.pl|alexjones.pl|archeton.pl|asta24.pl|belchatow.bai.pl|bialogardzianin.pl|bielsko.biala.pl|brodnica.net|bukowinatatrzanska.pl|cieszyninfo.pl|co-slychac.pl|dachy.info.pl|doba.pl|e-dobrydom.pl|e-konkursy.info|ebarlinek.pl|eglos.pl|emysliborz.pl|epszczyna.pl|fachowydekarz.pl|glowny-mechanik.pl|goryonline.com|haczyk.pl|haloursynow.pl|hotelinfo24.pl|igorzow.pl|igostyn.pl|ijarocin.pl|ikalisz.pl|ikamien.pl|ikrotoszyn.pl|infotydzien.info|iostrowwlkp.pl|ipleszew.pl|ipolska.info|ipyrzyce.pl|iswinoujscie.pl|jagiellonia.net|karpacz.net|kibice.net|kozienice24.pl|kuriergarwolinski.pl|kutno.net.pl|lipsko24.pl|lokalna24.pl|maritime.com.pl|mazury24.eu|mebleinfo.pl|miedzyrzec.info|moja-ostroleka.pl|mojaleczyca.pl|mragowo24.info|mymma.pl|nadmorze.pl|naszeopoczno.pl|nasztomaszow.pl|nowaruda.info|nowoczesnywarsztat.pl|opakowania.biz|ostrowmaz24.pl|paliwa.pl|piekarnie24.pl|pionki24.pl|pojezierze24.pl|polskicaravaning.pl|pomyslnadom.pl|portalwrc.pl|ppw.fishing|prudnicka.pl|przemyskie.info|pulskosmosu.pl|pultuszczak.pl|radomsport.pl|rynekpapierniczy.pl|skionline.pl|sluzby-ur.pl|sportgniezno.pl|staleo.pl|strzelecopolski.pl|swiatogloszen.net.pl|swiatopon.info|twojeradio.fm|tworzymyhistorie.pl|tygodnikpodhalanski.pl|tygodnikprudnicki.pl|tygodniksiedlecki.com|typersi.pl|wcf.org.pl|wiadomoscihandlowe.pl|wloclawek.info.pl|wpr24.pl|zpazurem.pl|zrobotyzowany.pl|zwolen24.pl|zywiecsupernowa.pl ^banery_$domain=instalacjebudowlane.pl|iszczecinek.pl|kuchenny.com.pl|maritime.com.pl|ogrodinfo.pl|portalplock.pl|sokolka.tv|tygodnik.pl|zegarkiipasja.pl|zyciesiedleckie.pl ^banery_foto^$domain=expresskaszubski.pl|gle24.pl|gostyn24.pl|gwe24.pl|ki24.info|pulsciechanowa.pl|roztocze.net|rzeczkrotoszynska.pl|terazlipno.pl|tusochaczew.pl ^banery_reklamowe^$domain=rtw.org.pl ^baneryhtml5^$domain=mazury24.eu ^baneryJPG^$domain=pomorskifutbol.pl ^banner%$domain=sanok112.pl ^banner-$domain=24firma.pl|420polska.pl|4pm.pl|businesswomanlife.pl|chinskiraport.pl|cksport.pl|czasnadmorze.pl|dzisiajwgliwicach.pl|gorydlaciebie.pl|juliarozumek.pl|ktoto.info|kurierzamojski.pl|meska-kuchnia.pl|morzaioceany.pl|nadarzyn.tv|nowaruda.info|pielegniarki.info.pl|polacywewloszech.com|przewodnicywedkarscy.pl|psychatog.pl|racingforum.pl|swiatoze.pl|transg.pl|transportchorego.pl|wirlandii.pl ^banner.$domain=archispace.pl|cksport.pl|diablo.phx.pl|porady.mobi|transportchorego.pl|tripybiznesekipy.pl ^banner1.$domain=infoskierniewice.pl ^banner^$domain=4lomza.pl|autoklub.pl|calisia.pl|cashless.pl|centrumdruku3d.pl|chords.pl|dlalejdis.pl|enduhub.com|eurobuildcee.com|exspace.pl|extremehobby.eu|flashscore.pl|geoforum.pl|gospodarz.pl|konin24.info|miastociechocinek.com|moje-dzialdowo.pl|movie-box.pl|opinieouczelniach.pl|palukimogilno.pl|polonika.at|polskieradio.com|probasket.pl|strazacki.pl|tawernaskipperow.pl|tygodnik-krapkowicki.info|tygodnikzamojski.pl|zawodykonne.com ^banner_$domain=7dni.pila.pl|angielskieespresso.pl|chemiaibiznes.com.pl|conamokotowie.pl|coreblog.pl|e-play.pl|exspace.pl|fcinter.pl|forumfajerwerki.pl|kotdoskonaly.pl|kucharze.pl|kurier-bielski.cnm.pl|legitymizm.org|lexus-forum.pl|meblarskapolska.pl|meczenazywo.pl|my3miasto.pl|podlaskieagro.pl|portalmedialny.pl|prestizgliwice.pl|probasket.pl|rdn.pl|sadnowoczesny.pl|slupca.pl|super-warez.eu|sweetwedding.pl|tygodnikpiski.pl|urodaizdrowie.pl|wrc.net.pl|zielonanews.pl ^bannerImages^$domain=40ton.net ^banners^$domain=4trucks.pl|agribiztvonline.com|alarmy.org|anonse-krosno.pl|augustowskireporter.pl|barlinek24.pl|beskidlive.pl|bieganie.pl|bitcoin-online.pl|bitcoin.pl|blacha.biz|budowa.org|budownictwo.org|bytomski.pl|casting4nick.pl|cech-lipno.pl|chlodnictwo.biz|cjo.edu.pl|conadrogach.pl|czasostrzeszowski.pl|cztery-lapy.pl|damagier.pl|dami.walbrzych.pl|daminfo.pl|darkplanet.pl|ddwlkp.pl|dj24.pl|domnaobcasach.com|dzieciaki-testuja.pl|dziennikmazowiecki.pl|e-kg.pl|e-konkursy.info|e-morag.pl|e-sadownictwo.pl|e-szamotuly.pl|ebelchatow.pl|edzieci.pl|elektryka.org|elka.pl|elpcmaniak.pl|em.kielce.pl|eoborniki.pl|erp-view.pl|estrzelce.pl|ezamosc.pl|fakty.nl|filme.pl|fit-online.pl|forumfajerwerki.pl|garsoniera.com.pl|gazetacz.com.pl|gazwoda.pl|gisplay.pl|glogow-info.pl|glogow.info.pl|glucholazyonline.com.pl|gostynin24.pl|gramwzielone.pl|independenttrader.pl|infolinia.com|infoprzasnysz.com|informacjelokalne.pl|ironmangdynia.pl|jakzapamietac.pl|jastrzebieonline.pl|jedzenie.info.pl|jemywlodzi.pl|juniorowo.pl|katowicedzis.pl|kierowcyhgv.uk|killuminati.pl|klimatyzacja.biz|kominy.biz|konecki24.pl|konin24.info|krasnik24.pl|kroplaarganu.com|krosnocity.pl|ksiegowosc.org|l24.lt|leonclub.pl|ligowiec.net|logistyka.net.pl|lowiczanin.info|lsi-lublin.pl|lubiehrubie.pl|luvpop.pl|magazyngitarzysta.pl|masarnieonline.pl|matematykazpasja.pl|materialybudowlane.info.pl|metale.org|mgsm.pl|miastokolobrzeg.pl|miastons.pl|miedziowe.pl|mleczarnieonline.pl|mleczarstwo.com|mojarodzina.org|moje-gniezno.pl|mojejaworzno.pl|moneyafterhours.blogspot.com|moszczenica.info|motofaktor.pl|motonews.pl|motoocena.pl|muzyczneradio.com.pl|narzedziownia.org|naszaostroda.pl|naziemna.info|nczas.com|niedziela.nl|norwegofil.pl|nowawrzesnia.pl|nowemiasto.com.pl|nysa.fm|nysainfo.pl|obiektyw.info|obiektywne.pl|odkrywamyzakryte.com|odpylanie.info|ofg.pl|ogrodnikleszek.pl|ogrzewanie.info.pl|okiemmaleny.pl|opakowania.biz|opoczno.info|otososnowiec.pl|partyzantka.com.pl|pcmusic.pl|petronews.pl|piekarnieonline.pl|piotrkowski24.pl|pnt24.info|podlaskieagro.pl|polskaniepodlegla.pl|poradniki24h.pl|portal-hale.pl|portalmorski.pl|powiatsuski24.pl|pozeramstrony.pl|przeclaw24.pl|przeglad-ogrodniczy.pl|przegladkoninski.pl|przekrojfinansowy.pl|pzl24.info|qulturaslowa.pl|radioplus.com.pl|radioq.fm|radomiak.pl|ratownik-med.pl|receptynadom.pl|ringpolska.pl|ringpolska24.pl|rtw.org.pl|rzeszowairport.pl|sacro.com.pl|samoloty.pl|sanatoria.com.pl|siewie.tv|skarzyski.eu|slaskiesiemianowice.pl|slowosportowe.pl|slubice24.pl|sokolka.tv|stalowka.eu|stolarstwo.org|stonerchef.pl|styropian.biz|sucha24.pl|swiat-kamienia.pl|tanie-loty.com.pl|targowek.info|team29er.pl|telewizjapolska24.pl|telix.pl|terazjaslo.pl|tsk24.pl|tustolica.pl|tv28.pl|tvmazovia.pl|tvostrow.pl|twojejaslo.pl|twojezaglebie.pl|tworzywa.org|tygodnikdzialdowski.pl|wadowiceonline.pl|warsztatpodrozy.com|waszaturystyka.pl|wentylacja.biz|wiadomoscirudzkie.pl|wirtualnygarwolin.pl|wojsko.com.pl|wojskonews.pl|wolna-polska.pl|wroclawskiejedzenie.pl|wschodnik.pl|zegarkiclub.pl|zegarkiipasja.pl|zory24.pl|zppa.org|zycie.me|zywiecinfo.pl ^banners_$domain=lebork24.info ^bannery2020^$domain=przemyslkosmetyczny.pl ^bannery^$domain=e-grajewo.pl|em.kielce.pl|legionisci.com|najlepsze-porady.pl|nbi.com.pl|nocnygdansk.pl|obk.pl|ogrodinfo.pl|olsztyn24.com|pomorskifutbol.pl|supernowosci24.pl|transportchorego.pl|wagaciezka.com|walbrzych24.com|wiz.pl|wroclife.pl ^bannery_$domain=olsztyn24.com|osowa24.pl|walbrzych24.com ^BanneryElka^$domain=elka.pl ^Bez%25C2%25A0tytu%25C5%2582u.$domain=oczamiostrego.pl ^bgz_$domain=oczamiostrego.pl ^boxy_po_prawej^$domain=ang24.pl|dlagimnazjalisty.info|dlamaturzysty.info|dlaprzedszkolaka.info|dlaucznia.info|doctoralstudy.eu|edubaza.pl|gramatyka-angielska.info|kampusy.info|kierunki-studiow.info|kierunki-zamawiane.pl|kontastudenckie.pl|kursyjezykowe.biz|kursyletnie.pl|kursyonline.info|kursysemestralne.pl|kwalifikacjezawodowe.info|mba-studies.eu|organizacjestudenckie.pl|postgraduatestudy.eu|pracaikariera.pl|rektorzy.pl|studenckamarka.pl|studenckamoda.pl|studentka.pl|studentmapa.pl|studentnews.eu|studentnews.pl|studiadoktoranckie.info|studiainzynierskie.info|studialicencjackie.info|studiamagisterskie.info|studiamba.info|studianiestacjonarne.info|studiaonline.info|studiapodyplomowe.info|studiaweuropie.info|studies-in-english.pl|studies-in-europe.eu|studies-in-poland.pl|szkolyjezykowe.info|undergraduatestudy.eu|wameryce.info|weuropie.info ^campaigns^$domain=grodzisknews.pl|radomsko24.pl ^canvas^$image,domain=naszrybnik.com|naszwodzislaw.com ^cene0^$domain=baxu.pl ^com_reklamy^$domain=radiofest.pl ^commerto.$domain=oczamiostrego.pl ^Company-Ads^$domain=informatorpolonijny.se ^d77b170a03da3f5858bf6cfa299f37fa.$domain=otozawiercie.pl ^dekoran-fototapety-$image,domain=ckinfo.pl ^dronmedia.$domain=7dni.pila.pl ^edytom.$domain=legitymizm.org ^gfx^$domain=hrubieszow.info ^img_bannery^$domain=piszanin.pl ^inline__$domain=sejny.net ^inline__1_$domain=24jgora.pl|24wroclaw.pl|ciechanowinaczej.pl|egarwolin.pl|eprzasnysz.pl|gpr24.pl|ibielany.pl|iochota.pl|iotwock.info|nwloclawek.pl|ototorun.pl|tudeblin.pl|turyki.pl|zycie.pila.pl|zyciekalisza.pl ^inline_images/114^$domain=mylomza.pl ^kaczynski_click^$subdocument,domain=wylecz.to ^kampania_reklamowa^$domain=lubliniec.info ^kurkuma185.$domain=wikirose.pl ^logo-$domain=legitymizm.org ^Oklejanie-$domain=dziennikopolski.pl|dziennikwarszawy.pl|gazetawalbrzych.pl|gazetawielkopolska.pl|glosczestochowy.pl|gloskatowic.pl|gloskrakowa.pl|gloslodzi.pl|glosrybnika.pl|glosrzeszowa.pl|glostorunia.pl|glostrojmiasta.pl|gloswroclawia.pl ^partner^$domain=podajdalej.info.pl ^partnerzy^$domain=abilet.pl|nasionakonopi.pl|szkolasen.com|widzewtomy.net ^pasek_reklam^$domain=proszkow.eu ^PKPP-$domain=linia.com.pl ^polecamy^$domain=aktyw14.net|almanak.pl|mysl24.pl ^promocja-$domain=edebno.pl ^py-img^$domain=igrit.pl ^r_-$domain=sloworegionu.pl ^rek^$domain=barlinek24.pl|forummleczarskie.pl|glogow-info.pl|inwestycje-rzeszow.pl|ivrozbiorpolski.pl|lpg-forum.pl|nowy-sacz.pl|tujastrzebie.pl|tuwodzislaw.pl|tuzory.pl ^rekl^$domain=pgt.pl|prostozopolskiego.pl ^reklama-$domain=4programmers.net|bilgorajska.pl|ciekawe.org|debica.tv|fizjoterapeuty.pl|fleschmazowsza.com.pl|icelandnews.is|infofordon.pl|ipulawy.pl|miedzyzdrojskie.info|moja24.pl|naszwybir.pl|ok24.tv|oswiecim112.pl|polacywewloszech.com|sportsiedlce.pl|sweetwedding.pl|tvdg.pl|warka24.pl|wodnyrelax.pl ^Reklama-$domain=noworudzianin.pl ^reklama-$domain=ostrodanews.pl|ptvr.pl|starosadeckie.info|transg.pl|tv-pelplin.pl|tvciechanow.pl ^reklama0_$domain=24ikp.pl ^reklama_$domain=24ikp.pl|eswinoujscie.pl|greencanoe.pl|jaslo4u.pl|kazimierzdolny24.pl|legitymizm.org|midrasz.home.pl|miedzyzdrojskie.info|rdn.pl|schadzka.com|tarnowiak.pl|tg.net.pl|tylkotorun.pl|wrc.net.pl ^reklama_poziom.$domain=biblia.iq24.pl ^reklamowe^$domain=msfera.pl ^reklamy-$domain=ipulawy.pl ^reklamy^$domain=cashless.pl|e-legnickie.pl|expresskaszubski.pl|gniezno24.pl|ino-online.pl|ino.online|limanowa.in|mojaolesnica.pl|mysl24.pl|nasztomaszow.pl|tucholainfo.pl|twojejaslo.pl ^reklamy_$domain=cenyrolnicze.pl|galeriafirm.eu|gazetka.be|pilkanozna.pl|plonskwsieci.pl|tugazeta.pl ^reklamy_baner^$domain=wirtualnygarwolin.pl ^rekrek^$domain=moj-sen.net ^rkm^$domain=skiny.pl ^rotator^$domain=gorzowianin.com|wcipy.pl|zarzadca.pl ^ruchchorzowBAN.$domain=ruchchorzow.com.pl ^rusztowania123.$domain=bmw-klub.pl ^sam-images^$domain=nowinyzabrzanskie.pl ^show-baners.php?$script,domain=24gliwice.pl ^sponsors^$domain=wiruspc.pl ^statystyk_box.$domain=bajery.pl ^STRONKA-1.jpg?$domain=swarzedz24.pl ^Szkolenia-BHP-$domain=dziennikopolski.pl|dziennikwarszawy.pl|gazetawalbrzych.pl|gazetawielkopolska.pl|glosczestochowy.pl|gloskatowic.pl|gloskrakowa.pl|gloslodzi.pl|glosrybnika.pl|glosrzeszowa.pl|glostorunia.pl|glostrojmiasta.pl|gloswroclawia.pl ^szumilo-$domain=radiobonton.pl ^Termotopw_$domain=radiobonton.pl ^therapy.$domain=tvklodzka.pl ^top%2B10%2Biherb.$domain=wikirose.pl ^Trevda/132.$domain=polska-zbrojna.pl ^view.php?key=$image,domain=gpcodziennie.pl ^widgets^$domain=karpacz24.pl ^wordwwwpunkty.$domain=7dni.pila.pl ^wpjslib-sgap.$script,domain=poczta.wp.pl ^banners^$domain=automotivesuppliers.pl ^banners^$domain=nowypm.pl ^baner-$domain=portalwolow.pl ^inline__1_$domain=nowagazeta.pl ^baner-$domain=naszsrem.pl ^banerkiJPG^$domain=zulawy.com ^baner-$domain=linia.com.pl ^homepage-banners^$domain=otomoto.pl ^reklama2-$domain=wirtualnyregion.pl ^300^$image,domain=emecze.pl ^728^$image,domain=emecze.pl ^baner_$domain=nanarty.info ^banner-$domain=nanarty.info ^baner-$domain=naszosie.pl ^inline__1_$domain=sucha24.pl ^cuprum-$domain=retailnet.pl ^grafika2^$domain=tsk24.pl ^bans^$domain=plastech.pl ^areklamy^$domain=e-lokalne.pl ^banners^$domain=polskatradycja.pl ^Betx^$domain=sportowebeskidy.pl ^banery^$domain=trentino.pl ^banery^$domain=reszel.pl ^artykul%20kierunek^$domain=otouczelnie.pl ^banner_$domain=tu.swinoujscie.pl ^materialy_budowlane_kleje_$domain=plytkiceramiczne.info.pl ^emisje^$domain=stalowemiasto.pl ^reklama-$domain=mojgdow.pl ```

2

funilrys : https://github.com/funilrys/PyFunceble/issues/13#issuecomment-623357709 : I still chose to extract twitter.com, funilrys.github.io and domain.com because of the use case described in https://github.com/funilrys/PyFunceble/issues/42#issuecomment-526795225.

funilrys : https://github.com/funilrys/PyFunceble/issues/13#issuecomment-444576689 Now we have to decide between 2 way:

  • We extract and test all possible domains. or
  • We extract all domains which are (or may be) relevant.
funilrys commented 3 years ago

I don't have time yet. @keczuppp but let me reopen this so that I can answer you when I get a bit of time.

spirillen commented 3 years ago

For others who stumbles on this thread and wonders how they can solve this, there is a use example here: https://github.com/funilrys/PyFunceble/discussions/219

keczuppp commented 3 years ago

I've edited my comment, and added another failures.

spirillen commented 3 years ago

Hmm what did you change @keczuppp ??

keczuppp commented 3 years ago

I didn't delete the history of changes, doesn't it work for you?

spoiler ![1](https://user-images.githubusercontent.com/74409207/110595859-e0a98300-817e-11eb-9a60-e52ed5f6fab5.png)

Anyway, I added last 4 rows of the table and the description + spoiler.

spirillen commented 3 years ago
OT response to keczuppp > I didn't delete the history of changes, doesn't it work for you? Yes it does, however it is not obviously what was changed :wink: GH could do this better, or just do as they always have done, steel other idea's :smirk: As an example from ![image](https://user-images.githubusercontent.com/44526987/110630241-6c360a80-81a5-11eb-9abb-86341f10dec0.png) As you can see, it highlights the changes (red for deleted)

None the less, thanks for your reply