Advertisement
Guest User

Untitled

a guest
May 24th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # If this is our first run, save a copy of the system's original hosts file and set to read-only for safety
  4. if [ ! -f ~/hosts-system ]
  5. then
  6. echo "Saving copy of system's original hosts file..."
  7. cp /etc/hosts ~/hosts-system
  8. chmod 444 ~/hosts-system
  9. fi
  10.  
  11. # Perform work in temporary files
  12. temphosts1=`mktemp`
  13. temphosts2=`mktemp`
  14.  
  15. # Obtain various hosts files and merge into one
  16. echo "Downloading ad-blocking hosts files..."
  17. wget -nv -O - http://winhelp2002.mvps.org/hosts.txt >> $temphosts1
  18. wget -nv -O - http://hosts-file.net/download/hosts.txt >> $temphosts1
  19. wget -nv -O - http://someonewhocares.org/hosts/hosts >> $temphosts1
  20. wget -nv -O - "http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext" >> $temphosts1
  21. wget -nv -O - https://raw.githubusercontent.com/jmdugan/blocklists/master/corporations/facebook/all >> $temphosts1
  22.  
  23. # Do some work on the file:
  24. # 1. Remove MS-DOS carriage returns
  25. # 2. Replace 127.0.0.1 with 0.0.0.0 because then we don't have to wait for the resolver to fail
  26. # 3. Delete all lines that don't begin with 0.0.0.0
  27. # 4. Scrunch extraneous spaces separating address from name into a single tab
  28. # 5. Delete any comments on lines
  29. # 6. Clean up leftover trailing blanks
  30. # 7. Delete any lines ending with the word localhost because we'll obtain that from the original hosts file
  31. # 8. Delete any lines ending with the word .dropbox.com.
  32. # Pass all this through sort with the unique flag to remove duplicates and save the result
  33. echo "Parsing, cleaning, de-duplicating, sorting..."
  34.  
  35. sed -e 's/\r//' -e 's/127\.0\.0\.1/0\.0\.0\.0/' -e '/^0\.0\.0\.0/!d' -e 's/ \+/\t/' -e 's/#.*$//' -e 's/[ \t]*$//' -e '/localhost$/d' -e '/\.dropbox\.com$/d' < $temphosts1 | sort -u > $temphosts2
  36.  
  37. # Combine system hosts with adblocks
  38. echo Merging with original system hosts...
  39. echo -e "\n# Ad blocking hosts generated "`date` | cat ~/hosts-system - $temphosts2 > ~/hosts-block
  40.  
  41. # Clean up temp files and remind user to copy new file
  42. echo "Cleaning up..."
  43. rm $temphosts1 $temphosts2
  44. echo "Done."
  45. cp ~/hosts-block /etc/hosts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement