I know this doesn't add to the thread but these posts are what kept me away from the project because I thought it only blocked ad.
I had used wireshark in the past but not actively watching all the connections while in use, didn't know how much junk on the net there is.
Spotify is a cool service, if you don't want ads, then it's $120 a year. Same with all services. And websites, we all absolutely agree ads are annoying and use network power. So if nobody is shown the ads, how do these websites pay costs? They just go away?
I am on limited income for over 20 years now so most of my computers cost $5.00 from the local rubbish dump I fix them up.
That $120 buys me at least 2 new HDD's or 3 lots of RAM for my $5.00 notebooks.
I have COPD and am struggling to keep warm in the winter.
PS: I don't block the Cancer counsel's ads on spotify.
There is a slight problem, I blocked the domain of awsglobalaccelerator.com but Windows 11 still resolved it, even after flushing the DNS cache.
The pihole said the domain was blocked and I confirmed that with the ssh session user john in linux.
I then added the domain awsglobalaccelerator.com as a Wildcard and it was blocked on windows 11.
Why do you have ads on windows? I have blocked ALL ms domains on 10, nothing (to my knowledge) leaves my router until I press enter on a website in firefox. I block all mozilla domains too, to the point I had to let some through to use their relay service. Duck Duck Go also has a very similar service as well to strip email trackers.
Duck duck go shows @duck email whereas mozilla shows a cryptic gibberish @mozmail, so I set up both together!
In the words of Allman Brothers: that's what it's all comin to
I have a partial list, but I'll update it soon and post it somewhere if you want it.
I brag that no connection go through, until I open a non-browser program (and block those too when I get to them) and nothing loads in firefox until I hit enter in the bar.
I block all of mozilla domains that try to load even with all the checkboxes off in settings. I block netflix totally which auto-boots on my device until I want to use it. I love this pi-hole system, it's good peace of mind knowing what is happening on my network.
An example is I opened up everyone's favorite "Adobe" that's what people call it. It's their PDF program that makes connections when opened, who knows what for. Never would have noticed without a clean log of just domain entries.
I made a simple list, no files, just copy them into one and have it locally, I think it's the best way.
This $ means "the end of the string", so this would only block a domain called msft or longer domains which end in .msft, and there aren't any. If the aim is to match any domain containing.msft then just create a regex entry consisting of msft and note that will also do the job of the two entries after it.
The * here means "0 or more of the preceeding token" which in this case is a period, and then it's followed by the $ end of the string. So this will match microsoft followed by 0 or more periods then the end. So it would match a .microsoft top level domain. If the aim is to block any domain containg microsoft then instead make a regex entry consisting of microsoft and note it will cover all other entries that contain the string microsoft.
Yeah, I know absolutely nothing about regular expressions. Could you help me understand what the \ are for, what the | is for, and the ^ because it's another unknown language for me. None of it makes sense yet.
It's a kind of language for specifying patterns to be matched in text. I'm no expert by any means and over time you see the same things crop up and come to know them. It's useful to learn the basics for using in Pi-hole. You have the regex which is the pattern that you're trying to match, and you have the string that you're testing it against – in the case of Pi-hole those are the domains that its seeing coming from your network.
Some characters mean what they say, others have special meanings. Such as ^ matches the start of the string that you're testing, and $ matches the end of the string that you're testing. A period . means any character. The backslash \ means treat the next character literally, so \. means an actual period, whereas the period by itself means any character. The pipe | means or, eg this or that, and it's usually inside brackets with the various options. The * means match zero or more of the preceeding thing.
Eg for this regex in your rules
that is saying "Start by matching either a period (\.) or (|) the start of the domain (^) followed by the letters microsoft followed by zero or more periods (\.*) and then the end of the domain ($)"
You can see that's not quite right because domains don't end with lots of dots in a row. It does happen to match microsoft's own top level domain which is just microsoft.
If you wanted a regex to match a domain which contained the words startrek or starwars, you might use
That is saying "From the start of the domain (^) I'm looking for any character (.) any number of times including none at all (*) followed by star and then either trek or (|) wars followed by any character (.) any number of times including none at all (*) and then the end of the domain ($)"
You don't really need the last .*$ part because it's already matched, but I prefer to cover the whole domain where I can, from start ^ to end $ to be thorough. The first part covers something like a www before star or nothing at all before it.
You can play around with them here – https://regex101.com. Put in a few test domains underneath and then work out your pattern on the top line and it will show you how it's matching.
Absolutely not! This blocks everything microsoft. when you would like to download updates, you may white list a few of the domains temporarily. They may be something like "delivery" or "update" or "distribution" etc, I don't know what each one does, but you only need a couple or so to download updates. The rest is coal-burning crap.