1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Automatic proxy configuration with Debian Edu / Skolelinux
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://www.hungry.com/~pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://www.hungry.com/~pere/blog/vim.css" />
15 <a href=
"http://www.hungry.com/~pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Automatic proxy configuration with Debian Edu / Skolelinux
</div>
24 <div class=
"date">13th February
2012</div>
25 <div class=
"body"><p>New in the Squeeze version of
26 <a href=
"http://www.skolelinux.org/">Debian Edu / Skolelinux
</a> is the
27 ability for clients to automatically configure their proxy settings
28 based on their environment. We want all systems on the client to use
29 the WPAD based proxy definition fetched from
<tt>http://wpad/wpad.dat
</tt>, to
30 allow sites to control the proxy setting from a central place and make
31 sure clients do not have hard coded proxy settings. The schools can
32 change the global proxy setting by editing
33 <tt>tjener:/etc/debian-edu/www/wpad.dat
</tt> and the change propagate
34 to all Debian Edu clients in the network.
</p>
36 <p>The problem is that some systems do not understand the WPAD system.
37 In other words, how do one get from a WPAD file like this (this is a
38 simple one, they can run arbitrary code):
</p>
41 function FindProxyForURL(url, host)
43 if (!isResolvable(host) ||
44 isPlainHostName(host) ||
45 dnsDomainIs(host, ".intern"))
48 return "PROXY webcache:
3128; DIRECT";
52 <p>to a proxy setting in the process environment looking like this:
</p>
55 http_proxy=http://webcache:
3128/
56 ftp_proxy=http://webcache:
3128/
59 <p>To do this conversion I developed a perl script that will execute
60 the javascript fragment in the WPAD file and return the proxy that
62 <tt><a href=
"http://www.debian.org/">http://www.debian.org/
</a></tt>,
63 and insert this extracted proxy URL in
<tt>/etc/environment
</tt> and
64 <tt>/etc/apt/apt.conf
</tt>. The perl script wpad-extract work just
65 fine in Squeeze, but in Wheezy the library it need to run the
66 javascript code is
<a href=
"http://bugs.debian.org/631045">no longer
67 able to build
</a> because the C library it depended on is now a C++
68 library. I hope someone find a solution to that problem before Wheezy
69 is frozen. An alternative would be for us to rewrite wpad-extract to
70 use some other javascript library currently working in Wheezy, but no
71 known alternative is known at the moment.
</p>
73 <p>This automatic proxy system allow the roaming workstation (aka
74 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
75 is connected to the backbone network in a Debian Edu setup, and to
76 automatically use any proxy present and announced using the WPAD
77 feature when it is connected to other networks. And if no proxy is
78 announced, direct connections will be used instead.
</p>
80 <p>Silently using a proxy announced on the network might be a privacy
81 or security problem. But those controlling DHCP and DNS on a network
82 could just as easily set up a transparent proxy, and force all HTTP
83 and FTP connections to use a proxy anyway, so I consider that
84 distinction to be academic. If you are afraid of using the wrong
85 proxy, you should avoid connecting to the network in question in the
86 first place. In Debian Edu, the proxy setup is updated using dhcp and
87 ifupdown hooks, to make sure the configuration is updated every time
88 the network setup changes.
</p>
90 <p>The WPAD system is documented in a
91 <a href=
"http://tools.ietf.org/html/draft-ietf-wrec-wpad-01">IETF
93 <a href=
"http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol">Wikipedia
94 page
</a> for those that want to learn more.
</p>
97 <div class=
"tags">Tags:
<a href=
"http://www.hungry.com/~pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/english">english
</a>.
</div>
115 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/01/">January (
4)
</a></li>
117 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/02/">February (
3)
</a></li>
124 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/01/">January (
1)
</a></li>
126 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/02/">February (
1)
</a></li>
128 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/03/">March (
2)
</a></li>
130 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/04/">April (
3)
</a></li>
132 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/05/">May (
1)
</a></li>
134 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/06/">June (
1)
</a></li>
136 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/07/">July (
2)
</a></li>
138 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/12/">December (
1)
</a></li>
145 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/01/">January (
3)
</a></li>
147 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/02/">February (
1)
</a></li>
149 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/04/">April (
2)
</a></li>
151 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/05/">May (
3)
</a></li>
153 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/06/">June (
1)
</a></li>
155 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/08/">August (
1)
</a></li>
157 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/09/">September (
1)
</a></li>
159 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/10/">October (
1)
</a></li>
161 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/11/">November (
4)
</a></li>
163 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/12/">December (
1)
</a></li>
170 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/02/">February (
1)
</a></li>
172 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/03/">March (
3)
</a></li>
174 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/04/">April (
2)
</a></li>
176 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/06/">June (
2)
</a></li>
178 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/07/">July (
1)
</a></li>
180 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/09/">September (
1)
</a></li>
182 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/10/">October (
1)
</a></li>
184 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/12/">December (
1)
</a></li>
191 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/01/">January (
2)
</a></li>
193 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/02/">February (
1)
</a></li>
195 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/05/">May (
1)
</a></li>
197 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/06/">June (
1)
</a></li>
199 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/07/">July (
3)
</a></li>
201 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/08/">August (
1)
</a></li>
203 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/09/">September (
1)
</a></li>
205 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/10/">October (
1)
</a></li>
207 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/12/">December (
1)
</a></li>
214 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/02/">February (
2)
</a></li>
216 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/03/">March (
2)
</a></li>
218 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/04/">April (
2)
</a></li>
220 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/05/">May (
3)
</a></li>
222 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/06/">June (
2)
</a></li>
224 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/07/">July (
1)
</a></li>
226 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/09/">September (
1)
</a></li>
228 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/10/">October (
1)
</a></li>
230 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/11/">November (
1)
</a></li>
237 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/01/">January (
4)
</a></li>
239 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/02/">February (
3)
</a></li>
241 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/03/">March (
3)
</a></li>
243 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/05/">May (
2)
</a></li>
245 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/06/">June (
5)
</a></li>
247 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/07/">July (
2)
</a></li>
249 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/08/">August (
1)
</a></li>
251 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/09/">September (
1)
</a></li>
253 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/11/">November (
1)
</a></li>
255 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/12/">December (
4)
</a></li>
262 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/01/">January (
1)
</a></li>
264 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/02/">February (
5)
</a></li>
266 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/03/">March (
5)
</a></li>
268 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/04/">April (
3)
</a></li>
270 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/06/">June (
2)
</a></li>
272 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/07/">July (
5)
</a></li>
274 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/08/">August (
3)
</a></li>
276 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/09/">September (
3)
</a></li>
278 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/10/">October (
5)
</a></li>
280 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/11/">November (
2)
</a></li>
282 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/12/">December (
4)
</a></li>
289 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/01/">January (
4)
</a></li>
291 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/02/">February (
3)
</a></li>
293 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/03/">March (
5)
</a></li>
295 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/04/">April (
2)
</a></li>
297 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/06/">June (
5)
</a></li>
299 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/07/">July (
1)
</a></li>
301 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/08/">August (
1)
</a></li>
303 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/09/">September (
3)
</a></li>
305 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/10/">October (
5)
</a></li>
307 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/11/">November (
3)
</a></li>
309 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/12/">December (
4)
</a></li>
316 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/01/">January (
3)
</a></li>
318 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/02/">February (
2)
</a></li>
320 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/03/">March (
3)
</a></li>
322 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/04/">April (
8)
</a></li>
324 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/05/">May (
8)
</a></li>
326 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/06/">June (
2)
</a></li>
328 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/07/">July (
2)
</a></li>
330 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/08/">August (
5)
</a></li>
332 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/09/">September (
2)
</a></li>
334 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/10/">October (
3)
</a></li>
336 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/11/">November (
8)
</a></li>
338 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/12/">December (
5)
</a></li>
345 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/01/">January (
7)
</a></li>
347 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/02/">February (
6)
</a></li>
349 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/03/">March (
1)
</a></li>
351 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/04/">April (
4)
</a></li>
353 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/05/">May (
3)
</a></li>
355 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/06/">June (
4)
</a></li>
357 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/07/">July (
6)
</a></li>
359 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/08/">August (
2)
</a></li>
361 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/09/">September (
2)
</a></li>
363 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/10/">October (
9)
</a></li>
365 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/11/">November (
6)
</a></li>
367 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/12/">December (
3)
</a></li>
374 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/01/">January (
2)
</a></li>
376 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/02/">February (
3)
</a></li>
378 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/03/">March (
8)
</a></li>
380 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/04/">April (
7)
</a></li>
382 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/05/">May (
1)
</a></li>
384 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/06/">June (
2)
</a></li>
386 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/07/">July (
2)
</a></li>
388 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/08/">August (
2)
</a></li>
390 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/09/">September (
5)
</a></li>
392 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/10/">October (
6)
</a></li>
394 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/11/">November (
3)
</a></li>
396 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/12/">December (
5)
</a></li>
403 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/01/">January (
11)
</a></li>
405 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/02/">February (
9)
</a></li>
407 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/03/">March (
9)
</a></li>
409 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/04/">April (
6)
</a></li>
411 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/05/">May (
9)
</a></li>
413 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/06/">June (
10)
</a></li>
415 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/07/">July (
7)
</a></li>
417 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/08/">August (
3)
</a></li>
419 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/09/">September (
5)
</a></li>
421 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/10/">October (
7)
</a></li>
423 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/11/">November (
9)
</a></li>
425 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/12/">December (
3)
</a></li>
432 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/01/">January (
7)
</a></li>
434 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/02/">February (
10)
</a></li>
436 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/03/">March (
17)
</a></li>
438 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/04/">April (
12)
</a></li>
440 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/05/">May (
12)
</a></li>
442 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/06/">June (
20)
</a></li>
444 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/07/">July (
17)
</a></li>
446 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/08/">August (
6)
</a></li>
448 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/09/">September (
9)
</a></li>
450 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/10/">October (
17)
</a></li>
452 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/11/">November (
10)
</a></li>
454 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/12/">December (
7)
</a></li>
461 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/01/">January (
16)
</a></li>
463 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/02/">February (
6)
</a></li>
465 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/03/">March (
6)
</a></li>
467 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/04/">April (
7)
</a></li>
469 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/05/">May (
3)
</a></li>
471 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/06/">June (
2)
</a></li>
473 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/07/">July (
7)
</a></li>
475 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/08/">August (
6)
</a></li>
477 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/09/">September (
4)
</a></li>
479 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/10/">October (
2)
</a></li>
481 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/11/">November (
3)
</a></li>
483 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/12/">December (
1)
</a></li>
490 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/01/">January (
2)
</a></li>
492 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/02/">February (
1)
</a></li>
494 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/03/">March (
3)
</a></li>
496 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/04/">April (
3)
</a></li>
498 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/05/">May (
9)
</a></li>
500 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/06/">June (
14)
</a></li>
502 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/07/">July (
12)
</a></li>
504 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/08/">August (
13)
</a></li>
506 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/09/">September (
7)
</a></li>
508 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/10/">October (
9)
</a></li>
510 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/11/">November (
13)
</a></li>
512 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/12/">December (
12)
</a></li>
519 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/01/">January (
8)
</a></li>
521 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/02/">February (
8)
</a></li>
523 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/03/">March (
12)
</a></li>
525 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/04/">April (
10)
</a></li>
527 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/05/">May (
9)
</a></li>
529 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/06/">June (
3)
</a></li>
531 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/07/">July (
4)
</a></li>
533 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/08/">August (
3)
</a></li>
535 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/09/">September (
1)
</a></li>
537 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/10/">October (
2)
</a></li>
539 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/11/">November (
3)
</a></li>
541 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/12/">December (
3)
</a></li>
548 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/11/">November (
5)
</a></li>
550 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/12/">December (
7)
</a></li>
561 <li><a href=
"http://www.hungry.com/~pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
563 <li><a href=
"http://www.hungry.com/~pere/blog/tags/amiga">amiga (
1)
</a></li>
565 <li><a href=
"http://www.hungry.com/~pere/blog/tags/aros">aros (
1)
</a></li>
567 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bankid">bankid (
4)
</a></li>
569 <li><a href=
"http://www.hungry.com/~pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
571 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bitcoin">bitcoin (
13)
</a></li>
573 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
575 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bsa">bsa (
2)
</a></li>
577 <li><a href=
"http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (
3)
</a></li>
579 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian">debian (
209)
</a></li>
581 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (
159)
</a></li>
583 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
585 <li><a href=
"http://www.hungry.com/~pere/blog/tags/digistan">digistan (
11)
</a></li>
587 <li><a href=
"http://www.hungry.com/~pere/blog/tags/dld">dld (
18)
</a></li>
589 <li><a href=
"http://www.hungry.com/~pere/blog/tags/docbook">docbook (
33)
</a></li>
591 <li><a href=
"http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
593 <li><a href=
"http://www.hungry.com/~pere/blog/tags/english">english (
471)
</a></li>
595 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
597 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fildeling">fildeling (
14)
</a></li>
599 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freeculture">freeculture (
34)
</a></li>
601 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freedombox">freedombox (
9)
</a></li>
603 <li><a href=
"http://www.hungry.com/~pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
605 <li><a href=
"http://www.hungry.com/~pere/blog/tags/h264">h264 (
20)
</a></li>
607 <li><a href=
"http://www.hungry.com/~pere/blog/tags/intervju">intervju (
43)
</a></li>
609 <li><a href=
"http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (
21)
</a></li>
611 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kart">kart (
23)
</a></li>
613 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kodi">kodi (
6)
</a></li>
615 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ldap">ldap (
9)
</a></li>
617 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lego">lego (
5)
</a></li>
619 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lenker">lenker (
8)
</a></li>
621 <li><a href=
"http://www.hungry.com/~pere/blog/tags/linuxcnc">linuxcnc (
8)
</a></li>
623 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lsdvd">lsdvd (
3)
</a></li>
625 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ltsp">ltsp (
1)
</a></li>
627 <li><a href=
"http://www.hungry.com/~pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
629 <li><a href=
"http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (
8)
</a></li>
631 <li><a href=
"http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (
48)
</a></li>
633 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (
15)
</a></li>
635 <li><a href=
"http://www.hungry.com/~pere/blog/tags/noark5">noark5 (
27)
</a></li>
637 <li><a href=
"http://www.hungry.com/~pere/blog/tags/norsk">norsk (
326)
</a></li>
639 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nuug">nuug (
200)
</a></li>
641 <li><a href=
"http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (
42)
</a></li>
643 <li><a href=
"http://www.hungry.com/~pere/blog/tags/open311">open311 (
2)
</a></li>
645 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
647 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opphavsrett">opphavsrett (
76)
</a></li>
649 <li><a href=
"http://www.hungry.com/~pere/blog/tags/personvern">personvern (
114)
</a></li>
651 <li><a href=
"http://www.hungry.com/~pere/blog/tags/raid">raid (
4)
</a></li>
653 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reactos">reactos (
1)
</a></li>
655 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reprap">reprap (
11)
</a></li>
657 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rfid">rfid (
3)
</a></li>
659 <li><a href=
"http://www.hungry.com/~pere/blog/tags/robot">robot (
17)
</a></li>
661 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rss">rss (
1)
</a></li>
663 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ruter">ruter (
7)
</a></li>
665 <li><a href=
"http://www.hungry.com/~pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
667 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sikkerhet">sikkerhet (
60)
</a></li>
669 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
671 <li><a href=
"http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (
5)
</a></li>
673 <li><a href=
"http://www.hungry.com/~pere/blog/tags/standard">standard (
80)
</a></li>
675 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
677 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stortinget">stortinget (
14)
</a></li>
679 <li><a href=
"http://www.hungry.com/~pere/blog/tags/surveillance">surveillance (
65)
</a></li>
681 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin (
6)
</a></li>
683 <li><a href=
"http://www.hungry.com/~pere/blog/tags/usenix">usenix (
2)
</a></li>
685 <li><a href=
"http://www.hungry.com/~pere/blog/tags/valg">valg (
9)
</a></li>
687 <li><a href=
"http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (
23)
</a></li>
689 <li><a href=
"http://www.hungry.com/~pere/blog/tags/video">video (
82)
</a></li>
691 <li><a href=
"http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
693 <li><a href=
"http://www.hungry.com/~pere/blog/tags/web">web (
42)
</a></li>
699 <p style=
"text-align: right">
700 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>