1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
|
See https://github.com/gaenserich/hostsblock/commits/master for a complete list of updates
Version 0.999.8.1 (Alpha 8.1)
*Fixed typos in various docs (Thanks to @glitsj16)
*Made installation more distro-neutral (Thanks to @glitsj16)
Version 0.999.8 (Alpha 8)
*Background Job Improvements
*systemd service now heavily hardened and sandboxed for enhanced security
*Fixed simultaneous download feature so that it actually does what it is supposed to
*Added processing support for source blocklists that just list domain names to be blocked, e.g. "ads.google.com" instead of "0.0.0.0 ads.google.com"
*Added support to read directly from zip and 7z files containing a single file without decompressing to a cache
*Optimized filters used to process domains with improved throughput
*If run with dash instead of bash, significant performance improvements
*Removed annotation feature to reduce dependencies and overall processing demands
*Vastly expanded list of potential blocklists
*POSIX-compatibility improvements
*Supports POSIX shells (dash, ash, zsh) instead of just bash
*Removed GNU-specific utilities, relies only on POSIX options
*Should now run on *BSD and macOS (and perhaps even Android and iOS!) if proper POSIX environments are installed. !UNTESTED!
*UrlCheck mode improvements
*User-facing command now a wrapper script that handles sudo execution for the user, reducing configuration demands
*Significant performance improvements by moving from incremental to mass handling of domain names
*Added noninteractive commands -s (status), -b (block), -l (blacklist), -w (whitelist), -b -o (unblock), -l -o (deblacklist), -w -o (dewhitelist)
*Interactive and noninteractive commands can now recursively handle urls contained in target page (with -r subcommand), and even target just blocked domains (with -k subcommand)
*To minimize repeated writes, changes to target hosts file now don't write to file until after the whole process completes
*Caveats
*The hostsblock-urlcheck symlink is depreciated. Please use hostsblock -c URL instead.
*Due to enhanced security hardening, hostsblock no longer handles its own postprocessing. New systemd files handle postprocessing in a more secure way.
*Large hosts files will generate large temporary cache files that will eat up a lot of temporary storage. If you have a machine with little RAM (<6GB) and want to block a lot of domains, consider changing your $tmpdir to an HDD- or SSD-backed filesystem instead of using the default tmpfs under /tmp.
*UrlCheck mode will not be able to provide information on which block list blocked which domains anymore (annotation feature removed)
*blocklists= in hostsblock.conf now points to another file (instead of being a bash array), since POSIX-compatibility does not include support for arrays
*Now uses 0.0.0.0 as default redirection IP address instead of 127.0.0.1. 0.0.0.0 theoretically offers better performance without the need of a pseudo-server.
Version 0.999.7 (Alpha 7) (19.01.2018)
*Typo fixes in install.sh (Commits ccdd26d14fce89452e71f7fa4310360f51e0c94e 895e820e6ff80d9e7a8fec5992dedd72b7dc57c7)
*Added cryptomining block lists (Commits efee8ca4a08867a076c5ac8a0a93d7a149214239 2dc51cdc97db0d73bcb00d68b54da0f8e929ee36)
*Fixed permission errors in packaging (Commit 1a272e22638661f0f527310937189383a75bd2d1)
*Added optdepend (pixelserv-tls) (Commit 156dfeefd16a8f4fb93267116c4c13de0ddeb93b)
*Fixed superficial warning (Commit e271d78a3b79dac2d337f3a00dc0bc21c74307c1)
Version 0.999.6 (Alpha 6) (03.08.2017)
*Fixed parsing function that falsely expected gzip
*Fixed verbosity typo
*Fixed issue with hostsblock-urlblock symlink not reading from $1
*Moved raw annotation file to cache space to improve performance and reduce non-transitory space requirements
Version 0.999.5 (Alpha 5) (01.08.2017)
*Fixed issues with hostsblock-urlblock symlink
*Fixed typo that prevented the annotation file from correctly writing
Version 0.999.4 (Alpha 4) (07.23.2017)
*Massive simplification of script, removing excess verbosity options, combining hostsblock.sh with hostsblock-urlcheck.sh
*Mandate that hostsblock now runs as unpriviledged user, i.e. 'hostsblock' (see hostsblock.conf)
*Mandate the use of gzip for annotation file and HOSTS file backup
*Now uses /var/lib/hostsblock as its default configuration and /var/lib/hostsblock/cache as its default cache directories (to aid with priviledge containment).
*Removed repetitive grep calls with single grep call with multiple "-e" options.
*For performance improvements, replaced regex-aware grep with grep -F when regex not needed.
Version 0.999.3 (Alpha 3) (30.10.2015)
*Added more optional source files to hostsblock.conf. Added user agent info to curl to make work with more sites. Sanitized hostsblock.conf file a little bit.
*Added function to force target file update even if no changes are found to source files
*Fixed incorrect invocation of _strip_entries subroutine
*Fixed remaining appearances of gzip -z. (Thanks to Julián Landerreche)
*Fixed misspelled whitelist/whilelist variable
*Fixed incorrect use of -z with gzip/pigz
*Fixed line 261 in hostsblock-common.sh (white list write function)
(07.25.2014)
PRE-ALPHA RELEASE
*new main config file: /etc/hostsblock/hostsblock.conf
*new command-line functions that overrides configuration file location and verbosity
*new verbosity levels:
Level 0: Only fatal errors
Level 1: Level 0 + non-fatal errors
Level 2: Level 1 + updates to cache files
Level 3: Level 2 + narration of each major phase
Level 4: Level 3 + step-by-step details of all processes
Level 5: Level 4 + stdout/stderr from sub-processes like curl, zip, 7za, etc
*functions common to hostsblock and hostsblock-urlcheck split off into library /usr/lib/hostsblock-common.sh
*hostsblock-urlcheck now lists which blocklists affect a given url
*logic to detect dns caching daemons (e.g. dnsmasq) and offer configuration instructions
*post-download processing of blocklist files now handled in parallel for greater performance
*general performance improvements in compiling large hosts.block files (use of more grep over sed)
*general performance improvements for hostsblock-urlcheck (use of more grep over sed)
Version 0.12.3 (03.06.2013)
*hostblock-urlcheck: issue with colored prompt on white-backgrounded terminals fixed
Version 0.12.2 (02.06.2013)
*whitelist, blacklist not applying fixed
Version 0.12.1 (31.05.2013)
*quick fix of previous change.
Version 0.12 (31.05.2013)
*changed order of processing of black and while lists.
Version 0.11.3 (31.05.2013)
*changed installation path according to new Arch Linux practices.
Version 0.11.2 (09.12.2012)
*swapped out use of md5sums for ls mod times to improve performance
Version 0.11.1 (13.09.2012)
*accumulated fixes with feedback (thanks tlvince)
*fixed hostsblock-urlcheck's misidentification of colons in urls
Version 0.11 (18.08.2012)
*fixed typo in hostsblock-urlcheck
*added integrated logging
*removed gzipping of target hostsfile backup, removed gzip as
dependency.
*added extended timeout to downloading procedure, provided for
script exit in the event of failed download
*tweaked the format of dates and times in log output
Version 0.10.6 (13.08.2012)
*spruced up default blocklists entries in rc.conf.
*fixed small issue in hostsblock-urlcheck.
Version 0.10.5 (12.08.2012)
*updated rc.conf, removing redundant blocklists.
*fixed a few issues with hostsblock-urllist. Should now
register more domains and filter out any garbage.
Version 0.10.4 (11.08.2012)
*removed optimization code. Caused significant performance
penalties
*fixed old issue with hostsblock-url
*replaced a few sed invocations with tr for slight
performance increase
Version 0.10.3 (10.08.2012)
*fixed white.list issue
Version 0.10.2 (09.08.2012)
*fixed issue with 0.0.0.0 address not working
*cleaned up logging output
Known issues:
*when calculating number of entries at end, mistakes hosts.head
domains as redirect addresses
Version 0.10.1 (09.08.2012)
*fixed issues with optimization pass, integrated it into main
processing pass
*fixed issue with 32-bit machines and touch
Version 0.10 (08.08.2012)
*implemented an optimization option, which shrinks target hostfile
size by putting all entries redirecting to the same address
on the same line.
*instead of processing all files in the cache, hostsblock now only
processes those listed (and not commented out) in rc.conf
*updated documentation in rc.conf
*added another blocklist
*simplified really long pgl.yoyo.com blocklisturl
*took out superflous code
Version 0.9.2 (06.08.2012)
*added "FAIL" notifications
*fixed issue with blacklist
*fixed issue with 7z files
*fixed documentation in rc.conf on mirrored, defunct blocklists
Version 0.9.1 (05.08.2012)
*removed color interface output options (better for logging).
*made output cleaner for logging. Enter a >>/var/log/[your logfile]
after your crontab entry for it to enable logging.
*improved behavior: only downloads new blocklists if they have been
changed on the server. Saves bandwidth.
*rc.conf in-text documentation updated accordingly.
*removed antequated warning from install file.
Version 0.9 (04.08.2012)
*cleaned up minor gliches when running under OS X
*cleaned up non-color output
*now exits if not run as root
*new behavior: only writes to target hostsfile if changes detected
*new option: allow/disallow dns redirections
Version 0.8.4 (24.07.2012)
*minor code tweeks to hostsblock-urlcheck
*colorized and more compact prompts for hostsblock-urlcheck
Version 0.8.3 (23.07.2012)
*fixed hostsblock-urlcheck to check for both http and https domains.
*simplified hostsblock-urlcheck usage. See "hostsblock-urlcheck --help"
for details.
Version 0.8.2 (21.07.2012)
*added "--compressed" option to curl commands to allow for compressed
blocklist downloads (thanks ontobelli)
*removed the modyouri blocklist from defaults since it included
redirection and "junk" entries (noted in rc.conf comments)
IT IS HIGHLY SUGGESTED THAT YOU REMOVE THE MODYOURI ENTRY FROM RC.CONF.
Version 0.8.1 (15.06.2012)
*changed hostsblock-urlcheck to also check given urls as to whether they are
blocked or not (via "page" option). This is in addition to the whole page
scan option ("scan"), which reads through the whole given page to see if
contained subdomains are blocked or not.
*regular behavior of hostsblock-urlcheck now relegated to "scan" option. See
'hostsblock-urlcheck help' for details.
Verson 0.8 (14.06.2012)
*made postprocessing routine (such as dnsmasq restart) more flexible for those
who might want to use a different program. PLEASE CHECK RC.CONF.
*minor fixes with variable quoting, console output, code formatting
*added run-time dependency checks
*updated documentation in rc.conf
*added additional entry to whitelists
*fixed error with whitelist not taking periods literally
Version 0.7.2 (04.06.2012)
*Fixed error in hostsblock-urlcheck that cased full-stop error
Version 0.7.1 (03.06.2012)
*Made changes from hostsblock-urlcheck apply more quickly without running
hostblock
*Made hosts.head file optional, and adjusted default rc.conf accordingly.
Version 0.7 (01.06.2012)
*Added hostsblock-urlcheck, which checks a given url for contained subdomains
and allows the user to white or blacklist them selectively
*Fixed minor typo
TODO
*revamp unzip command to function under other *nix implementations
Version 0.6 (22.05.2012)
*Fixed white space issues in white list entries
*Fixed errors from stat_* functions when not running on ArchLinux
*Configuration file moved to /etc/hostsblock directory as rc.conf
*New configuration files hosts.head, black.list, and white.list
*hosts.head: contains user-defined entries that go to the top of resultant
output file
*removed original file recycling. If you want to carry over entries from
previous output file, include in hosts.head
Version 0.5 (13.05.2012)
*Added color via /etc/rc.d/functions (see "USECOLOR" in config file to disable)
*Removed notifications from trivially short and redundant steps
*Changed default blockhosts to non-zip version of the file
*Removed pixelserv check. Use kwakd instead.
Version 0.4 (09.05.2012)
*Post-extraction scan now recursively searches extracted file tree for potential
entries
*Added 7z blocklist functionality
*Moved unzip (with p7zip) to optdep
*Added check for unzip and 7za to decompression routines
*Added new entries from rlwpx.free.fr (requires p7zip)
*Now gzips backup hosts file to save space (added gzip as dependency)
Version 0.3 (06.05.2012)
*improved performance by changing whitelist for-loop with an sed-file in the
main processing routine
*added automatic backing up of original target hosts file
*added install-time warning to backup /etc/hosts file
*changed install spot to /usr/sbin instead of /usr/bin (requires root to run
anyway)
*fixed typo in default variables (blacklists to blocklists)
*added changelog
*updated conf file with whitelist entries to unblock flickr.com and ompldr.org
TODO
*revamp unzip command to function under other *nix implementations
|