aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-05-15 23:59:18 +0200
committerChristian Grothoff <christian@grothoff.org>2020-05-15 23:59:18 +0200
commit5f4bc197ab7047ffe1aa4d7e1c81ad1ec5c87a09 (patch)
treecbc088f1dcba28baadf86964205dffb8af8f7d7f
parentbaeb9dff4b9d52928aaf1e4a5ea5952a27ad4645 (diff)
parent0a0dd2431d29bf91bbb338e6d8d6738632c49f8e (diff)
downloadwww-5f4bc197ab7047ffe1aa4d7e1c81ad1ec5c87a09.tar.gz
www-5f4bc197ab7047ffe1aa4d7e1c81ad1ec5c87a09.zip
Merge branch 'master' of git+ssh://gnunet.org/www
-rwxr-xr-x.buildbot/build.sh10
-rwxr-xr-x.buildbot/firefly-x86_64-amdepyc_deploy.sh10
-rw-r--r--.gitmodules1
-rw-r--r--.mailmap7
m---------build-system/taler-build-scripts0
-rw-r--r--common/header.j2.inc18
-rw-r--r--common/navigation.j2.inc5
m---------inc0
-rw-r--r--locale/de/LC_MESSAGES/messages.po2
-rw-r--r--locale/es/LC_MESSAGES/messages.po2
-rw-r--r--locale/fr/LC_MESSAGES/messages.po2
-rw-r--r--locale/it/LC_MESSAGES/messages.po2
-rw-r--r--static/images/ngi_trust.pngbin0 -> 78449 bytes
-rw-r--r--static/styles.css4
-rw-r--r--template/about.html.j218
-rw-r--r--template/ev.html.j28
-rw-r--r--template/gnurl.html.j224
-rw-r--r--template/gsoc.html.j2204
-rw-r--r--template/install-on-archpi.html.j236
-rw-r--r--template/install.html.j2134
-rw-r--r--www.yml15
21 files changed, 318 insertions, 184 deletions
diff --git a/.buildbot/build.sh b/.buildbot/build.sh
new file mode 100755
index 00000000..da209c09
--- /dev/null
+++ b/.buildbot/build.sh
@@ -0,0 +1,10 @@
1#!/bin/bash
2
3./bootstrap
4./configure
5make
6if [ $? -eq 0 ]; then
7 exit 0
8fi
9echo "Try again"
10make
diff --git a/.buildbot/firefly-x86_64-amdepyc_deploy.sh b/.buildbot/firefly-x86_64-amdepyc_deploy.sh
new file mode 100755
index 00000000..baad1bae
--- /dev/null
+++ b/.buildbot/firefly-x86_64-amdepyc_deploy.sh
@@ -0,0 +1,10 @@
1#!/bin/bash
2
3# Deploy websites from buildbot
4
5chmod -R ag+rX rendered/
6DEPLOY_USER="stage"
7if [ $(git rev-parse --abbrev-ref HEAD) == 'stable' ]; then
8 DEPLOY_USER="www"
9fi
10rsync -a --delete rendered/ $DEPLOY_USER@gnunet.org:~/www_deployment/
diff --git a/.gitmodules b/.gitmodules
index 1cb35121..e15461d5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,5 +5,4 @@
5[submodule "inc"] 5[submodule "inc"]
6 path = inc 6 path = inc
7 url = https://git.gnunet.org/www_shared.git 7 url = https://git.gnunet.org/www_shared.git
8 branch = default
9 ignore = dirty 8 ignore = dirty
diff --git a/.mailmap b/.mailmap
index 017cc9a6..386cebe6 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1,2 +1,5 @@
1ng0 <ng0@n0.is> 1nikita <nikita@n0.is>
2ng0 <ng0@n0.is> Nils Gillmann <gillmann@infotropique.org> 2nikita <nikita@n0.is> ng0@n0.is <ng0@n0.is>
3nikita <nikita@n0.is> ng0 <ng0@n0.is>
4nikita <nikita@n0.is> Nils Gillmann <ng0@n0.is>
5nikita <nikita@n0.is> Nils Gillmann <gillmann@infotropique.org>
diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts
Subproject d81bbfabc2538932f631d3946bd6a9b95182b4f Subproject d725a0cd1b4aa3ff54452a702b8c19db3f3c339
diff --git a/common/header.j2.inc b/common/header.j2.inc
index 2f809854..9d797fed 100644
--- a/common/header.j2.inc
+++ b/common/header.j2.inc
@@ -56,3 +56,21 @@
56 <![endif]--> 56 <![endif]-->
57 57
58 <link rel="alternate" type="application/rss+xml" title="GNUnet.org rss" href="{{ url_localized('news/rss.xml') }}" /> 58 <link rel="alternate" type="application/rss+xml" title="GNUnet.org rss" href="{{ url_localized('news/rss.xml') }}" />
59
60 <!-- opengraph -->
61 <!--
62 We do not actively use Twitter or endorse it, but people might
63 use our posts there or other websites might conform to the
64 twitter namespace of the opengraph. More opengraph must be
65 implemented in the sitecode.
66 -->
67 <meta name="twitter:card" content="article" />
68 <meta name="twitter:site" content="@gnunet" />
69 <meta name="twitter:creator" content="@gnunet" />
70 {#
71 TODO: Implement the necessary functions.
72 <meta property="og:url" content="{{ url_localized(url) }}" />
73 <meta property="og:title" content="{{ title }}" />
74 <meta property="og:description" content="{{ summary }}" />
75 <meta property="og:image" content="" />
76 #}
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc
index 1befac86..5e288a94 100644
--- a/common/navigation.j2.inc
+++ b/common/navigation.j2.inc
@@ -61,10 +61,7 @@
61 <li><a class="dropdown-item" href="https://bugs.gnunet.org" target="_blank">{{ _("Bug Tracker") }}</a></li> 61 <li><a class="dropdown-item" href="https://bugs.gnunet.org" target="_blank">{{ _("Bug Tracker") }}</a></li>
62 <li><a class="dropdown-item" href="https://git.gnunet.org" target="_blank">{{ _("Source Code") }}</a></li> 62 <li><a class="dropdown-item" href="https://git.gnunet.org" target="_blank">{{ _("Source Code") }}</a></li>
63 <li><a class="dropdown-item" target="_blank" href="https://docs.gnunet.org/doxygen/">{{ _("Source Code Documentation") }}</a></li> 63 <li><a class="dropdown-item" target="_blank" href="https://docs.gnunet.org/doxygen/">{{ _("Source Code Documentation") }}</a></li>
64 <!-- 64 <li><a class="dropdown-item" href="https://buildbot.gnunet.org/" target="_blank">{{ _("Continuous Integration") }}</a></li>
65 /* Until there is no functional CI we don not show this */
66 <li><a class="dropdown-item" href="https://gitlab.gnunet.org/" target="_blank">{{ _("Continuous Integration") }}</a></li>
67 -->
68 <li><a class="dropdown-item" target="_blank" href="https://docs.gnunet.org/tutorial/gnunet-tutorial.html">{{ _("Development Tutorial") }}</a></li> 65 <li><a class="dropdown-item" target="_blank" href="https://docs.gnunet.org/tutorial/gnunet-tutorial.html">{{ _("Development Tutorial") }}</a></li>
69 <li><a class="dropdown-item" href="{{ url_localized('gnurl.html') }}">libgnurl</a></li> 66 <li><a class="dropdown-item" href="{{ url_localized('gnurl.html') }}">libgnurl</a></li>
70 <li><a class="dropdown-item" href="{{ url_localized('gns.html') }}">GNS</a></li> 67 <li><a class="dropdown-item" href="{{ url_localized('gns.html') }}">GNS</a></li>
diff --git a/inc b/inc
Subproject 6a51c97bddcffef78e0c3b39a0eddd69876b690 Subproject bdef602fcbd13d59aef971307b3730247a8b9c5
diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po
index bef9c6d6..06477135 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -11,10 +11,10 @@ msgstr ""
11"PO-Revision-Date: 2018-02-24 17:42\n" 11"PO-Revision-Date: 2018-02-24 17:42\n"
12"Last-Translator: Torsten Grothoff <torsten@grothoff.org>\n" 12"Last-Translator: Torsten Grothoff <torsten@grothoff.org>\n"
13"Language-Team: German <LL@li.org>\n" 13"Language-Team: German <LL@li.org>\n"
14"Language: de\n"
14"MIME-Version: 1.0\n" 15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
17"Language: de\n"
18"Generated-By: Babel 2.4.0\n" 18"Generated-By: Babel 2.4.0\n"
19 19
20#~ msgid "GNUnet" 20#~ msgid "GNUnet"
diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po
index 13e165e9..a19f6a50 100644
--- a/locale/es/LC_MESSAGES/messages.po
+++ b/locale/es/LC_MESSAGES/messages.po
@@ -12,10 +12,10 @@ msgstr ""
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n" 14"Language-Team: LANGUAGE <LL@li.org>\n"
15"Language: es\n"
15"MIME-Version: 1.0\n" 16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n" 17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n" 18"Content-Transfer-Encoding: 8bit\n"
18"Language: es\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
20 20
21#~ msgid "Contact" 21#~ msgid "Contact"
diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po
index 2a89f105..1d1ec761 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -12,8 +12,8 @@ msgstr ""
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n" 14"Language-Team: LANGUAGE <LL@li.org>\n"
15"Language: fr\n"
15"MIME-Version: 1.0\n" 16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n" 17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n" 18"Content-Transfer-Encoding: 8bit\n"
18"Language: fr\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index 433198f8..ca9bf922 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -12,10 +12,10 @@ msgstr ""
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n" 14"Language-Team: LANGUAGE <LL@li.org>\n"
15"Language: it\n"
15"MIME-Version: 1.0\n" 16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n" 17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n" 18"Content-Transfer-Encoding: 8bit\n"
18"Language: it\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
20 20
21#~ msgid "_project_title" 21#~ msgid "_project_title"
diff --git a/static/images/ngi_trust.png b/static/images/ngi_trust.png
new file mode 100644
index 00000000..8490a06f
--- /dev/null
+++ b/static/images/ngi_trust.png
Binary files differ
diff --git a/static/styles.css b/static/styles.css
index 5979d21a..3806ac19 100644
--- a/static/styles.css
+++ b/static/styles.css
@@ -47,6 +47,10 @@ code {
47 margin-bottom: 1em; 47 margin-bottom: 1em;
48 word-wrap: break-word; } 48 word-wrap: break-word; }
49 49
50code.block {
51 display: block; }
52
53
50a.btn { 54a.btn {
51 text-decoration: none !important; 55 text-decoration: none !important;
52 color: white !important; 56 color: white !important;
diff --git a/template/about.html.j2 b/template/about.html.j2
index 45ef9fcd..be9a7298 100644
--- a/template/about.html.j2
+++ b/template/about.html.j2
@@ -118,6 +118,24 @@
118 <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo"> 118 <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo">
119 </p> 119 </p>
120 </li> 120 </li>
121 <li>
122 <p>
123 {% trans %}
124 This project has received funding from the European Union’s Horizon
125 2020 research and innovation programme under the NGI_TRUST grant
126 agreement no 825618.
127 The project aims to integrate re:claimID with the GNU Taler payment
128 system in a pilot in order to demonstrate the practical feasibility
129 and benefits of privacy enhancing technologies for users and
130 commercial service providers. The project is called "Decentralized
131 Identities for Self-Sovereign End-users" (DISSENS).
132 {% endtrans %}
133 <br>
134 <a href="https://wiki.geant.org/display/NGITrust/">GEANT NGI TRUST</a><br>
135 <img style="width: 35%" src="{{ url('static/images/ngi_trust.png') }}" alt="NGI TRUST logo">
136 </p>
137 </li>
138
121 </ul> 139 </ul>
122 <br> 140 <br>
123 {% trans %} 141 {% trans %}
diff --git a/template/ev.html.j2 b/template/ev.html.j2
index bddd2ee6..fac71cab 100644
--- a/template/ev.html.j2
+++ b/template/ev.html.j2
@@ -56,13 +56,15 @@
56 <a href="https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex">https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex</a>. 56 <a href="https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex">https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex</a>.
57 The current board consists of: 57 The current board consists of:
58 <dl><dt>Vorsitz</dt> 58 <dl><dt>Vorsitz</dt>
59 <dd><a href="https://grothoff.org/christian/">Christian Grothoff</a></dd> 59 <dd><a href="https://schanzen.eu">Martin Schanzenbach</a></dd>
60 <dt>stellvertretender Vorsitz</dt> 60 <dt>stellvertretender Vorsitz</dt>
61 <dd>xrs</dd> 61 <dd><a href="https://grothoff.org/christian/">Christian Grothoff</a></dd>
62 <dt>Kassenwart</dt> 62 <dt>Kassenwart</dt>
63 <dd>Florian Dold</dd> 63 <dd>Florian Dold</dd>
64 <dt>Beisitzer</dt> 64 <dt>Beisitzer</dt>
65 <dd>Lurchi</dd> 65 <dd>
66 Hartmut Goebel, DVN
67 </dd>
66 </dl> 68 </dl>
67 {% endtrans %} 69 {% endtrans %}
68 </p> 70 </p>
diff --git a/template/gnurl.html.j2 b/template/gnurl.html.j2
index 7393bb6f..c9c5d8ba 100644
--- a/template/gnurl.html.j2
+++ b/template/gnurl.html.j2
@@ -28,9 +28,9 @@
28 </p> 28 </p>
29 <p> 29 <p>
30 {% trans %} 30 {% trans %}
31 Our main usecase is for GNUnet, but it might be usable 31 Our main usecase is for GNUnet and Taler, but it might
32 for others, hence we&#39;re releasing the code to the 32 be usable for others, hence we&#39;re releasing the code
33 general public. 33 to the general public.
34 {% endtrans %} 34 {% endtrans %}
35 </p> 35 </p>
36 <p> 36 <p>
@@ -129,8 +129,9 @@
129 my mood. Note that this pretty much CANNOT be done without a fork, as 129 my mood. Note that this pretty much CANNOT be done without a fork, as
130 renaming is an essential part of the fix. Now, there might be creative 130 renaming is an essential part of the fix. Now, there might be creative
131 solutions to achieve the same thing within the standard cURL build 131 solutions to achieve the same thing within the standard cURL build
132 system, but I'm not happy to wait for a decade for Daniel to review 132 system, but this was deemed to be too much work when
133 the patches. The changes libgnurl makes to curl are miniscule and can 133 gnurl was originally started.
134 The changes libgnurl makes to curl are miniscule and can
134 easily be applied again and again whenever libcurl makes a new 135 easily be applied again and again whenever libcurl makes a new
135 release. 136 release.
136 {% endtrans %} 137 {% endtrans %}
@@ -210,7 +211,7 @@
210 {% trans %} 211 {% trans %}
211 Releases are published on <a href="https://ftpmirror.gnu.org/gnu/gnunet/">ftpmirror.gnu.org/gnu/gnunet</a>. 212 Releases are published on <a href="https://ftpmirror.gnu.org/gnu/gnunet/">ftpmirror.gnu.org/gnu/gnunet</a>.
212 gnurl is available from within a variety of distributions and package managers. 213 gnurl is available from within a variety of distributions and package managers.
213 Package Managers which include gnurl are: 214 Some Package Managers which include gnurl are:
214 <a href="https://www.gnu.org/software/guix/">GNU Guix</a> (available as "gnurl"), 215 <a href="https://www.gnu.org/software/guix/">GNU Guix</a> (available as "gnurl"),
215 <a href="https://gentoo.org">Gentoo</a> through the collaborative ebuild collection 216 <a href="https://gentoo.org">Gentoo</a> through the collaborative ebuild collection
216 <a href="https://git.gnunet.org/youbroketheinternet-overlay.git/">youbroketheinternet</a>, 217 <a href="https://git.gnunet.org/youbroketheinternet-overlay.git/">youbroketheinternet</a>,
@@ -266,7 +267,7 @@
266 {% trans %} 267 {% trans %}
267 Fetch the signature key from 268 Fetch the signature key from
268 {% endtrans %} 269 {% endtrans %}
269 <a href="https://keys.openpgp.org/search?q=ng0%40n0.is">keys.openpgp.org</a> 270 <a href="https://keys.openpgp.org/search?q=nikita%40NetBSD.org">keys.openpgp.org</a>
270 {% trans %} 271 {% trans %}
271 or via commandline with gnupg2. 272 or via commandline with gnupg2.
272 {% endtrans %} 273 {% endtrans %}
@@ -394,11 +395,10 @@
394 <h2>{{ _("Maintainer and Cryptographic signatures") }}</h3> 395 <h2>{{ _("Maintainer and Cryptographic signatures") }}</h3>
395 <p> 396 <p>
396 {% trans %} 397 {% trans %}
397 gnurl/libgnurl is maintained by ng0. 398 gnurl/libgnurl is maintained by Nikita.
398 Releases are signed with the OpenPGP Key 399 Releases after version 7.69.1 are signed with the OpenPGP Key
399 <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, 400 <b>0xD6B570842F7E7F8D</b> (<a href="https://keys.openpgp.org/search?q=6115012DEA3026F62A98A556D6B570842F7E7F8D">keys.openpgp.org</a>, <a href="https://n0.is/pubkey.asc">n0.is</a>), with the key fingerprint
400 with the key fingerprint 401 <b>6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D</b>.
401 <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>.
402 {% endtrans %} 402 {% endtrans %}
403 </p> 403 </p>
404 </div> 404 </div>
diff --git a/template/gsoc.html.j2 b/template/gsoc.html.j2
index 43ed1876..5a8066f4 100644
--- a/template/gsoc.html.j2
+++ b/template/gsoc.html.j2
@@ -9,7 +9,7 @@
9 <div class="row"> 9 <div class="row">
10 <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> 10 <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation -->
11 <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> 11 <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed">
12 <a class="nav-link" href="#current">{{ _("Current projects") }}</a> 12 <a class="nav-link" href="#current">{{ _("Ideas 2020") }}</a>
13 <a class="nav-link" href="#past">{{ _("Past projects") }}</a> 13 <a class="nav-link" href="#past">{{ _("Past projects") }}</a>
14 <a class="nav-link" href="#finished">{{ _("Finished projects") }}</a> 14 <a class="nav-link" href="#finished">{{ _("Finished projects") }}</a>
15 </nav> 15 </nav>
@@ -20,12 +20,89 @@
20 <p> 20 <p>
21 {% trans %} 21 {% trans %}
22 As a GNU project, GNUnet has participated in the Google Summer of Code (GSoC) for a number of years. This page lists all current, past, and finished projects. 22 As a GNU project, GNUnet has participated in the Google Summer of Code (GSoC) for a number of years. This page lists all current, past, and finished projects.
23 If you want to participate and apply for any of the ideas for 2020 below or any past project which is not yet finished (or even your own idea), please contact us either in IRC or mailing list.
23 {% endtrans %} 24 {% endtrans %}
24 </p> 25 </p>
25 </section> 26 </section>
26 27
27 28
28 <h2><a name="current" class="subnav-anchor"></a>{{ _("Current projects") }}</h2> 29 <h2><a name="current" class="subnav-anchor"></a>{{ _("Ideas 2020") }}</h2>
30 <section>
31 <h4>re:claimID/GNUnet Browser Plugin</h4>
32 <p>
33 {% trans %}
34 reclaimID is a decentralized identity system build on top of the GNU
35 Name System.
36 Currently, there is a Webextension which uses the GNUnet <a href="https://rest.gnunet.org">REST API</a>.
37 In order to improve adoption and ease of use, this project aims to include
38 a full GNUnet node within the Webextention as a fallback.
39 GNUnet can be compiled to Web Assembly or JavaScript as demonstrated
40 <a href="https://gnunet.io">here</a>.
41 The idea is to improve upon this concept and support more of GNUnet's
42 subsystems.
43
44 The difficulty of this project largely depends on the students
45 proficiency with build tools, emscripten and improvisation skills.
46 There non-exhaustive task list would be:
47 <ol>
48 <li>Improve existing GNUnet emscripten build to include more subsystems.</li>
49 <li>Integrate the result into a Webextention.</li>
50 <li>Integrate the result into the re:claimID Webextension</li>
51 </ol>
52 Advantageous skills/languages/frameworks:
53 <ol>
54 <li>C</li>
55 <li>emscripten</li>
56 <li>Webextensions</li>
57 </ol>
58 <br/>
59 <strong>Difficulty:</strong> Challenging
60 <br/>
61 <strong>Mentors:</strong> Martin Schanzenbach
62 {% endtrans %}
63 </p>
64 </section>
65
66 <section>
67 <h4>Canonical statistics identifier</h4>
68 <p>
69 {% trans %}
70 Currently, the keys in our statistics database are too verbose.
71 For example:
72 </p>
73 <p>
74 nse # flood messages received: 13<br/>
75 nse # peers connected: 4<br/>
76 nse # nodes in the network (estimate): 203<br/>
77 nse # flood messages started: 5<br/>
78 nse # estimated network diameter: 3<br/>
79 nse # flood messages transmitted: 10<br/>
80 </p>
81 <p>
82 With such verbose keys there's no easy way to form compact JSON
83 document or entries for time-series database.
84 And you can't query single stats without having to copypaste the line
85 exactly and put in quotes.
86 In short, the goals are to...
87 <ol>
88 <li>Think of a way how statistics entries can be made canonical.</li>
89 <li>Implement the change and migrate existing uses.</li>
90 <li>Document the format(s) and define an appropriate registration mechanism for identifiers</li>
91 </ol>
92 Relevant bugs: <a href="https://bugs.gnunet.org/view.php?id=5650">#5650</a><br/>
93 Advantageous skills/languages/frameworks:
94 <ol>
95 <li>C</li>
96 <li>HTML</li>
97 </ol>
98 <br/>
99 <strong>Difficulty:</strong> Beginner
100 <br/>
101 <strong>Mentors:</strong> Martin Schanzenbach
102 {% endtrans %}
103 </p>
104 </section>
105
29 <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. --> 106 <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. -->
30 <h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2> 107 <h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2>
31 <p> 108 <p>
@@ -42,7 +119,14 @@
42 </p> 119 </p>
43 <p> 120 <p>
44 {% trans %} 121 {% trans %}
45 <strong>Mentors:</strong> <a href="https://www.goebel-consult.de/">Hartmut Goebel</a> 122 Includes: Implementation of rudimentary Android compatibility for GNUnet,
123 in part by porting the GNUnet utils scheduler to act as
124 a thin wrapper over libuv.
125 {% endtrans %}
126 </p>
127 <p>
128 {% trans %}
129 <strong>Mentors:</strong> <a href="https://www.goebel-consult.de/">Hartmut Goebel</a>, Jeff Burdges, Christian Grothoff
46 {% endtrans %} 130 {% endtrans %}
47 </p> 131 </p>
48 </section> 132 </section>
@@ -68,71 +152,6 @@
68 </p> 152 </p>
69 </section> 153 </section>
70 154
71 <section>
72 <h4>re:claimID OpenID Connect performance improvements</h4>
73 <p>
74 {% trans %}
75 reclaimID is a decentralized identity system build on top of the GNU
76 Name System.
77 Upon authorization, the user provides a requesting party (RP) such as a website
78 with an authorization ticket (e.g. piggybacked in an OpenID authorization code).
79 The RP uses information contained in this ticket to
80 <ol>
81 <li> Retrieve the decryption key from GNS</li>
82 <li> Retrieve the user attributes from GNS</li>
83 </ol>
84 The GNS lookups ensure that the RP receives up-to-date attributes and functional
85 decryption keys. However, in particular the RP-specific encryption key
86 resolution can be slow and even fail depending on the network topology.
87 We propose that in an initial exchange, in particular OpenID authorization code
88 flows, we try to incorporate key and maybe even an attribute set in the ticket
89 exchange.
90
91 In order to mitigate this issue, this project is meant to investigate and implement how...
92 <ol>
93 <li> ... decryption keys can be added to an initial exchange in OpenID.</li>
94 <li> ... initial set(s) of attributes can be piggybacked in OpenID.</li>
95 </ol>
96 <br/>
97 <strong>Mentors:</strong> Martin Schanzenbach
98 {% endtrans %}
99 </p>
100 </section>
101
102 <section>
103 <h4>re:claimID alternative GNS-based encryption</h4>
104 <p>
105 {% trans %}
106 re:claimID is a decentralized identity system build on top of the GNU
107 Name System.
108 The initial design and implementation of re:claimID includes an attribute-based
109 encryption module in order to prevent unauthorized access to attributes in the
110 name system.
111 Our motivation for re:claimID was for it to be name system agnostic, which
112 means the design theoretically also works for other name systems such as
113 namecoin.
114 Other name systems often do not have built-in mechanisms in order to do this.
115 Hence, we implemented an ABE access control layer. Our ABE implementation
116 requires two third party libraries: libpbc and libgabe. While we could merge
117 libgabe into the gnunet service implementation of re:claimID, libpbc is a
118 rather large, third party library which lacks packaging in distributions and
119 for platforms.
120 On the other hand, GNS supports record data encryption using symmetric keys as
121 labels.
122 If we make the access control layer of re:claimID more generic in order to
123 support both ABE and GNS encryption, we could reduce the required depenencies.
124 This would result in gnunet packages to include re:claimID by default.
125
126 In short, the goals are to...
127 <ol>
128 <li> ... improve performance by reducing encryption overhead.</li>
129 <li> ... reduce dependencies.</li>
130 </ol>
131 <br/>
132 <strong>Mentors:</strong> Martin Schanzenbach
133 {% endtrans %}
134 </p>
135 </section>
136 155
137 <section> 156 <section>
138 <h4>Enable all networking applications to run over GNUnet out of the box</h4> 157 <h4>Enable all networking applications to run over GNUnet out of the box</h4>
@@ -233,25 +252,6 @@
233 </p> 252 </p>
234 </section> 253 </section>
235 <section> 254 <section>
236 <h4>RESTful GNUnet</h4>
237 <p>
238 {% trans %}
239 Design and implementation
240 of <a href="http://jsonapi.org/">REST APIs</a> that expose
241 the
242 <a href="https://docs.gnunet.org/doxygen/modules.html">GNUnet API</a>
243 so that easy, hands-on development is
244 possible. Also, browser-based UIs will be much easier to
245 create on top of REST APIs.
246 {% endtrans %}
247 </p>
248 <p>
249 {% trans %}
250 <strong>Mentors:</strong> Martin Schanzenbach
251 {% endtrans %}
252 </p>
253 </section>
254 <section>
255 <h4>Rust implementation of GNUnet utils</h4> 255 <h4>Rust implementation of GNUnet utils</h4>
256 <p> 256 <p>
257 {% trans %} 257 {% trans %}
@@ -268,21 +268,6 @@
268 </p> 268 </p>
269 </section> 269 </section>
270 <section> 270 <section>
271 <h4>Android compatibility for GNUnet</h4>
272 <p>
273 {% trans %}
274 Implement rudimentary Android compatibility for GNUnet,
275 in part by porting the GNUnet utils scheduler to act as
276 a thin wrapper over libuv.
277 {% endtrans %}
278 </p>
279 <p>
280 {% trans %}
281 <strong>Mentors:</strong> Jeff Burdges and Christian Grothoff
282 {% endtrans %}
283 </p>
284 </section>
285 <section>
286 <h4>Implementation of a replacement for PANDA</h4> 271 <h4>Implementation of a replacement for PANDA</h4>
287 <p> 272 <p>
288 {% trans %} 273 {% trans %}
@@ -527,21 +512,6 @@
527 <p><strong>Mentors:</strong> Krista Grothoff, Jeff Burdges</p> 512 <p><strong>Mentors:</strong> Krista Grothoff, Jeff Burdges</p>
528 </section> 513 </section>
529 <section> 514 <section>
530 <h4>Implementation of a replacement for PANDA</h4>
531 <p>
532 {% trans %}
533 Implementation of a replacement for PANDA (see Pond) with better
534 security, and maybe integration with the GNU Name System for key
535 exchange.
536 {% endtrans %}
537 </p>
538 <p>
539 {% trans %}
540 <strong>Mentors:</strong> Jeff Burdges
541 {% endtrans %}
542 </p>
543 </section>
544 <section>
545 <h4>Supporting GNU Guix's package distribution</h4> 515 <h4>Supporting GNU Guix's package distribution</h4>
546 <p> 516 <p>
547 {% trans %} 517 {% trans %}
diff --git a/template/install-on-archpi.html.j2 b/template/install-on-archpi.html.j2
index 37657188..66e904b2 100644
--- a/template/install-on-archpi.html.j2
+++ b/template/install-on-archpi.html.j2
@@ -16,8 +16,8 @@
16 <h2>{{ _("Requirements for Raspberry Pi 3") }}</h2> 16 <h2>{{ _("Requirements for Raspberry Pi 3") }}</h2>
17 17
18 <p>First you need the hardware. This tutorial works with a Raspberry Pi 3 or 18 <p>First you need the hardware. This tutorial works with a Raspberry Pi 3 or
19 any Arch Linux system. The other Pi versions I haven't tested, but they should 19 any Arch Linux system. The other Pi versions have not been tested, but they
20 probably work, too. To install Arch Linux on the Pi3, follow the instructions 20 should work, too. To install Arch Linux on the Pi3, follow the instructions
21 from <a 21 from <a
22 href="https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3">archlinuxarm.org</a>.</p> 22 href="https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3">archlinuxarm.org</a>.</p>
23 23
@@ -25,7 +25,7 @@
25 install the tools for building new software.</p> 25 install the tools for building new software.</p>
26 26
27 <p><code> 27 <p><code>
28 > sudo pacman -S base-devel 28 $ sudo pacman -S base-devel
29 </code></p> 29 </code></p>
30 30
31 <p>Now we can continue to install the following Arch Linux dependencies to 31 <p>Now we can continue to install the following Arch Linux dependencies to
@@ -43,18 +43,18 @@
43 in the next step:<p> 43 in the next step:<p>
44 44
45 <p><code> 45 <p><code>
46 > git clone https://gnunet.org/git/gnunet.git<br> 46 $ git clone https://gnunet.org/git/gnunet.git<br>
47 </code></p> 47 </code></p>
48 48
49 <p>Now it's time to compile and install GNUnet.</p> 49 <p>Now it's time to compile and install GNUnet.</p>
50 50
51 <p><code> 51 <p><code>
52 > cd gnunet<br> 52 $ cd gnunet<br>
53 > export GNUNET_PREFIX=/usr # for example, other locations possible<br> 53 $ export GNUNET_PREFIX=/usr/local # for example, other locations possible<br>
54 > ./bootstrap # Run this to generate the configure files.<br> 54 $ ./bootstrap # Run this to generate the configure files.<br>
55 > ./configure --prefix=$GNUNET_PREFIX --disable-documentation # Use --help to see the various flags available to you.<br> 55 $ ./configure --prefix=$GNUNET_PREFIX # Use --help to see the various flags available to you.<br>
56 > make -j$(nproc || echo -n 1)<br> 56 $ make -j$(nproc || echo -n 1)<br>
57 > sudo make install<br> 57 $ sudo make install<br>
58 </code></p> 58 </code></p>
59 59
60 <p>Congrats! GNUnet is now installed!</p> 60 <p>Congrats! GNUnet is now installed!</p>
@@ -66,14 +66,16 @@
66 <p><code> 66 <p><code>
67 $ pacman -Su gtk3 glade 67 $ pacman -Su gtk3 glade
68 </code></p> 68 </code></p>
69 <p><code>
70 $ git clone https://gnunet.org/git/gnunet-gtk.git<br>
71 </code></p>
69 <code> 72 <code>
70 $ cd ../gnunet-gtk<br> 73 $ cd ../gnunet-gtk<br>
71 $ ./bootstrap<br> 74 $ ./bootstrap<br>
72 $ export GNUNET_PREFIX=/usr # for example, other locations possible 75 $ export GNUNET_PREFIX=/usr/local # for example, other locations possible<br>
73 $ export CFLAGS="-g -Wall -O0"<br>
74 $ ./configure --prefix=$GNUNET_PREFIX --with-gnunet=$GNUNET_PREFIX<br> 76 $ ./configure --prefix=$GNUNET_PREFIX --with-gnunet=$GNUNET_PREFIX<br>
75 $ make -j$(nproc || echo -n 1)<br> 77 $ make -j$(nproc || echo -n 1)<br>
76 $ sudo make install 78 $ sudo make install<br>
77 </code> 79 </code>
78 80
79 <h2>{{ _("Run") }}</h2> 81 <h2>{{ _("Run") }}</h2>
@@ -82,20 +84,20 @@
82 ~/.config/gnunet.conf. We can start with an empty file for now:</p> 84 ~/.config/gnunet.conf. We can start with an empty file for now:</p>
83 85
84 <p><code> 86 <p><code>
85 > touch ~/.config/gnunet.conf 87 $ touch ~/.config/gnunet.conf
86 </code></p> 88 </code></p>
87 <br /> 89 <br />
88 <p>Now we can start it with the commandline tool gnunet-arm (Automatic Restart 90 <p>Now we can start it with the commandline tool gnunet-arm (Automatic Restart
89 Manager).</p> 91 Manager).</p>
90 92
91 <p><code> 93 <p><code>
92 > gnunet-arm -s 94 $ gnunet-arm -s
93 </code></p> 95 </code></p>
94 96
95 <p>It starts the default GNUnet services. We can list them with the -I option:</p> 97 <p>It starts the default GNUnet services. We can list them with the -I option:</p>
96 98
97 <p><code> 99 <p><code>
98 > gnunet-arm -I<br> 100 $ gnunet-arm -I<br>
99 Running services:<br> 101 Running services:<br>
100 ats (gnunet-service-ats)<br> 102 ats (gnunet-service-ats)<br>
101 revocation (gnunet-service-revocation)<br> 103 revocation (gnunet-service-revocation)<br>
@@ -125,7 +127,7 @@
125 <p>For stopping GNUnet again we can use the -e option.</p> 127 <p>For stopping GNUnet again we can use the -e option.</p>
126 128
127 <p><code> 129 <p><code>
128 > gnunet-arm -e 130 $ gnunet-arm -e
129 </code></p> 131 </code></p>
130 132
131 <h2>{{ _("Make sure, it works!") }}</h2> 133 <h2>{{ _("Make sure, it works!") }}</h2>
diff --git a/template/install.html.j2 b/template/install.html.j2
index 5d097a3d..598aaa6a 100644
--- a/template/install.html.j2
+++ b/template/install.html.j2
@@ -9,13 +9,65 @@
9 <div class="row container justify-content-center"> 9 <div class="row container justify-content-center">
10 <div class="alert" style="background-color: #419edb;"> 10 <div class="alert" style="background-color: #419edb;">
11 <div class="alert-content"> 11 <div class="alert-content">
12{% trans %}
12 Notice: GNUnet is still undergoing major development. It is 13 Notice: GNUnet is still undergoing major development. It is
13 largely <i>not yet ready</i> for usage beyond developers. 14 largely <i>not yet ready</i> for usage beyond developers.
15{% endtrans %}
14 </div> 16 </div>
15 </div> 17 </div>
18{% trans %}
19<p>Please be aware that this project is still in an early alpha
20stage when it comes to running software &#8211; its not an easy task
21to rewrite the whole Internet! We are happy to get your
22<a href="engage.html">helping hand</a> anytime!
23Further information is available in our <a href="https://docs.gnunet.org/#toc-Using-GNUnet-1">handbook</a>.
24If you have any queries about the installation or the usage, please <a href="engage.html">get in touch!</a></p>
25{% endtrans %}
16 </div> 26 </div>
17 27
18 <h3>Current release downloads:</h3> 28 <h3>Binary packages</h3><br/>
29 <p>
30 {% trans %}
31 We recommend to use binary packages provided by the package manager integrated
32 within your Operating System. GNUnet is reportedly available for at least:
33 <ul>
34 <li><a href="https://pkgs.alpinelinux.org/package/edge/testing/x86_64/gnunet">Alpine</a></li>
35 <li><a href="https://copr.fedorainfracloud.org/coprs/yosl/gnunet/">Fedora (Copr)</a></li>
36 <li><a href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li>
37 </ul>
38 If GNUnet is available for your Operating System and it is missing,
39 send us feedback so that we can add it to this list. Furthermore, if
40 you are interested in packaging GNUnet for your Operating System,
41 get in touch with us at gnunet-developers@gnu.org if you require
42 help with this job.
43
44 If you were using an Operating System with the Alpine package manager,
45 GNUnet could be installed as simple as:
46 {% endtrans %}
47 </p>
48 <code class="block">
49 $ apk add gnunet
50 </code>
51 <p>
52 Please beware that some distributions may include outdated GNUnet packages!
53 </p>
54 <h3>From source</h3>
55 <p>
56 {% trans %}
57 First, install the <a href="https://git.gnunet.org/gnunet.git/tree/README">required dependencies</a> of GNUnet. There are base requirements and optional
58 requirements.
59 {% endtrans %}
60 </p>
61 <p>
62 {% trans %}
63 Now, you need to decide if you want to install GNUnet from the release
64 tarball or from git. If you want to use GNUnet and there is no binary
65 package available for your OS, you should stick with the release tarball.
66 If you want to develop using the most recent build, you should go with
67 the <a href="https://git.gnunet.org/">git repository</a>.
68 {% endtrans %}
69 </p>
70 <p>The current release tarballs for gnunet, a Gtk UI and fuse extensions can be found here:</p>
19 <div class="row container justify-content-center"> 71 <div class="row container justify-content-center">
20 <div class="col-md"> 72 <div class="col-md">
21 <b>gnunet</b>: <a href="http://ftpmirror.gnu.org/gnunet/gnunet-latest.tar.gz">0.12.2</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-latest.tar.gz.sig">sig</a>)<br> 73 <b>gnunet</b>: <a href="http://ftpmirror.gnu.org/gnunet/gnunet-latest.tar.gz">0.12.2</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-latest.tar.gz.sig">sig</a>)<br>
@@ -23,28 +75,63 @@
23 <b>gnunet-fuse</b>: <a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-latest.tar.gz">0.12.0</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-latest.tar.gz.sig">sig</a>) 75 <b>gnunet-fuse</b>: <a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-latest.tar.gz">0.12.0</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-latest.tar.gz.sig">sig</a>)
24 </div> 76 </div>
25 </div> 77 </div>
26 <h3>Instructions</h3><br/> 78 <p>
27 <div class="row container justify-content-center"> 79 {% trans %}
28 <div class="col-md"> 80 Alternatively, get the sources from git by entering:
29 {% trans %} 81 {% endtrans %}
30 <p>The following GNUnet installation instructions help you building from source for your Operating System.</p> 82 </p>
31 <p><i>Please note that the installation process will get much easier once we have proper packages again (planned for winter 2019).</i></p> 83 <code class="block">
32 <p>You have already installed GNUnet and want to use it? 84 $ git clone https://gnunet.org/git/gnunet.git
33 <a href="https://gnunet.org/en/use">Check this out!</a> </p> 85 </code>
34 {% endtrans %} 86 <p>
35 </div> 87 {% trans %}
36 <div class="col-md"> 88 Before building GNUnet, make sure that you setup the required groups and
37 {% trans %} 89 add your user to the group <code>gnunet</code>:
38 <p>Please be aware that this project is still in an early alpha 90 {% endtrans %}
39 stage when it comes to running software &#8211; its not an easy task 91 </p>
40 to rewrite the whole Internet! We are happy to get your 92 <code class="block">
41 <a href="engage.html">helping hand</a> anytime!</p> 93 # addgroup gnunetdns <br>
42 <p>Further information is available in our <a href="https://docs.gnunet.org/#toc-Using-GNUnet-1">handbook</a>.</p> 94 # adduser --system --home "/var/lib/gnunet" --group gnunet --shell /bin/sh<br>
43 <p>If you have any queries about the installation or the usage, please <a href="engage.html">get in touch!</a></p> 95 # usermod -a -G gnunet &lt;username&gt;
44 {% endtrans %} 96 </code>
45 </div> 97 <p>
46 </div> 98 {% trans %}
99 To compile GNUnet, execute:
100 {% endtrans %}
101 </p>
102 <code class="block">
103 $ export GNUNET_PREFIX=/usr/local/lib # or other directory of your choice<br>
104 $ ./bootstrap # only if you install from git <br>
105 $ ./configure --prefix=$GNUNET_PREFIX/.. <br>
106 $ make
107 </code>
108 <p>
109 {% trans %}
110 You can find more configuration flags in the
111 <a href="https://git.gnunet.org/gnunet.git/tree/README">README</a>.<br>
112 Install GNUnet with:
113 {% endtrans %}
114 </p>
115 <code class="block">
116 $ (sudo) make install # you only need sudo if your GNUNET_PREFIX is not writeable by your user
117 </code>
118 <p>
119 {% trans %}
120 You can now start GNUnet by running:
121 {% endtrans %}
122 </p>
123 <code class="block">
124 $ gnunet-arm -s
125 </code>
126 <p>
127 {% trans %}
128 Check the <a href="https://docs.gnunet.org/handbook/gnunet.html#Minimal-configuration">handbook</a> for detailed documentation.
129 For a more hands-on experience, <a href="https://gnunet.org/en/use.html">continue here</a>.
130 {% endtrans %}
131 </p>
47 132
133
134<!--
48 <div class="row container justify-content-center text-center"> 135 <div class="row container justify-content-center text-center">
49 <div class="col-md"> 136 <div class="col-md">
50 <p><a href="install-on-ubuntu1804.html"><img src="{{ url('static/images/ubuntu-logo32.png') }}" class="distro-logo"></a></p> 137 <p><a href="install-on-ubuntu1804.html"><img src="{{ url('static/images/ubuntu-logo32.png') }}" class="distro-logo"></a></p>
@@ -55,7 +142,6 @@
55 <h3>Debian 9</h3> 142 <h3>Debian 9</h3>
56 </div> 143 </div>
57 <div class="col-md"> 144 <div class="col-md">
58 <!-- Not the officially distributed file, but it's the same logo, in svg. Use this. -->
59 <p><a href="install-on-netbsd.html"><img src="{{ url('static/images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p> 145 <p><a href="install-on-netbsd.html"><img src="{{ url('static/images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p>
60 <h3>NetBSD</h3> 146 <h3>NetBSD</h3>
61 </div> 147 </div>
@@ -77,6 +163,6 @@
77 <p><a href="https://wiki.gentoo.org/wiki/Overlay:Youbroketheinternet"><img alt="gentoo linux" src ="{{ url('static/images/gentoo-logo.svg') }}" class="distro-logo" style="width:170px;height:auto"></a></p> 163 <p><a href="https://wiki.gentoo.org/wiki/Overlay:Youbroketheinternet"><img alt="gentoo linux" src ="{{ url('static/images/gentoo-logo.svg') }}" class="distro-logo" style="width:170px;height:auto"></a></p>
78 </div> 164 </div>
79 </div> 165 </div>
80 166-->
81</article> 167</article>
82{% endblock body_content %} 168{% endblock body_content %}
diff --git a/www.yml b/www.yml
index cd544fae..ba0e42e0 100644
--- a/www.yml
+++ b/www.yml
@@ -55,6 +55,7 @@ meetingnotes:
55 2016: 2016-12-28 55 2016: 2016-12-28
56 2017: 2017-12-27 56 2017: 2017-12-27
57 2018: 2018-12-27 57 2018: 2018-12-27
58 2019: 2019-12-27
58newsposts: 59newsposts:
59 - page: 2020-01-0.12.2.html 60 - page: 2020-01-0.12.2.html
60 date: 2020-01-13 61 date: 2020-01-13
@@ -173,6 +174,20 @@ newsposts:
173# <!-- FIXME 2013: no media link. <li>Roger Dingledine and Jacob Appelbaum, "Q &amp; A", Technische Universität München (<a href="https://archive.org/details/RogerDingledineAndJacobAppelbaumQAMarathon" download>download</a>)</li> --> 174# <!-- FIXME 2013: no media link. <li>Roger Dingledine and Jacob Appelbaum, "Q &amp; A", Technische Universität München (<a href="https://archive.org/details/RogerDingledineAndJacobAppelbaumQAMarathon" download>download</a>)</li> -->
174# <!-- FIXME 2013: no source link on web. <li>Maximilian Szengel, <a href="">"Decentralized Evaluation of Regular Expressions for Capability Discovery in Peer-to-Peer Networks"</a>, Technische Universität München</li> --> 175# <!-- FIXME 2013: no source link on web. <li>Maximilian Szengel, <a href="">"Decentralized Evaluation of Regular Expressions for Capability Discovery in Peer-to-Peer Networks"</a>, Technische Universität München</li> -->
175videoslist: 176videoslist:
177 - year: 2020
178 authors:
179 - "Martin Schanzenbach"
180 location: "FOSDEM20"
181 description: "GNUnet presented at the Decentralized Internet and Privacy devroom at FOSDEM20 in 2020."
182 name: "GNUnet at FOSDEM20"
183 sources:
184 - "https://git.gnunet.org/gnunet-videos-2020.git/plain/FOSDEM20/dip_gnunet.webm"
185 mirror_sources:
186 - "https://video.fosdem.org/2020/UA2.220/dip_gnunet.webm"
187 - "https://video.fosdem.org/2020/UA2.220/dip_gnunet.mp4"
188 slides:
189 - "https://git.gnunet.org/presentations.git/plain/fosdem20/20200202_fosdem20_gnunet.pdf"
190 comment:
176 - year: 2019 191 - year: 2019
177 authors: 192 authors:
178 - "Martin Schanzenbach" 193 - "Martin Schanzenbach"