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: Managing and using ONVIF IP cameras with Linux
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"https://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"https://people.skolelinux.org/pere/blog/vim.css" />
15 <a href=
"https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Managing and using ONVIF IP cameras with Linux
</div>
24 <div class=
"date">19th October
2022</div>
25 <div class=
"body"><p>Recently I have been looking at how to control and collect data
26 from a handful IP cameras using Linux. I both wanted to change their
27 settings and to make their imagery available via a free software
28 service under my control. Here is a summary of the tools I found.
</p>
30 <p>First I had to identify the cameras and their protocols. As far as
31 I could tell, they were using some SOAP looking protocol and their
32 internal web server seem to only work with Microsoft Internet Explorer
33 with some proprietary binary plugin, which in these days of course is
34 a security disaster and also made it impossible for me to use the
35 camera web interface. Luckily I discovered that the SOAP looking
36 protocol is actually following
<a href=
"https://www.onvif.org/">the
37 ONVIF specification
</a>, which seem to be supported by a lot of IP
38 cameras these days.
</p>
40 <p>Once the protocol was identified, I was able to find what appear to
41 be the most popular way to configure ONVIF cameras, the free software
43 <a href=
"https://sourceforge.net/projects/onvifdm/">ONVIF Device
44 Manager
</a>. Lacking any other options at the time, I tried
45 unsuccessfully to get it running using Wine, but was missing a dotnet
46 40 library and I found no way around it to run it on Linux.
</p>
48 <p>The next tool I found to configure the cameras were a non-free Linux Qt
49 client
<a href=
"https://www.lingodigit.com/onvif_nvcdemo.html">ONVIF
50 Device Tool
</a>. I did not like its terms of use, so did not spend
53 <p>To collect the video and make it available in a web interface, I
54 found the Zoneminder tool in Debian. A recent version was able to
55 automatically detect and configure ONVIF devices, so I could use it to
56 set up motion detection in and collection of the camera output. I had
57 initial problems getting the ONVIF autodetection to work, as both
58 Firefox and Chromium
<a href=
"https://bugs.debian.org/1001188">refused
59 the inter-tab communication
</a> being used by the Zoneminder web
60 pages, but managed to get konqueror to work. Apparently the "Enhanced
61 Tracking Protection" in Firefox cause the problem. I ended up
62 upgrading to the Bookworm edition of Zoneminder in the process to try
63 to fix the issue, and believe the problem might be solved now.
</p>
65 <p>In the process I came across the nice Linux GUI tool
66 <a href=
"https://gitlab.com/caspermeijn/onvifviewer/">ONVIF Viewer
</a>
67 allowing me to preview the camera output and validate the login
68 passwords required. Sadly its author has grown tired of maintaining
69 the software, so it might not see any future updates. Which is sad,
70 as the viewer is sightly unstable and the picture tend to lock up.
71 Note, this lockup might be due to limitations in the cameras and not
72 the viewer implementation. I suspect the camera is only able to
73 provide pictures to one client at the time, and the Zoneminder feed
74 might interfere with the GUI viewer. I have
75 <a href=
"https://bugs.debian.org/1000820">asked for the tool to be
76 included in Debian
</a>.
</p>
78 <p>Finally, I found what appear to be very nice Linux free software
79 replacement for the Windows tool, named
80 <a href=
"https://github.com/sr99622/libonvif/">libonvif
</a>. It
81 provide a C library to talk to ONVIF devices as well as a command line
82 and GUI tool using the library. Using the GUI tool I was able to change
83 the admin passwords and update other settings of the cameras. I have
84 <a href=
"https://bugs.debian.org/1021980">asked for the package to be
85 included in Debian
</a>.
</p>
87 <p>As usual, if you use Bitcoin and want to show your support of my
88 activities, please send Bitcoin donations to my address
89 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
91 <p><strong>Update
2022-
10-
20</strong>: Since my initial publication of
92 this text, I got several suggestions for more free software Linux
93 tools. There is
<a href=
"https://github.com/quatanium/python-onvif">a
94 ONVIF python library
</a> (already
95 <a href=
"https://bugs.debian.org/824240">requested into Debian
</a>) and
96 <a href=
"https://github.com/FalkTannhaeuser/python-onvif-zeep">a python
3
97 fork
</a> using a different SOAP dependency. There is also
98 <a href=
"https://www.home-assistant.io/integrations/onvif/">support for
99 ONVIF in Home Assistant
</a>, and there is an alternative to Zoneminder
100 called
<a href=
"https://www.shinobi.video/">Shinobi
</a>. The latter
101 two are not included in Debian either. I have not tested any of these
105 <div class=
"tags">Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/standard">standard
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>.
</div>
123 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/01/">January (
3)
</a></li>
125 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/02/">February (
1)
</a></li>
127 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/04/">April (
2)
</a></li>
129 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/05/">May (
3)
</a></li>
131 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/06/">June (
1)
</a></li>
133 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/08/">August (
1)
</a></li>
135 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/09/">September (
1)
</a></li>
137 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/10/">October (
1)
</a></li>
139 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/11/">November (
4)
</a></li>
146 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/02/">February (
1)
</a></li>
148 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/03/">March (
3)
</a></li>
150 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/04/">April (
2)
</a></li>
152 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/06/">June (
2)
</a></li>
154 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/07/">July (
1)
</a></li>
156 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/09/">September (
1)
</a></li>
158 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/10/">October (
1)
</a></li>
160 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/12/">December (
1)
</a></li>
167 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/01/">January (
2)
</a></li>
169 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/02/">February (
1)
</a></li>
171 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/05/">May (
1)
</a></li>
173 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/06/">June (
1)
</a></li>
175 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/07/">July (
3)
</a></li>
177 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/08/">August (
1)
</a></li>
179 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/09/">September (
1)
</a></li>
181 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/10/">October (
1)
</a></li>
183 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/12/">December (
1)
</a></li>
190 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
192 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/03/">March (
2)
</a></li>
194 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/04/">April (
2)
</a></li>
196 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/05/">May (
3)
</a></li>
198 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/06/">June (
2)
</a></li>
200 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/07/">July (
1)
</a></li>
202 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/09/">September (
1)
</a></li>
204 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/10/">October (
1)
</a></li>
206 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/11/">November (
1)
</a></li>
213 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
215 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
217 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
219 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
221 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
223 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
225 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
227 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
229 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
231 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
238 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
240 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
242 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
244 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
246 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
248 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
250 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
252 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
254 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
256 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
258 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
265 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
267 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
269 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
271 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
273 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
275 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
277 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
279 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
281 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
283 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
285 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
292 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
294 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
296 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
298 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
300 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
302 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
304 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
306 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
308 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
310 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
312 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
314 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
321 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
323 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
325 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
327 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
329 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
331 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
333 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
335 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
337 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
339 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
341 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
343 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
350 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
352 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
354 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
356 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
358 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
360 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
362 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
364 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
366 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
368 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
370 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
372 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
379 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
381 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
383 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
385 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
387 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
389 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
391 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
393 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
395 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
397 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
399 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
401 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
408 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
410 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
412 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
414 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
416 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
418 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
420 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
422 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
424 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
426 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
428 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
430 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
437 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
439 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
441 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
443 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
445 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
447 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
449 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
451 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
453 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
455 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
457 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
459 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
466 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
468 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
470 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
472 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
474 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
476 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
478 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
480 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
482 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
484 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
486 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
488 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
495 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
497 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
499 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
501 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
503 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
505 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
507 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
509 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
511 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
513 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
515 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
517 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
524 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
526 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
537 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
539 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
541 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
543 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
545 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
547 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
12)
</a></li>
549 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
551 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
553 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
3)
</a></li>
555 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian (
197)
</a></li>
557 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
159)
</a></li>
559 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
561 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
563 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/dld">dld (
18)
</a></li>
565 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/docbook">docbook (
32)
</a></li>
567 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
569 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/english">english (
454)
</a></li>
571 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
573 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
575 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
577 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
579 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
581 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
583 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/intervju">intervju (
43)
</a></li>
585 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
587 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kart">kart (
23)
</a></li>
589 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kodi">kodi (
6)
</a></li>
591 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
593 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego (
5)
</a></li>
595 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
597 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (
5)
</a></li>
599 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
601 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
603 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
605 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
607 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
46)
</a></li>
609 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
15)
</a></li>
611 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
24)
</a></li>
613 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk (
323)
</a></li>
615 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug (
198)
</a></li>
617 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
40)
</a></li>
619 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
621 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
623 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
625 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern (
114)
</a></li>
627 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
629 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
631 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
633 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
635 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot (
17)
</a></li>
637 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
639 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
641 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
643 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
60)
</a></li>
645 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
647 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
649 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/standard">standard (
75)
</a></li>
651 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
653 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
14)
</a></li>
655 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
65)
</a></li>
657 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
659 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
661 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
663 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
20)
</a></li>
665 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/video">video (
79)
</a></li>
667 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
669 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
675 <p style=
"text-align: right">
676 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>