52

Is there a way to create a wildcard domain in the Windows hosts file.

I tried this

xxx.xxx.xxx.xxx *.somedomain.com

This does not work, is there maybe some other syntax I should use?

I am working on Windows 7

  • 1
    i just answered a question on doing this with DNSmasq on ServerFault (not on windows, obviously, but on a router running DD-WRT/OpenWRT it's doable) – quack quixote Apr 28 '10 at 15:19
  • XP SP2 included a castration of the host file - securityfocus.com/archive/1/431032/30/0/threaded Assumed reason is people were using it to block ads while browsing. This is a guess as far as I know Microsoft has never revealed why they did this and why they are rolling it forward to everything since. If you are able to put in a proxy server between your PC and the internet, then you could put in a block for what you wanted. – bvaughn Jun 8 '16 at 15:22
59

There is not. The hosts file isn't very clever, you have to list every subdomain individually (including www and no-www)

15

An answer to a very similar StackOverflow question worked well for me.

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=UserManual

Wildcard Support on XP at hostsfile. Enjoy.

Basically, this program Acrylic works as a DNS proxy for your local machine. Just point your Local Area Connection to 127.0.0.1, then edit the AcrylicHosts.txt in a very similar manner to the regular hosts file -- only with wildcards!

  • 2
    Acrylic works great, but can confuse you if you are trying to access a machine with a dynamic IP address. I have machines connected to my home network, and I use a dynamic dns to set the ip for the domain name. I use Acrylic on my laptop and I was gone for a few days, in the mean time my ip changed, but Acrylic remembered it as being the old ip, and I couldn't access the site. But running the "Purge Acrylic Cache Data" program took care of the problem. – leeand00 Apr 13 '12 at 17:00
  • Unfortunately acrylic does not support DNS aliases, which makes it useless to me. – Spero Dec 16 '17 at 8:59
10

Dnsmasq is what you need but it doesn't work quite well on Windows. So I wrote an alternative on Windows called DNSAgent.

You can use regular expression in rules. There is also some advanced features like customizing cache TTL, non-standard-port DNS server, compression pointer mutation, etc. Open sourced under MIT license.

1

first, i agree with phoshi that its not possible to do what you want in the hosts-file of windows (neither on unix).

secondly, you have to get control over the result of a request to dns. one option is to use your own dns-resolving on your router (dnsmasq, dnscache+tinydns, bind, whatever, see quack's comment) and tweak it or to use a dns-resolver on windows which you can control as you want.

see here for a list of dns-resolvers, check for the "wildcard" column, maybe powerdns or maradns or posadis is something that fits your needs.

-1

It's another syntax: xxx.xxx.xxx.xxx somedomain.com

Some examples to explain it:

  • 127.0.0.1 .com this line will block all outgoing dnsrequests ending with .com
  • 127.0.0.1 somesite.com will block all outgoing dnsrequests ending with somesite.com
  • 12.2.3.1 www.dns.com will lead all outgoing dnsrequests ending with www.dns.com to 12.2.3.1

You block/lead all second (third,fourth...) level urls with the top(second,third...) level url in the hosts file.

  • Given the last sentence, I assume www.example.com is not blocked by the first line, but only when adding 127.0.0.1 example.com? – Arjan Jul 21 '10 at 20:52
  • 9
    moonfern, I do not agree with your list. 127.0.0.1 somesite.com WILL NOT block all outgoing DNS requests ending with somesite.com, all it will block is somesite.com, not www.somesite.com or subdomain.somesite.com or the like. – user43866 Jul 25 '10 at 5:32
  • 1
    That is definitely not the case on Windows, moonfern. – Owen Blacker May 27 '12 at 20:41
-3

If you want to block every subdomain in somedomain.com, then consider whether omitting "*." will achieve what you want.

Editing your example:

xxx.xxx.xxx.xxx somedomain.com
  • "Consider whether..." is pretty ambiguous. What, exactly, are you recommending as the solution? – fixer1234 Sep 10 '16 at 22:51
  • Please read the question again carefully. Your answer does not answer the original question. – DavidPostill Sep 11 '16 at 7:48
  • 1
    fixer1234 -- I don't know what is the problem the poster wishes to solve, while they ask as though explicit wildcarding will address it. "Consider whether..." suggests something that might work. It's easy to try, and requires few characters. I know it works in some cases. Since I don't have enough context to understand the problem, I can't recommend a solution. David Postill -- I believe my answer addresses and is pertinent to the original question. But perhaps your own answer will work better. – SquarePowder Sep 12 '16 at 14:23

protected by Community Oct 2 at 15:14

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.