This blocking effort appears to have started in the Windows world but it is applicable to all UNIX-based systems where a hosts file is used.
Basically, copy the contents of this example hosts file to the end of your /etc/hosts file (requires root access).
[more]
In /etc/hosts, make sure not to remove the pre-defined settings, but you may comment out the duplicate "127.0.0.1 localhost" line. It should look similar to this:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost # Custom entries (not shown) # This MVPS HOSTS file is a free download from: # # http://www.mvps.org/winhelp2002/ # # # # Notes: the browser does not read this "#" symbol # # You can create your own notes, after the # symbol # # This *must* be the first line: 127.0.0.1 localhost # # *********************************************************# # ---------------- Updated: Sept-02-2009 ------------------# # *********************************************************# # # # Entries with comments are all searchable via Google. # # # # Disclaimer: this file is free to use for personal use # # only. Furthermore it is NOT permitted to copy any of the # # contents or host on any other site without permission or # # meeting the full criteria of the below license terms. # # # # This work is licensed under the Creative Commons # # Attribution-NonCommercial-ShareAlike License. # # http://creativecommons.org/licenses/by-nc-sa/3.0/ # ##DUPLICATE: ##127.0.0.1 localhost #start of lines added by WinHelp2002 # [Misc A - Z] 127.0.0.1 fr.a2dfp.net 127.0.0.1 m.fr.a2dfp.net 127.0.0.1 ad.a8.net [...]
Finally, remember to check the example hosts file for updates; it is updated quite frequently.
To automate this process, I have created this script. You would need to execute it with "sudo" (or it could be placed into /etc/periodic/monthly ?).
#!/bin/sh
# File: 900.host_db_update
echo "Started /etc/hosts update"
# Download the current version without progress info:
curl -so /tmp/hosts.zip https://winhelp2002.mvps.org/hosts.zip
if [[ -s /tmp/hosts.zip ]]; then
# Unzip quietly and convert CRLF -> LF
unzip -aoqq -d /tmp /tmp/hosts.zip HOSTS
rm /tmp/hosts.zip
fi
if [[ ! -fs /tmp/HOSTS ]]; then
echo "Error: Download of hosts file failed."
rm -f /tmp/HOSTS
exit 1
fi
tmpdate=$(grep -m 1 Updated: /tmp/HOSTS|awk '{print $4}')
etcdate=$(grep -m 1 Updated: /etc/hosts|awk '{print $4}')
if [[ "$tmpdate" == "$etcdate" ]]; then
echo "Info: Hosts file is already up-to-date ($etcdate)"
rm -f /tmp/HOSTS
exit 0
fi
# Remove the previous MVPS additions from /etc/hosts
sed '/^# This MVPS HOSTS/,$ d' /etc/hosts > /tmp/hosts.new
# Append the new settings
sed '/^[^#].* localhost$/ s/^/##/' /tmp/HOSTS >> /tmp/hosts.new
rm /tmp/HOSTS
# Make a backup and move the new file:
cp /etc/hosts{,~}
mv /tmp/hosts.new /etc/hosts
# Print a message:
echo "Updated /etc/hosts with settings from $tmpdate"
exit 0