I'm suprised nobody's mentioned it, but http://www.smartin-designs.com/ has a great regulary updated hosts file.

I wrote the following to help deal with browsers complaining about refused connections.

#!/usr/local/bin/perl -w
# simple HTTP server. Responds blindly with a 1x1 transparent PNG. Use with a hosts file for ad blocking

use IO::Socket;
use Net::hostent;

$server = IO::Socket::INET->new(
  Proto => 'tcp',
  LocalPort => 80,
  Listen    => SOMAXCONN,
  Reuse     => 1
) ;

print "*** fakehttp - listening on port 80\n";

while ($client = $server->accept()) {
  print "Recived a request, responding with 1x1 transparent png...\n";
  print $client "HTTP/1.1 200 OK\nContent-Length: 68\n".
"Content-Type: image/x-png\n\n\211\120\116\107\015\012".
  close $client;