I want to block certain URLs on browsers. I don't want to block whole site. For example, I want to block Google Reader, but not whole Google domain. Is there any way I can do it?
4 Answers
The answer will only SLIGHTLY differ by the operating system you are using. I'm running Ubuntu on a powerpc :p but in general the same rules apply on windows and mac as well. If these instructions do not work for you then I will adapt this answer for your OS. For now here is the Linux method.
The only way I have found after hours of searching, to do this, is to install privoxy.
Once you install privoxy you need to edit the /etc/privoxy/config file in the following manner:
1) Find where it says
#listen-address localhost:8118and uncomment this line so that it says
listen-address localhost:81182) Add the following lines to the bottom of this config file:
actionsfile blacklist.action
actionsfile whitelist.action 3) Now you need to create these action files in a text editor as root:
a) gksu gedit /etc/privoxy/blacklist.actionand add the following
{ +block }anything you add under the {+block} line will be blocked
b) Respectively you should create the whitelist.action file
gksu gedit /etc/privoxy/whitelist.actionand add the lines
{ -block }or whatever you find privoxy blocking that you want to protect.
After you have saved the three files you have to restart privoxy:
sudo /etc/init.d/privoxy restartand you have to make sure that your proxy settings in your browser or in your network configurations are correct, adding localhost as the proxy and 8118 as the port number will be all you need.
The SERIOUS and UNFORTUNATE drawbacks to privoxy is that it is a proxy so all anyone needs to do to stop it working is turn it off, or use a different browser. I am still searching for a way to add privoxy to my router or to somehow run it , not as a proxy, but as my default on port 80, then you could lock down the config files so that no one could change them.
This is the closest you will find to an answer to your problem.
If it doesn't appear to be working at first don't forget to flush your browser's cache because the pages you have blocked may show up from cache even after they have been blocked.
also you might want to turn this off:
make sure that enforce-blocks 1 is set to 1 in the /etc/privoxy/config file
enforce-blocks 1Otherwise, when the page blocked warning comes up, it will have an option to go to the blocked page anyways despite being blocked and completely make privoxy meaningless.
3If you want to block a specific domain system-wide, you should use the hosts file (See here). So, if you want to block Google Reader, you'd add the following to your hosts file:
127.0.0.1 reader.google.comHowever, there are restrictions on this. While you can block subdomains and domains, you can't use the hosts file to block subdirectories (i.e., ). In the case of Google Reader, one could simply navigate to to get around the blocking. A more comprehensive solution may be to use something like Privoxy to control web access.
5If you are using Firefox or Google Chrome, you can use a customisable "ad-block" extension to do this. Ad-blocking extensions normally come with a whole range of websites that they block out-of-the-box, however most customisable ones will let you remove this default list and add just the specific websites you don't want.
The easiest solution to your issue would be to use an extension/script for your browser.
I have used Chrome Nanny to do the trick in Chrome. LeechBlock seems to be the Firefox alternative. Both support wildcards in domains and you can set specific time periods in which to block a URL.
1