aboutsummaryrefslogtreecommitdiff
path: root/template
diff options
context:
space:
mode:
Diffstat (limited to 'template')
-rw-r--r--template/about.html.j212
-rw-r--r--template/applications.html.j28
-rw-r--r--template/architecture.html.j289
-rw-r--r--template/engage.html.j212
-rw-r--r--template/ev.html.j28
-rw-r--r--template/faq.html.j21059
-rw-r--r--template/gnurl.html.j26
-rw-r--r--template/gsoc.html.j2153
-rw-r--r--template/index.html.j261
-rw-r--r--template/install-on-debian9.html.j22
-rw-r--r--template/install-on-macos.html.j22
-rw-r--r--template/install.html.j226
-rw-r--r--template/livingstandards.html.j227
-rw-r--r--template/news/2011-11-24-archived-vfork.html.j262
-rw-r--r--template/news/2013-11-15-special-use-gns.html.j214
-rw-r--r--template/news/2013-12-28-archived-typos-pkeys.html.j216
-rw-r--r--template/news/2018-06.html.j2108
-rw-r--r--template/news/2018-07.html.j27
-rw-r--r--template/news/2019-0.11.0.html.j272
-rw-r--r--template/news/2019-0.11.1.html.j255
-rw-r--r--template/news/2019-0.11.2.html.j255
-rw-r--r--template/news/2019-0.11.3.html.j252
-rw-r--r--template/news/2019-0.11.4.html.j250
-rw-r--r--template/news/2019-0.11.5.html.j247
-rw-r--r--template/news/2019-0.11.6.html.j252
-rw-r--r--template/news/2019-0.11.7.html.j256
-rw-r--r--template/news/2019-0.11.8.html.j247
-rw-r--r--template/news/2019-0.12.0.html.j285
-rw-r--r--template/news/2019-0.12.1.html.j226
-rw-r--r--template/news/2019-02.html.j275
-rw-r--r--template/news/2019-06-DSTJ.html.j214
-rw-r--r--template/news/2019-06.html.j27
-rw-r--r--template/news/2019-07-GHM_Aug_2019.html.j27
-rw-r--r--template/news/2019-10-GNSSpec1.html.j219
-rw-r--r--template/news/2019-10-ICANNPanel.html.j213
-rw-r--r--template/news/2019-11-ICANNUpdate.html.j210
-rw-r--r--template/news/2019-12-UpcomingTalks.html.j273
-rw-r--r--template/news/2020-01-0.12.2.html.j271
-rw-r--r--template/news/2020-01-GNSSpec2.html.j228
-rw-r--r--template/news/2020-05-GHM_Jun_2020.html.j28
-rw-r--r--template/news/2020-06-GNSSpec3.html.j225
-rw-r--r--template/news/2020-07-0.13.0.html.j2103
-rw-r--r--template/news/2020-07-0.13.1.html.j229
-rw-r--r--template/news/2020-08-0.13.2.html.j258
-rw-r--r--template/news/2020-09-0.13.3.html.j251
-rw-r--r--template/news/2020-11-0.14.0.html.j281
-rw-r--r--template/news/2020-11-GNSSpec4.html.j245
-rw-r--r--template/news/2021-03-0.14.1.html.j248
-rw-r--r--template/news/2021-03-gsoc-update.html.j213
-rw-r--r--template/news/2021-05-DISSENS.html.j267
-rw-r--r--template/news/index.html.j257
-rw-r--r--template/news/oldnews-2011.html.j25
-rw-r--r--template/news/oldnews-2013.html.j25
-rw-r--r--template/news/oldnews-2018.html.j25
-rw-r--r--template/news/oldnews-2019.html.j25
-rw-r--r--template/reclaim/faq.html.j226
-rw-r--r--template/reclaim/idps.html.j230
-rw-r--r--template/reclaim/index.html.j2102
-rw-r--r--template/reclaim/motivation.html.j234
-rw-r--r--template/reclaim/tech.html.j2115
-rw-r--r--template/reclaim/users.html.j240
-rw-r--r--template/reclaim/websites.html.j245
-rw-r--r--template/roadmap.html.j265
-rw-r--r--template/rss.xml.j246
-rw-r--r--template/use.html.j24
65 files changed, 3461 insertions, 237 deletions
diff --git a/template/about.html.j2 b/template/about.html.j2
index be9a7298..5dee5c2c 100644
--- a/template/about.html.j2
+++ b/template/about.html.j2
@@ -115,7 +115,7 @@
115 {% endtrans %} 115 {% endtrans %}
116 <br> 116 <br>
117 <a href="https://nlnet.nl/">NLnet Foundation</a><br> 117 <a href="https://nlnet.nl/">NLnet Foundation</a><br>
118 <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo"> 118 <img src="{{ url('images/nlnet_logo.gif') }}" alt="NLnet logo">
119 </p> 119 </p>
120 </li> 120 </li>
121 <li> 121 <li>
@@ -132,7 +132,7 @@
132 {% endtrans %} 132 {% endtrans %}
133 <br> 133 <br>
134 <a href="https://wiki.geant.org/display/NGITrust/">GEANT NGI TRUST</a><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"> 135 <img style="width: 35%" src="{{ url('images/ngi_trust.png') }}" alt="NGI TRUST logo">
136 </p> 136 </p>
137 </li> 137 </li>
138 138
@@ -156,25 +156,25 @@
156 <li> 156 <li>
157 <p> 157 <p>
158 <a href="https://renewablefreedom.org/">Renewable Freedom Foundation / Stiftung Erneuerbare Freiheit</a><br> 158 <a href="https://renewablefreedom.org/">Renewable Freedom Foundation / Stiftung Erneuerbare Freiheit</a><br>
159 <img src="{{ url('static/images/rff_logo.png') }}" alt="RFF logo"> 159 <img src="{{ url('images/rff_logo.png') }}" alt="RFF logo">
160 </p> 160 </p>
161 </li> 161 </li>
162 <li> 162 <li>
163 <p> 163 <p>
164 <a href="https://cordis.europa.eu/fp7/">European Commission (FP7)</a><br> 164 <a href="https://cordis.europa.eu/fp7/">European Commission (FP7)</a><br>
165 <img src="{{ url('static/images/fp7_logo.jpg') }}" alt="FP7 logo"> 165 <img src="{{ url('images/fp7_logo.jpg') }}" alt="FP7 logo">
166 </p> 166 </p>
167 </li> 167 </li>
168 <li> 168 <li>
169 <p> 169 <p>
170 <a href="http://www.dfg.de/">Deutsche Forschungsgemeinschaft</a><br> 170 <a href="http://www.dfg.de/">Deutsche Forschungsgemeinschaft</a><br>
171 <img src="{{ url('static/images/dfg_logo.gif') }}" alt="DFG logo"> 171 <img src="{{ url('images/dfg_logo.gif') }}" alt="DFG logo">
172 </p> 172 </p>
173 </li> 173 </li>
174 <li> 174 <li>
175 <p> 175 <p>
176 <a href="https://nlnet.nl/">NLnet Foundation</a><br> 176 <a href="https://nlnet.nl/">NLnet Foundation</a><br>
177 <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo"> 177 <img src="{{ url('images/nlnet_logo.gif') }}" alt="NLnet logo">
178 </p> 178 </p>
179 </li> 179 </li>
180 </ul> 180 </ul>
diff --git a/template/applications.html.j2 b/template/applications.html.j2
index 43b0dd2f..f1f0e30f 100644
--- a/template/applications.html.j2
+++ b/template/applications.html.j2
@@ -19,7 +19,7 @@
19 hierarchy, GNS uses a directed graph. Naming conventions 19 hierarchy, GNS uses a directed graph. Naming conventions
20 are similar to DNS, but queries and replies are private even 20 are similar to DNS, but queries and replies are private even
21 with respect to peers providing the answers. The integrity of 21 with respect to peers providing the answers. The integrity of
22 records and privacy of look-ups is cryptographically secured. 22 records and privacy of look-ups are cryptographically secured.
23 <!-- Too technical: GNS integrates 23 <!-- Too technical: GNS integrates
24 a robust, efficient and instant key revocation mechanism. --> 24 a robust, efficient and instant key revocation mechanism. -->
25 {% endtrans %} 25 {% endtrans %}
@@ -37,8 +37,8 @@
37 <section> 37 <section>
38 <h3>{{ _("Self-sovereign, decentralized identity provider") }}</h3> 38 <h3>{{ _("Self-sovereign, decentralized identity provider") }}</h3>
39 <p> 39 <p>
40 <a href="{{ url_localized('reclaim/index.html') }}">re:claimID</a>
40 {% trans %} 41 {% trans %}
41 <a href="https://reclaim.gnunet.org/">re:claimID</a>
42 is a decentralized Identity Provider (IdP) service built in top of the 42 is a decentralized Identity Provider (IdP) service built in top of the
43 GNU Name System. It allows users to securely share personal information 43 GNU Name System. It allows users to securely share personal information
44 with websites using standardized protocols (OpenID Connect). 44 with websites using standardized protocols (OpenID Connect).
@@ -162,7 +162,7 @@
162 {% trans %} 162 {% trans %}
163 <a href="https://gitlab.com/gnunet-messenger/cadet-gtk">Cadet-GTK</a> 163 <a href="https://gitlab.com/gnunet-messenger/cadet-gtk">Cadet-GTK</a>
164 is a convenient but feature-rich graphical application 164 is a convenient but feature-rich graphical application
165 providing messaging using especially the CADET subsystem. It is 165 providing messaging using the CADET subsystem. It is
166 developed using GTK and libhandy for a convergent design. 166 developed using GTK and libhandy for a convergent design.
167 {% endtrans %} 167 {% endtrans %}
168 </p> 168 </p>
@@ -181,7 +181,7 @@
181 <p> 181 <p>
182 {% trans %} 182 {% trans %}
183 <a href="https://git.gnunet.org/groupchat.git/">groupchat</a> 183 <a href="https://git.gnunet.org/groupchat.git/">groupchat</a>
184 is a terminal user interface providing messaging using especially the CADET subsystem. It is 184 is a terminal user interface providing messaging using the CADET subsystem. It is
185 developed using nim. Cadet-GTK and groupchat are planned to be compatible. 185 developed using nim. Cadet-GTK and groupchat are planned to be compatible.
186 {% endtrans %} 186 {% endtrans %}
187 </p> 187 </p>
diff --git a/template/architecture.html.j2 b/template/architecture.html.j2
index e7d62c08..04067749 100644
--- a/template/architecture.html.j2
+++ b/template/architecture.html.j2
@@ -9,42 +9,7 @@
9 <div class="container"> 9 <div class="container">
10 <div class="row"> 10 <div class="row">
11 <div class="col-10"> 11 <div class="col-10">
12 <img class="img-fluid border rounded" src="../static/images/gnunet-arch-full.svg"> 12 <img class="img-fluid" src="../static/images/arch.png">
13 </div>
14 <div class="col-2 d-none d-sm-block">
15 <h4>{{ _("Legend") }}:</h4>
16 <dl>
17 <dt>house</dt>
18 <dd>application</dd>
19 </dl>
20 <dl>
21 <dt>circle</dt>
22 <dd>application</dd>
23 </dl>
24 <dl>
25 <dt>box</dt>
26 <dd>daemon</dd>
27 </dl>
28 <dl>
29 <dt>diamond</dt>
30 <dd>library</dd>
31 </dl>
32 <dl>
33 <dt>blackline</dt>
34 <dd>dependency</dd>
35 </dl>
36 <dl>
37 <dt>blue line</dt>
38 <dd>extension via plugin</dd>
39 </dl>
40 <dl>
41 <dt>red line</dt>
42 <dd>possibly useful</dd>
43 </dl>
44 <dl>
45 <dt>dashed</dt>
46 <dd>in planning</dd>
47 </dl>
48 </div> 13 </div>
49 </div> 14 </div>
50 </div> 15 </div>
@@ -60,7 +25,7 @@
60 messaging layer (CADET), a public key infrastructure 25 messaging layer (CADET), a public key infrastructure
61 (GNS) and a pluggable transport system (TRANSPORT).<br> 26 (GNS) and a pluggable transport system (TRANSPORT).<br>
62 Using public keys for addresses 27 Using public keys for addresses
63 and self-organized decentralized routing algorithms, 28 and self-organizing decentralized routing algorithms,
64 these subsystems replace the traditional TCP/IP stack. 29 these subsystems replace the traditional TCP/IP stack.
65 {% endtrans %} 30 {% endtrans %}
66 </p> 31 </p>
@@ -73,7 +38,7 @@
73 {% trans %} 38 {% trans %}
74 GNUnet is implemented using a multi-process architecture. 39 GNUnet is implemented using a multi-process architecture.
75 Each subsystem runs as a separate process, providing 40 Each subsystem runs as a separate process, providing
76 fault-isolation and enabling tight permissions to be 41 fault isolation and enabling tight permissions to be
77 granted to each subsystem. Naturally, the 42 granted to each subsystem. Naturally, the
78 implementation is a <a href="https://www.gnu.org/">GNU</a> 43 implementation is a <a href="https://www.gnu.org/">GNU</a>
79 package, and will always remain free software. 44 package, and will always remain free software.
@@ -86,13 +51,13 @@
86 <div class="col-md"> 51 <div class="col-md">
87 <h2>{{ _("System architecture") }}</h2> 52 <h2>{{ _("System architecture") }}</h2>
88 <p> 53 <p>
89 Read more about the system architecure in the respective section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#System-Architecture" target="_blank">handbook</a>. 54 Read more about the system architecture in the corresponding section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#System-Architecture" target="_blank">handbook</a>.
90 </p> 55 </p>
91 </div> 56 </div>
92 <div class="col-md"> 57 <div class="col-md">
93 <h2>{{ _("Subsystems") }}</h2> 58 <h2>{{ _("Subsystems") }}</h2>
94 <p> 59 <p>
95 Read more about the subsystems (or GNUnet services) in the respective section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#Code-overview" target="_blank">handbook</a>. 60 Read more about the subsystems (or GNUnet services) in the corresponding section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#Code-overview" target="_blank">handbook</a>.
96 </p> 61 </p>
97 </div> 62 </div>
98 </div> 63 </div>
@@ -107,11 +72,53 @@
107 <div class="col-md"> 72 <div class="col-md">
108 <h2>{{ _("APIs") }}</h2> 73 <h2>{{ _("APIs") }}</h2>
109 <p> 74 <p>
110 GNUnet offers variaty of APIs for <a href="https://docs.gnunet.org/handbook/gnunet.html#Interprocess-communication-API-_0028IPC_0029" target="_blank">accessing services</a> (using IPC), <a href="https://docs.gnunet.org/handbook/gnunet.html#Service-API">running services</a>, <a href="https://docs.gnunet.org/handbook/gnunet.html#Message-Queue-API">message queues</a>, or <a href="https://docs.gnunet.org/handbook/gnunet.html#Cryptography-API" target="_blank">cryptographic operations</a>. 75 GNUnet offers a variety of APIs for <a href="https://docs.gnunet.org/handbook/gnunet.html#Interprocess-communication-API-_0028IPC_0029" target="_blank">accessing services</a> (using IPC), <a href="https://docs.gnunet.org/handbook/gnunet.html#Service-API">running services</a>, <a href="https://docs.gnunet.org/handbook/gnunet.html#Message-Queue-API">message queues</a>, or <a href="https://docs.gnunet.org/handbook/gnunet.html#Cryptography-API" target="_blank">cryptographic operations</a>.
111 </p> 76 </p>
112 </div> 77 </div>
113 </div> 78 </div>
114 </div> 79 </div>
80 <div class="container">
81 <div class="row">
82 <div class="col-10">
83 <img class="img-fluid border rounded" src="../static/images/gnunet-arch-full.svg">
84 </div>
85 <div class="col-2 d-none d-sm-block">
86 <h4>{{ _("Legend") }}:</h4>
87 <dl>
88 <dt>house</dt>
89 <dd>application</dd>
90 </dl>
91 <dl>
92 <dt>circle</dt>
93 <dd>application</dd>
94 </dl>
95 <dl>
96 <dt>box</dt>
97 <dd>daemon</dd>
98 </dl>
99 <dl>
100 <dt>diamond</dt>
101 <dd>library</dd>
102 </dl>
103 <dl>
104 <dt>blackline</dt>
105 <dd>dependency</dd>
106 </dl>
107 <dl>
108 <dt>blue line</dt>
109 <dd>extension via plugin</dd>
110 </dl>
111 <dl>
112 <dt>red line</dt>
113 <dd>possibly useful</dd>
114 </dl>
115 <dl>
116 <dt>dashed</dt>
117 <dd>in planning</dd>
118 </dl>
119 </div>
120 </div>
121 </div>
115 122
116</article> 123</article>
117{% endblock body_content %} 124{% endblock body_content %}
diff --git a/template/engage.html.j2 b/template/engage.html.j2
index 000396ab..5bbaf9f3 100644
--- a/template/engage.html.j2
+++ b/template/engage.html.j2
@@ -26,14 +26,14 @@
26 </p> 26 </p>
27 <h4>Mumble</h4> 27 <h4>Mumble</h4>
28 <p> 28 <p>
29 We have a monthly get-together on mumble where we talk about recent developments, strategies, and politics.<br> 29 We have a monthly get-together on Mumble where we talk about recent developments, strategies, and politics.<br>
30 We come together on that day of the month, where n.day==n.month. E.g. we’ll meet on 6th of June, 7th of July, 8th of August, 9th of September, 10th of October and so on. We will usually start around 8 PM CEST, but try to be there earlier and stay longer just to hang around together.<br> 30 We come together on that day of the month, where n.day==n.month. E.g. we’ll meet on 6th of June, 7th of July, 8th of August, 9th of September, 10th of October and so on. We will usually start around 8 PM CEST, but try to be there earlier and stay longer just to hang around together.<br>
31 To connect just enter "gnunet.org" as server into your mumble client; leave everything else as default. 31 To connect just enter "gnunet.org" as server into your Mumble client; leave everything else as default.
32 </p> 32 </p>
33 </p> 33 </p>
34 <h4>PSYC</h4> 34 <h4>PSYC</h4>
35 <p> 35 <p>
36 You find some of us on PSYC using the following adresses: 36 You find some of us on PSYC using the following adresses:
37 <ul> 37 <ul>
38 <li>psyc://loupsycedyglgamf.onion/@welcome</li> 38 <li>psyc://loupsycedyglgamf.onion/@welcome</li>
39 <li>irc://loupsycedyglgamf.onion:67/welcome</li> 39 <li>irc://loupsycedyglgamf.onion:67/welcome</li>
@@ -46,7 +46,7 @@
46 <div class="col-md"> 46 <div class="col-md">
47 <h2>Install GNUnet!</h2> 47 <h2>Install GNUnet!</h2>
48 <p> 48 <p>
49 Another thing you might want now is your own GNUnet installation. As we haven’t packaged the new versions yet (June 2019) we provide <a href="https://gnunet.org/en/install.html">some tutorials how to install step-by-step</a>. 49 Another thing you might want now is your own GNUnet installation. As we haven’t packaged the new versions yet (as of June 2019) we provide <a href="https://gnunet.org/en/install.html">some tutorials how to install step-by-step</a>.
50 </p> 50 </p>
51 <h2>Use GNUnet!</h2> 51 <h2>Use GNUnet!</h2>
52 <p> 52 <p>
@@ -62,8 +62,8 @@
62 <li>If you do not want to use the public bug tracker, you can also eMail to bug-gnunet@gnu.org.</li> 62 <li>If you do not want to use the public bug tracker, you can also eMail to bug-gnunet@gnu.org.</li>
63 <li>Please inform us if your operating system or package manager applies any vendor changes to GNUnet which you know about (to exclude potential problems introduced by third parties).</li> 63 <li>Please inform us if your operating system or package manager applies any vendor changes to GNUnet which you know about (to exclude potential problems introduced by third parties).</li>
64 <li>Wait until your bug report is acknowledged/replied to. Note that only volunteers work on this, responses may take a while.</li> 64 <li>Wait until your bug report is acknowledged/replied to. Note that only volunteers work on this, responses may take a while.</li>
65 <li>Please follow up with eventual questions about the bug. </li> 65 <li>Please follow up on any questions about the bug.</li>
66 <li>Once a fix is there: Check if it&#39;s working as expected, so that we can properly close the bug report and/or give you credits :)</li> 66 <li>Once a fix is there: Check if it&#39;s working as expected, so that we can properly close the bug report and/or give you credit :)</li>
67 </ul> 67 </ul>
68 <h2>Contribute!</h2> 68 <h2>Contribute!</h2>
69 <p> 69 <p>
diff --git a/template/ev.html.j2 b/template/ev.html.j2
index fac71cab..d35480f4 100644
--- a/template/ev.html.j2
+++ b/template/ev.html.j2
@@ -40,7 +40,7 @@
40 to support GNUnet e.V. and in particularly contribute to the 40 to support GNUnet e.V. and in particularly contribute to the
41 technical development within their means. For further 41 technical development within their means. For further
42 details, we refer to the 42 details, we refer to the
43 <a href="https://git.gnunet.org/gnunet-ev.git/">Satzung</a> 43 <a href="https://git.gnunet.org/gnunet-ev.git/">Satzung (Charter)</a>
44 (currently only available in German, translations welcome). 44 (currently only available in German, translations welcome).
45 {% endtrans %} 45 {% endtrans %}
46 </p> 46 </p>
@@ -52,18 +52,18 @@
52 <h3>{{ _("Governance") }}</h3> 52 <h3>{{ _("Governance") }}</h3>
53 <p> 53 <p>
54 {% trans %} 54 {% trans %}
55 You can find our "Satzung", and the list of members under 55 You can find our charter, and the list of members under
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://schanzen.eu">Martin Schanzenbach</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><a href="https://grothoff.org/christian/">Christian Grothoff</a></dd> 61 <dd>t3sserakt</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> 65 <dd>
66 Hartmut Goebel, DVN 66 <a href="https://grothoff.org/christian/">Christian Grothoff</a>, ch3
67 </dd> 67 </dd>
68 </dl> 68 </dl>
69 {% endtrans %} 69 {% endtrans %}
diff --git a/template/faq.html.j2 b/template/faq.html.j2
index f23a9d7a..67811b52 100644
--- a/template/faq.html.j2
+++ b/template/faq.html.j2
@@ -3,63 +3,1012 @@
3<div class="container-fluid"> 3<div class="container-fluid">
4 <div class="container text-center"> 4 <div class="container text-center">
5 <h1>FAQs<h1> 5 <h1>FAQs<h1>
6 <h2><i>This page is a work-in-progress</i></h2>
7 </div>
8 </div> 6 </div>
7</div>
9<div class="container"> 8<div class="container">
10 <article> 9 <div class="row">
11 <section> 10 <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation -->
12 <h3>{{ _("Is GNUnet ready for use on production systems?") }}</h3> 11 <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed">
13 <p> 12 <a class="nav-link" href="#general">{{ _("General") }}</a>
14 {% trans %} 13 <a class="nav-link" href="#features">{{ _("Features") }}</a>
15 A: GNUnet is still undergoing major development. It is largely not yet ready 14 <a class="nav-link" href="#gns">GNU Name System</a>
16 for usage beyond developers. Your mileage will vary depending on the 15 <a class="nav-link" href="#errors">{{ _("Error messages") }}</a>
17 functionality you use, but you will always likely run into issues with 16 <a class="nav-link" href="#fs">{{ _("File-sharing") }}</a>
18 our current low-level transport system. We are currently in the process of 17 <a class="nav-link" href="#contrib">{{ _("Contributing") }}</a>
19 rewriting it (Project &quot;Transport Next Generation [TNG]&quot;) 18 </nav>
20 {% endtrans %} 19 </div>
21 </p> 20
22 </section> 21 <div class="col">
23 <section> 22 <article>
24 <h3>{{ _("Is GNUnet build using distributed ledger technologies?") }}</h3> 23 <h2><a name="general" class="subnav-anchor"></a>{{ _("General") }}</h2>
25 <p> 24 General questions about the project.
26 {% trans %} 25 <section>
27 A: No. GNUnet is a new network protocol stack for building secure, 26 <h3>{{ _("What do I do if my question is not answered here?") }}</h3>
28 distributed, and privacy-preserving applications. 27 <p>
29 While a ledger could be built using GNUnet, we currently have no plans in 28 {% trans %}
30 doing so. 29 A: There are many other sources of information. You can read additional
31 {% endtrans %} 30 documentation or ask the question on the help-gnunet@gnu.org mailing list or
32 </p> 31 the #gnunet IRC on irc.freenode.net.
33 </section> 32 {% endtrans %}
34 <section> 33 </p>
35 <h3>{{ _("I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. Should I worry?") }}</h3> 34 </section>
36 <p> 35 <section>
37 {% trans %} 36 <h3>{{ _("When are you going to release the next version?") }}</h3>
38 A: Right now, this is expected and a known cause for high 37 <p>
39 latency in GNUnet. We have started a major rewrite to address 38 {% trans %}
40 this and other problems, but until the Transport Next 39 A: The general answer is, when it is ready. A better answer may be: earlier
41 Generation (TNG) is ready, these warnings are expected. 40 if you contribute (test, debug, code, document). Every release will be
42 {% endtrans %} 41 anounced on the info-gnunet@gnu.org mailing list and on
43 </p> 42 <a href="https://planet.gnu.org">planet GNU</a>. You can subscribe to the
44 </section> 43 mailing list or the RSS feed of this site to automatically receive a
45 <section> 44 notification.
46 <h3>{{ _("Is there a graphical user interface?") }}</h3> 45 {% endtrans %}
47 <p> 46 </p>
48 {% trans %} 47 </section>
49 A: gnunet-gtk is a separate download. The package 48 <section>
50 contains various GTK+ based graphical interfaces, including a 49 <h3>{{ _("Is the code free?") }}</h3>
51 graphical tool for configuration. 50 <p>
52 {% endtrans %} 51 {% trans %}
53 </p> 52 A: GNUnet is free software, available under the
54 </section> 53 <a href="https://www.gnu.org/licenses/agpl-3.0.en.html">GNU Affero Public License (AGPL)</a>.
55 </article> 54 {% endtrans %}
56<!-- 55 </p>
57<h2>{{ ("Q?") }}</h2> 56 </section>
58 57 <section>
59<h2>{{ ("Q?") }}</h2> 58 <h3>{{ _("Are there any known bugs?") }}</h3>
60 59 <p>
61<h2>{{ ("Q?") }}</h2> 60 {% trans %}
62--> 61 A: We track the list of currently known bugs in the
62 <a href="https://bugs.gnunet.org/">Mantis system</a>.
63
64 Some bugs are occasionally reported directly to developers or the developer
65 mailing list. This is discouraged since developers often do not have the time
66 to feed these bugs back into the Mantis database. Please report bugs directly
67 to the bug tracking system. If you believe a bug is sensitive, you can set its
68 view status to private (this should be the exception).
69 {% endtrans %}
70 </p>
71 </section>
72 <section>
73 <h3>{{ _("Is there a graphical user interface?") }}</h3>
74 <p>
75 {% trans %}
76 A: gnunet-gtk is a separate download. The package
77 contains various GTK+ based graphical interfaces, including a
78 graphical tool for configuration.
79 {% endtrans %}
80 </p>
81 </section>
82 <section>
83 <h3>{{ _("Why does gnunet-service-nse create a high CPU load?") }}</h3>
84 <p>
85 {% trans %}
86 A: The gnunet-service-nse process will initially compute a so-called
87 &quot;proof-of-work&quot; which is used to convince the network that your
88 peer is real (or, rather, make it expensive for an adversary to mount a Sybil
89 attack on the network size estimator). The calculation is expected to take a
90 few days, depending on how fast your CPU is. If the CPU load is creating a
91 problem for you, you can set the value &quot;WORKDELAY&quot; in the
92 &quot;nse&quot; section of
93 your configuration file to a higher value. The default is &quot;5 ms&quot;.
94 {% endtrans %}
95 </p>
96 </section>
97
98 <section>
99 <h3>{{ _("How does GNUnet compare to Tor?") }}</h3>
100 <p>
101 {% trans %}
102 A: Tor focuses on anonymous communication and censorship-resistance for TCP
103 connections and, with the Tor Browser Bundle, for the Web in particular.
104 GNUnet does not really have one focus; our theme is secure decentralized
105 networking, but that is too broad to be called a focus.
106 {% endtrans %}
107 </p>
108 </section>
109
110 <section>
111 <h3>{{ _("How does GNUnet compare to I2P?") }}</h3>
112 <p>
113 {% trans %}
114 A: Both GNUnet and I2P want to build a better, more secure, more decentralized
115 Internet. However, on the technical side, there are almost no overlaps.
116 <br><br>
117 I2P is written in Java, and has (asymmetric) tunnels using onion (or garlic)
118 routing as the basis for various (anonymized) applications. I2P is largely used
119 via a Web frontend.
120 {% endtrans %}
121 </p>
122 </section>
123 <section>
124 <h3>{{ _("Is GNUnet ready for use on production systems?") }}</h3>
125 <p>
126 {% trans %}
127 A: GNUnet is still undergoing major development. It is largely not yet ready
128 for usage beyond developers. Your mileage will vary depending on the
129 functionality you use, but you will always likely run into issues with
130 our current low-level transport system. We are currently in the process of
131 rewriting it (Project &quot;Transport Next Generation [TNG]&quot;)
132 {% endtrans %}
133 </p>
134 </section>
135 <section>
136 <h3>{{ _("Is GNUnet build using distributed ledger technologies?") }}</h3>
137 <p>
138 {% trans %}
139 A: No. GNUnet is a new network protocol stack for building secure,
140 distributed, and privacy-preserving applications.
141 While a ledger could be built using GNUnet, we currently have no plans in
142 doing so.
143 {% endtrans %}
144 </p>
145 </section>
146
147
148 <hr/>
149 <h2><a name="features" class="subnav-anchor"></a>{{ _("Features") }}</h2>
150 <section>
151 <h3>{{ _("What can I do with GNUnet?") }}</h3>
152 <p>
153 {% trans %}
154 A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can do
155 more than just one thing. Naturally, the implementation and documentation of
156 some of the features that exist are more advanced than others.
157 {% endtrans %}
158 </p>
159 <p>
160 {% trans %}
161 For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully
162 decentralized and censorship-resistant replacement for DNS and a mechanism for
163 IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG).
164 {% endtrans %}
165 See also: <a href="{{ url_localized('applications.html') }}">Applications</a>.
166
167 </p>
168 </section>
169
170 <section>
171 <h3>{{ _("Is it possible to surf the WWW anonymously with GNUnet?") }}</h3>
172 <p>
173 {% trans %}
174 A: It is not possible use GNUnet for anonymous browsing at this point.
175 We recommend that you use Tor for anonymous surfing.
176 {% endtrans %}
177 </p>
178 </section>
179
180 <section>
181 <h3>{{ _("Is it possible to access GNUnet via a browser as an anonymous WWW?") }}</h3>
182 <p>
183 {% trans %}
184 A: There is currently no proxy (like fproxy in Freenet) for GNUnet that would
185 make it accessible via a browser. It is possible to build such a proxy and
186 all one needs to know is the protocol used between the browser and the proxy and
187 the GNUnet code for file-sharing.
188 {% endtrans %}
189 </p>
190 </section>
191
192 <section>
193 <h3>{{ _("Is there a graphical user interface?") }}</h3>
194 <p>
195 {% trans %}
196 A: There are actually a few graphical user interfaces for different functions.
197 gnunet-setup is to configure GNUnet, and gnunet-fs-gtk is for file-sharing.
198 There are a few other gnunet-XXX-gtk GUIs of lesser importance.
199 Note that in order to obtain the GUI, you need to install the gnunet-gtk
200 package, which is a separate download.
201
202 gnunet-gtk is a meta GUI that integrates most of the other GUIs in one window.
203 One exception is gnunet-setup, which must still be run separately at this time
204 (as setup requires the peer to be stopped).
205 {% endtrans %}
206 </p>
207 </section>
208
209 <section>
210 <h3>{{ _("Which operating systems does GNUnet run on?") }}</h3>
211 <p>
212 {% trans %}
213 A: GNUnet is being developed and tested primarily under Debian GNU/Linux.
214 Furthermore, we regularly build and test GNUnet on Fedora, Ubuntu, Arch,
215 FreeBSD and macOS.
216
217 We have reports of working versions on many other GNU/Linux distributions;
218 in the past we had reports of working versions on NetBSD, OpenBSD and Solaris.
219 However, not all of those reports are recent, so if you cannot get GNUnet to
220 work on those systems please let us know.
221 {% endtrans %}
222 </p>
223 </section>
224
225 <hr/>
226 <h2><a name="gns" class="subnav-anchor"></a>GNU Name System</h2>
227 <section>
228 <h3>{{ _("Who runs the GNS root zone?") }}</h3>
229 <p>
230 {% trans %}
231 A: Short answer: you. The long answer is the GNUnet will ship with a
232 default configuration of top-level domains. The governance of this default
233 configuration is not yet established. In any case, the user will be able
234 to modify this configuration at will. We expect normal users to have
235 no need to edit their own GNS zone(s) unless they host services themselves.
236 {% endtrans %}
237 </p>
238 </section>
239
240 <section>
241 <h3>{{ _("Where is the per-user GNS database kept?") }}</h3>
242 <p>
243 {% trans %}
244 A: The short answer is that the database is kept at the user's GNUnet peer.
245 Now, a user may run multiple GNUnet peers, in which case the database could be
246 kept at each peer (however, we don't have code for convenient replication).
247 Similarly, multiple GNUnet peers can share one instance of the database ---
248 the &quot;gnunet-service-namestore&quot; can be accessed from remote
249 (via TCP). The actual data can be stored in a Postgres database, for which
250 various replication options are again applicable. Ultimately, there are many
251 options for how users can store (and secure) their GNS database.
252 {% endtrans %}
253 </p>
254 </section>
255
256
257 <section>
258 <h3>{{ _("What is the expected average size of a GNS namestore database?") }}</h3>
259 <p>
260 {% trans %}
261 A: Pretty small. Based on our user study where we looked at browser histories
262 and the number of domains visited, we expect that GNS databases will only
263 grow to a few tens of thousands of entries, small enough to fit even on mobile
264 devices.
265 {% endtrans %}
266 </p>
267 </section>
268
269 <section>
270 <h3>{{ _("Is GNS resistant to the attacks on DNS used by the US?") }}</h3>
271 <p>
272 {% trans %}
273 A: We believe so, as there is no entity that any government could force to
274 change the mapping for a name except for each individual user (and then the
275 changes would only apply to the names that this user is the authority for).
276 So if everyone used GNS, the only practical attack of a government would be to
277 force the operator of a server to change the GNS records for his server to
278 point elsewhere. However, if the owner of the private key for a zone is
279 unavailable for enforcement, the respective zone cannot be changed and any
280 other zone delegating to this zone will achieve proper resolution.
281 {% endtrans %}
282 </p>
283 </section>
284
285 <section>
286 <h3>{{ _("How does GNS compare to other name systems?") }}</h3>
287 <p>
288 {% trans %}
289 A: A scientific paper on this topic
290 <a href="https://grothoff.org/christian/ns2018.pdf">has been published
291 </a> and below is a table from the publication.
292 For detailed descriptions please refer to the paper.
293 {% endtrans %}
294 <table>
295 <thead>
296 <td></td>
297 <td>MitM manipulation</td>
298 <td>Zone walk</td>
299 <td>Client observation (network)</td>
300 <td>Client observation (operator)</td>
301 <td>Traffic amplification</td>
302 <td>Censorship/legal attacks</td>
303 <td>Ease of migration</td>
304 <thead>
305 <tbody>
306 <tr>
307 <td>DNS</td>
308 <td><i class="fa fa-times"></i></td>
309 <td><i class="fa fa-check"></i></td>
310 <td><i class="fa fa-times"></i></td>
311 <td><i class="fa fa-times"></i></td>
312 <td><i class="fa fa-times"></i></td>
313 <td><i class="fa fa-times"></i></td>
314 <td>+++</td>
315 </tr>
316 <tr>
317 <td>DNSSEC</td>
318 <td><i class="fa fa-check"></i></td>
319 <td><i class="fa fa-times"></i></td>
320 <td><i class="fa fa-times"></i></td>
321 <td><i class="fa fa-times"></i></td>
322 <td><i class="fa fa-times"></i></td>
323 <td><i class="fa fa-times"></i></td>
324 <td>+</td>
325 </tr>
326 <tr>
327 <td>DNSCurve</td>
328 <td><i class="fa fa-check"></i></td>
329 <td><i class="fa fa-check"></i></td>
330 <td><i class="fa fa-check"></i></td>
331 <td><i class="fa fa-times"></i></td>
332 <td><i class="fa fa-times"></i></td>
333 <td><i class="fa fa-times"></i></td>
334 <td>+</td>
335 </tr>
336 <tr>
337 <td>DoT/DoH</td>
338 <td><i class="fa fa-check"></i></td>
339 <td>n/a</td>
340 <td><i class="fa fa-check"></i></td>
341 <td><i class="fa fa-times"></i></td>
342 <td><i class="fa fa-check"></i></td>
343 <td><i class="fa fa-times"></i></td>
344 <td>+</td>
345 </tr>
346 <tr>
347 <td>Confid. DNS</td>
348 <td><i class="fa fa-times"></i></td>
349 <td>n/a</td>
350 <td><i class="fa fa-check"></i></td>
351 <td><i class="fa fa-times"></i></td>
352 <td><i class="fa fa-times"></i></td>
353 <td><i class="fa fa-times"></i></td>
354 <td>++</td>
355 </tr>
356 <tr>
357 <td>Namecoin</td>
358 <td><i class="fa fa-check"></i></td>
359 <td><i class="fa fa-times"></i></td>
360 <td><i class="fa fa-check"></i></td>
361 <td><i class="fa fa-check"></i></td>
362 <td><i class="fa fa-check"></i></td>
363 <td><i class="fa fa-check"></i></td>
364 <td>-</td>
365 </tr>
366 <tr>
367 <td>GNS</td>
368 <td><i class="fa fa-check"></i></td>
369 <td><i class="fa fa-check"></i></td>
370 <td><i class="fa fa-check"></i></td>
371 <td><i class="fa fa-check"></i></td>
372 <td><i class="fa fa-check"></i></td>
373 <td><i class="fa fa-check"></i></td>
374 <td>--</td>
375 </tr>
376 <tr>
377 <td>RAINS</td>
378 <td><i class="fa fa-check"></i></td>
379 <td><i class="fa fa-times"></i></td>
380 <td><i class="fa fa-check"></i></td>
381 <td><i class="fa fa-times"></i></td>
382 <td><i class="fa fa-check"></i></td>
383 <td><i class="fa fa-times"></i></td>
384 <td>--</td>
385 </tr>
386
387 </tbody>
388 </table>
389 </p>
390 </section>
391 <section>
392 <h3>{{ _("What is the difference between GNS and CoDoNS?") }}</h3>
393 <p>
394 {% trans %}
395 A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the
396 authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and
397 there are still registrars that determine who owns a name.
398 <br><br>
399 With GNS, we decentralize the database and also decentralize the
400 responsibility for naming: each user runs their own personal root zone and is
401 thus in complete control of the names they use. GNS also has many additional
402 features (to keep names short and enable migration) which don't even make
403 sense in the context of CoDoNS.
404
405 {% endtrans %}
406 </p>
407 </section>
408
409 <section>
410 <h3>{{ _("What is the difference between GNS and SocialDNS?") }}</h3>
411 <p>
412 {% trans %}
413 A: Like GNS, SocialDNS allows each user to create DNS mappings. However, with
414 SocialDNS the mappings are shared through the social network and subjected to
415 ranking. As the social relationships evolve, names can thus change in
416 surprising ways.
417 <br><br>
418 With GNS, names are primarily shared via delegation, and thus mappings will
419 only change if the user responsible for the name (the authority) manually
420 changes the record.
421 {% endtrans %}
422 </p>
423 </section>
424
425 <section>
426 <h3>{{ _("What is the difference between GNS and ODDNS?") }}</h3>
427 <p>
428 {% trans %}
429 A: ODDNS is primarily designed to bypass the DNS root zone and the TLD
430 registries (such as those for ".com" and ".org"). Instead of using those,
431 each user is expected to maintain a database of (second-level) domains
432 (like "gnu.org") and the IP addresses of the respective name servers.
433 Resolution will fail if the target name servers change IPs.
434 {% endtrans %}
435 </p>
436 </section>
437
438 <section>
439 <h3>{{ _("What is the difference between GNS and Handshake?") }}</h3>
440 <p>
441 {% trans %}
442 A: Handshake is a blockchain-based method for root zone governance.
443 Hence, it does not address the name resolution process itself but
444 delegates resolution into DNS after the initial TLD resolution.
445 Not taking sustainablility considerations into account, Handshake
446 could be used as an additional supporting GNS root zone governance
447 model, but we currently do not have such plans in mind.
448 {% endtrans %}
449 </p>
450 </section>
451
452 <section>
453 <h3>{{ _("What is the difference between GNS and TrickleDNS?") }}</h3>
454 <p>
455 {% trans %}
456 A: TrickleDNS pushes (&quot;critical&quot;) DNS records between DNS resolvers
457 of participating domains to provide &quot;better availability, lower query
458 resolution times, and faster update propagation&quot;. Thus TrickleDNS is
459 focused on defeating attacks on the availability (and performance) of record
460 propagation in DNS, for example via DDoS attacks on DNS root servers.
461 TrickleDNS is thus concerned with how to ensure distribution of authoritative
462 records, and authority remains derived from the DNS hierarchy.
463 {% endtrans %}
464 </p>
465 </section>
466
467 <section>
468 <h3>{{ _("Does GNS require real-world introduction (secure PKEY exchange) in the style of the PGP web of trust?") }}</h3>
469 <p>
470 {% trans %}
471 A: For security, it is well known that an initial trust path between the two
472 parties must exist. However, for applications where this is not required,
473 weaker mechanisms can be used. For example, we have implemented a
474 first-come-first-served (FCFS) authority which allows arbitrary users to
475 register arbitrary names. The key of this authority is included with every
476 GNUnet installation. Thus, any name registered with FCFS is in fact global and
477 requires no further introduction. However, the security of these names
478 depends entirely on the trustworthiness of the FCFS authority.
479 The authority can be queried under the &quot;.pin&quot; TLD.
480 {% endtrans %}
481 </p>
482 </section>
483
484 <section>
485 <h3>{{ _("How can a legitimate domain owner tell other people to not use his name in GNS?") }}</h3>
486 <p>
487 {% trans %}
488 A: Names have no owners in GNS, so there cannot be a &quot;legitimate&quot;
489 domain owner. Any user can claim any name (as his preferred name or
490 &quot;pseudonym&quot;) in his NICK record. Similarly, all other users can
491 choose to ignore this preference and use a name of their choice (or even
492 assign no name) for this user.
493 {% endtrans %}
494 </p>
495 </section>
496
497 <section>
498 <h3>{{ _("Did you consider the privacy implications of making your personal GNS zone visible?") }}</h3>
499 <p>
500 {% trans %}
501 A: Each record in GNS has a flag &quot;private&quot;. Records are shared with
502 other users (via DHT or zone transfers) only if this flag is not set.
503 Thus, users have full control over what information about their zones is made
504 public.
505 {% endtrans %}
506 </p>
507 </section>
508
509 <section>
510 <h3>{{ _("Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?") }}</h3>
511 <p>
512 {% trans %}
513 A: The question presumes that (a) virtual hosting is only necessary because of
514 IPv4 address scarcity, and (b) that LEHOs are only useful in the context of
515 virtual hosting. However, LEHOs are also useful to help with X.509 certificate
516 validation (as they specify for which legacy hostname the certificate should
517 be valid). Also, even with IPv6 fully deployed and &quot;infinite&quot; IP
518 addresses being available, we're not sure that virtual hosting would
519 disappear. Finally, we don't want to have to wait for IPv6 to become
520 commonplace, GNS should work with today's networks.
521 {% endtrans %}
522 </p>
523 </section>
524
525 <section>
526 <h3>{{ _("Why does GNS not use a trust metric or consensus to determine globally unique names?") }}</h3>
527 <p>
528 {% trans %}
529 A: Trust metrics have the fundamental problem that they have thresholds.
530 As trust relationships evolve, mappings would change their meaning as they
531 cross each others thresholds. We decided that the resulting unpredictability
532 of the resolution process was not acceptable. Furthermore, trust and consensus
533 might be easy to manipulate by adversaries.
534 {% endtrans %}
535 </p>
536 </section>
537
538 <section>
539 <h3>{{ _("How do you handle compromised zone keys in GNS?") }}</h3>
540 <p>
541 {% trans %}
542 A: The owner of a private key can create a revocation message. This one can
543 then be flooded throughout the overlay network, creating a copy at all peers.
544 Before using a public key, peers check if that key has been revoked.
545 All names that involve delegation via a revoked zone will then fail to
546 resolve. Peers always automatically check for the existence of a revocation
547 message when resolving names.
548 {% endtrans %}
549 </p>
550 </section>
551
552 <section>
553 <h3>{{ _("Could the signing algorithm of GNS be upgraded in the future?") }}</h3>
554 <p>
555 {% trans %}
556 A: Yes. In our efforts to standardize GNS, we have already modified the protocol
557 to support alternative delegation records.
558 <br>
559 <br>
560 Naturally, deployed GNS implementations would have to be updated to support
561 the new signature scheme. The new scheme can then be run in parallel with
562 the existing system by using a new record type to indicate the use of a
563 different cipher system.
564 {% endtrans %}
565 </p>
566 </section>
567
568 <section>
569 <h3>{{ _("How can a GNS zone maintain several name servers, e.g. for load balancing?") }}</h3>
570 <p>
571 {% trans %}
572 A: We don't expect this to be necessary, as GNS records are stored (and
573 replicated) in the R5N DHT. Thus the authority will typically not be contacted
574 whenever clients perform a lookup. Even if the authority goes (temporarily)
575 off-line, the DHT will cache the records for some time. However, should having
576 multiple servers for a zone be considered truly necessary, the owner of the
577 zone can simply run multiple peers (and share the zone's key and database
578 among them).
579 {% endtrans %}
580 </p>
581 </section>
582
583 <section>
584 <h3>{{ _("Why do you believe it is worth giving up unique names for censorship resistance?") }}</h3>
585 <p>
586 {% trans %}
587 A: The GNU Name system offers an alternative to DNS that is censorship
588 resistant. As with any security mechanism, this comes at a cost (names are not
589 globally unique). To draw a parallel, HTTPS connections use more bandwidth and
590 have higher latency than HTTP connections. Depending on your application,
591 HTTPS may not be worth the cost. However, for users that are experiencing
592 censorship (or are concerned about it), giving up globally unique names may
593 very well be worth the cost. After all, what is a &quot;globally&quot; unique
594 name worth, if it does not resolve?
595 {% endtrans %}
596 </p>
597 </section>
598
599 <section>
600 <h3>{{ _("Why do you say that DNS is 'centralized' and 'distributed'?") }}</h3>
601 <p>
602 {% trans %}
603 A: We say that DNS is 'centralized' because it has a central component /
604 central point of failure --- the root zone and its management by IANA/ICANN.
605 This centralization creates vulnerabilities. For example, the US government
606 was able to reassign the management of the country-TLDs of Afganistan and Iraq
607 during the wars at the beginning of the 21st century.
608 {% endtrans %}
609 </p>
610 </section>
611
612 <section>
613 <h3>{{ _("How does GNS protect against layer-3 censorship?") }}</h3>
614 <p>
615 {% trans %}
616 A: GNS does not directly help with layer-3 censorship, but it does help
617 indirectly in two ways:
618
619 <ol>
620 <li> Many websites today use virtual hosting, so blocking a particular IP
621 address causes much more collateral damage than blocking a DNS name.
622 It thus raises the cost of censorship.</li>
623 <li> Existing layer-3 circumvention solutions (such as Tor) would benefit from
624 a censorship resistant naming system. Accessing Tor's &quot;.onion&quot;
625 namespace currently requires users to use unmemorable cryptographic
626 identifiers. With nicer names, Tor and tor2web-like services would be even
627 easier to use.
628 </ol>
629 {% endtrans %}
630 </p>
631 </section>
632
633 <section>
634 <h3>{{ _("Does GNS work with search engines?") }}</h3>
635 <p>
636 {% trans %}
637 A: GNS creates no significant problems for search engines, as they can use GNS
638 to perform name resolution as well as any normal user. Naturally, while we
639 typically expect normal users to install custom software for name resolution,
640 this is unlikely to work for search engines today. However, the DNS2GNS
641 gateway allows search engines to use DNS to resolve GNS names, so they can
642 still index GNS resources. However, as using DNS2GNS gateways breaks the
643 cryptographic chain of trust, legacy search engines will obviously not obtain
644 censorship-resistant names.
645 {% endtrans %}
646 </p>
647 </section>
648
649 <section>
650 <h3>{{ _("How does GNS compare to the Unmanaged Internet Architecture (UIA)?") }}</h3>
651 <p>
652 {% trans %}
653 A: UIA and GNS both share the same basic naming model, which actually
654 originated with Rivest's SDSI. However, UIA is not concerned about integration
655 with legacy applications and instead focuses on universal connectivity between
656 a user's many machines. In contrast, GNS was designed to interoperate with DNS
657 as much as possible, and to also work as much as possible with the existing
658 Web infrastructure. UIA is not at all concerned about legacy systems (clean
659 slate).
660 {% endtrans %}
661 </p>
662 </section>
663
664 <section>
665 <h3>{{ _("Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?") }}</h3>
666 <p>
667 {% trans %}
668 A: First of all, in GNS you can explicitly see the trust chain, so you know if
669 a name you are resolving belongs to a friend, or a friend-of-a-friend, and can
670 thus decide how much you trust the result. Naturally, the trusted-computing
671 base (TCB) can become arbitrarily large this way --- however, given the name
672 length restriction, for an individual name it is always less than about 128
673 entities.
674 {% endtrans %}
675 </p>
676 </section>
677
678 <section>
679 <h3>{{ _("How does GNS handle SRV/TLSA records where service and protocol are part of the domain name?") }}</h3>
680 <p>
681 {% trans %}
682 A: When GNS splits a domain name into labels for resolution, it detects the
683 &quot;_Service._Proto&quot; syntax, converts &quot;Service&quot; to the
684 corresponding port number and &quot;Proto&quot; to the corresponding protocol
685 number. The rest of the name is resolved as usual. Then, when the result is
686 presented, GNS looks for the GNS-specific &quot;BOX&quot; record type.
687 A BOX record is a record that contains another record (such as SRV or TLSA
688 records) and adds a service and protocol number (and the original boxed record
689 type) to it.
690 {% endtrans %}
691 </p>
692 </section>
693
694 <hr/>
695 <h2><a name="errors" class="subnav-anchor"></a>{{ _("Error messages") }}</h2>
696 <section>
697 <h3>{{ _("I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. Should I worry?") }}</h3>
698 <p>
699 {% trans %}
700 A: Right now, this is expected and a known cause for high
701 latency in GNUnet. We have started a major rewrite to address
702 this and other problems, but until the Transport Next
703 Generation (TNG) is ready, these warnings are expected.
704 {% endtrans %}
705 </p>
706 </section>
707 <section>
708 <h3>{{ _("Error opening `/dev/net/tun': No such file or directory?") }}</h3>
709 <p>
710 {% trans %}
711 A: If you get this error message, the solution is simple. Issue the following
712 commands (as root) to create the required device file
713 {% endtrans %}
714 <code class="block">
715 # mkdir /dev/net<br>
716 # mknod /dev/net/tun c 10 200<br>
717 </code>
718 </p>
719 </section>
720
721 <section>
722 <h3>{{ _("'iptables: No chain/target/match by that name.' (when running gnunet-service-dns)?") }}</h3>
723 <p>
724 {% trans %}
725 A: For GNUnet DNS, your iptables needs to have &quot;owner&quot; match
726 support.
727
728 This is accomplished by having the correct kernel options. Check if your
729 kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or 'm' (and the
730 module is loaded).
731 {% endtrans %}
732 </p>
733 </section>
734
735 <section>
736 <h3>{{ _("'Timeout was reached' when running PT on Fedora (and possibly others)?") }}</h3>
737 <p>
738 {% trans %}
739 A: If you get an error stating that the VPN timeout was reached, check if your
740 firewall is enabled and blocking the connections.
741 {% endtrans %}
742 </p>
743 </section>
744
745 <section>
746 <h3>{{ _("I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'") }}</h3>
747 <p>
748 {% trans %}
749 A: This error usually occurs when your linker fails to locate one of GNUnet's
750 libraries. This can have two causes. First, it is theoretically possible that
751 the library is not installed on your system; however, if you compiled GNUnet
752 the normal way and/or used a binary package, that is highly unlikely. The more
753 common cause is that you installed GNUnet to a directory that your linker
754 does not search. There are several ways to fix this that are described below.
755
756 If you are 'root' and you installed to a system folder (such as /usr/local),
757 you want to add the libraries to the system-wide search path. This is done by
758 adding a line "/usr/local/lib/" to /etc/ld.so.conf and running "ldconfig".
759 If you installed GNUnet to /opt or any other similar path, you obviously have
760 to change "/usr/local" accordingly.
761
762 If you do not have 'root' rights or if you installed GNUnet to say
763 "/home/$USER/", then you can explicitly tell your linker to search a
764 particular directory for libraries using the "LD_LIBRARY_PATH" environment
765 variable. For example, if you configured GNUnet using a prefix of
766 "$HOME/gnunet/" you want to run:
767 {% endtrans %}
768 </p>
769 <code>
770 $ export LD_LIBRARY_PATH=$HOME/gnunet/lib:$LD_LIBRARY_PATH<br>
771 $ export PATH=$HOME/gnunet/bin:$PATH
772 </code>
773 </p>
774 {% trans %}
775 to ensure GNUnet's binaries and libraries are found. In order to avoid having to do so each time, you can add the above lines (without the "$") to your .bashrc or .profile file. You will have to logout and login again to have this new profile be applied to all shells (including your desktop environment).
776 {% endtrans %}
777 </p>
778 </section>
779
780 <section>
781 <h3>{{ _("What error messages can be ignored?") }}</h3>
782 <p>
783 {% trans %}
784 A: Error messages flagged as "DEBUG" should be disabled in binaries
785 built for end-users and can always be ignored.
786
787 Error messages flagged as "INFO" always refer to harmless events that
788 require no action. For example, GNUnet may use an INFO message to
789 indicate that it is currently performing an expensive operation that
790 will take some time. GNUnet will also use INFO messages to display
791 information about important configuration values.
792 {% endtrans %}
793 </p>
794 </section>
795
796 <hr/>
797 <h2><a name="fs" class="subnav-anchor"></a>{{ _("File-sharing")}}</h2>
798 <section>
799 <h3>{{ _("How does GNUnet compare to other file-sharing applications?") }}</h3>
800 <p>
801 {% trans %}
802 A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most
803 other P2P networks, GNUnet was designed with security in mind as the
804 highest priority. We intend on producing a network with comprehensive
805 security features. Many other P2P networks are open to a wide variety
806 of attacks, and users have little privacy. GNUnet is also Free
807 Software and thus the source code is available, so you do not have to
808 worry about being spied upon by the software. The following table
809 summarises the main differences between GNUnet and other systems.
810 The information is accurate to the best of our knowledge.
811 The comparison is difficult since there are sometimes differences
812 between various implementations of (almost) the same protocol.
813 In general, we pick a free implementation as the reference
814 implementation since it is possible to inspect the free code. Also,
815 all of these systems are changing over time and thus the data below
816 may not be up-to-date. If you find any flaws, please let us know.
817 Finally, the table is not saying terribly much (it is hard to compare
818 these systems this briefly), so if you want the real differences, read
819 the research papers (and probably the code).
820 {% endtrans %}
821 </p>
822 <table width="90%" border="0" cellpadding="0" cellspacing="0"><tbody><tr><th >Network</th>
823 <th ><a>GNUnet FS</a></th>
824 <th ><a>OneSwarm</th>
825 <th ><a>Napster</th>
826 <th ><a>Direct Connect</th>
827 <th ><a>FastTrack</th>
828 <th ><a>eDonkey</th>
829 <th ><a>Gnutella</th>
830 <th ><a>Freenet</th>
831 </tr><tr><th >Distributed Queries</th>
832 <td >yes</td>
833 <td >yes</td>
834 <td >no</td>
835 <td >hubs</td>
836 <td >super-peers</td>
837 <td >DHT (eMule)</td>
838 <td >yes</td>
839 <td >yes</td>
840 </tr><tr><th >Multisource Download</th>
841 <td >yes</td>
842 <td >yes</td>
843 <td >no</td>
844 <td >no</td>
845 <td >yes</td>
846 <td >yes</td>
847 <td >yes</td>
848 <td >no</td>
849 </tr><tr><th >Economics</th>
850 <td >yes</td>
851 <td >yes</td>
852 <td >no</td>
853 <td >no</td>
854 <td >no</td>
855 <td >yes</td>
856 <td >no</td>
857 <td >no</td>
858 </tr><tr><th >Anonymity</th>
859 <td >yes</td>
860 <td >maybe</td>
861 <td >no</td>
862 <td >no</td>
863 <td >no</td>
864 <td >no</td>
865 <td >no</td>
866 <td >yes</td>
867 </tr><tr><th >Language</th>
868 <td >C</td>
869 <td >Java</td>
870 <td >often C</td>
871 <td >C++</td>
872 <td >C</td>
873 <td >C++</td>
874 <td >often C</td>
875 <td >Java</td>
876 </tr><tr><th >Transport Protocol</th>
877 <td >UDP, TCP, SMTP, HTTP</td>
878 <td >TCP</td>
879 <td >TCP</td>
880 <td >TCP?</td>
881 <td >UDP, TCP</td>
882 <td >UDP, TCP</td>
883 <td >TCP</td>
884 <td >TCP</td>
885 </tr><tr><th >Query Format (UI)</th>
886 <td >keywords / CHK</td>
887 <td >filename / SHA?</td>
888 <td >keywords</td>
889 <td >filename, THEX</td>
890 <td >filename, SHA</td>
891 <td >filename, MD4?</td>
892 <td >filename, SHA</td>
893 <td >secret key, CHK</td>
894 </tr><tr><th >Routing</th>
895 <td >dynamic (indirect, direct)</td>
896 <td >static (indirect, direct)</td>
897 <td >always direct</td>
898 <td >always direct</td>
899 <td >always direct</td>
900 <td >always direct</td>
901 <td >always direct</td>
902 <td >always indirect</td>
903 </tr><tr><th >License</th>
904 <td >GPL</td>
905 <td >GPL</td>
906 <td >GPL (knapster)</td>
907 <td >GPL (Valknut)</td>
908 <td >GPL (giFT)</td>
909 <td >GPL (eMule)</td>
910 <td >GPL (gtk-gnutella)</td>
911 <td >GPL</td>
912 </tr></tbody>
913 </table>
914 <p>
915 {% trans %}
916 Another important point of reference are the various anonymous
917 peer-to-peer networks.
918 Here, there are differences in terms of application domain and how
919 specifically anonymity is achieved.
920 Anonymous routing is a hard research topic, so for a superficial
921 comparison like this one we focus on the latency.
922 Another important factor is the programming language.
923 Type-safe languages may offer certain security benefits; however, this may come at the cost of significant increases in resource consumption which in turn may reduce anonymity.
924 {% endtrans %}
925 </p>
926 </section>
927 <section>
928 <h3>{{ _("Are there any known attacks (on GNUnet's file-sharing application)?") }}</h3>
929 <p>
930 {% trans %}
931 A: Generally, there is the possibility of a known plaintext attack on
932 keywords, but since the user has control over the keywords that are
933 associated with the content he inserts, the user can take advantage of
934 the same techniques used to generate reasonable passwords to defend
935 against such an attack. In any event, we are not trying to hide
936 content; thus, unless the user is trying to insert information into
937 the network that can only be shared with a small group of people,
938 there is no real reason to try to obfuscate the content by choosing a
939 difficult keyword anyway.
940 {% endtrans %}
941 </p>
942 </section>
943 <section>
944 <h3>{{ _("What do you mean by anonymity?") }}</h3>
945 <p>
946 {% trans %}
947 A: Anonymity is the lack of distinction of an individual from a
948 (large) group. A central goal for anonymous file-sharing in GNUnet is
949 to make all users (peers) form a group and to make communications in
950 that group anonymous, that is, nobody (but the initiator) should be
951 able to tell which of the peers in the group originated the message.
952 In other words, it should be difficult to impossible for an adversary
953 to distinguish between the originating peer and all other peers.
954 {% endtrans %}
955 </p>
956 </section>
957 <section>
958 <h3>{{ _("What does my system do when participating in GNUnet file sharing?") }}</h3>
959 <p>
960 {% trans %}
961 A: In GNUnet you set up a node (a peer). It is identified by an ID (hash
962 of its public key) and has a number of addresses it is reachable by
963 (may have no addresses, for instance when it's behind a NAT).
964 You specify bandwidth limits (how much traffic GNUnet is allowed to
965 consume) and datastore quote (how large your on-disk block storage is)
966 . Your node will then proceed to connect to other nodes, becoming
967 part of the network.
968 {% endtrans %}
969 </p>
970 </section>
971
972 <hr/>
973 <h2><a name="contrib" class="subnav-anchor"></a>{{ _("Contributing")}}</h2>
974 <section>
975 <h3>{{ _("How can I help translate this webpage into other languages?") }}</h3>
976 <p>
977 {% trans %}
978 A: First, you need to register an account with our weblate system.
979 Please send an e-mail with the desired target language to
980 translators@gnunet.org or ask for help on the #gnunet chat on
981 irc.freenode.net. Typically someone with sufficient permissions will
982 then grant you access. Naturally, any abuse will result in the loss
983 of permissions.
984 {% endtrans %}
985 </p>
986 </section>
987
988 <section>
989 <h3>{{ _("I have some great idea for a new feature, what should I do?") }}</h3>
990 <p>
991 {% trans %}
992 A: Sadly, we have many more feature requests than we can possibly
993 implement. The best way to actually get a new feature implemented is
994 to do it yourself --- and to then send us a patch.
995 {% endtrans %}
996 </p>
997 </section>
998
999
1000 </article>
1001 </div> <!-- col -->
1002 </div> <!-- row-->
1003
1004
1005 <!--
1006 <h2>{{ ("Q?") }}</h2>
1007
1008 <h2>{{ ("Q?") }}</h2>
1009
1010 <h2>{{ ("Q?") }}</h2>
1011 -->
63 1012
64</div> 1013</div>
65{% endblock body_content %} 1014{% endblock body_content %}
diff --git a/template/gnurl.html.j2 b/template/gnurl.html.j2
index c9c5d8ba..5556bd17 100644
--- a/template/gnurl.html.j2
+++ b/template/gnurl.html.j2
@@ -395,9 +395,9 @@
395 <h2>{{ _("Maintainer and Cryptographic signatures") }}</h3> 395 <h2>{{ _("Maintainer and Cryptographic signatures") }}</h3>
396 <p> 396 <p>
397 {% trans %} 397 {% trans %}
398 gnurl/libgnurl is maintained by Nikita. 398 gnurl/libgnurl is looking for a new maintainer.
399 Releases after version 7.69.1 are signed with the OpenPGP Key 399 Releases after version 7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key
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 <b>0xD6B570842F7E7F8D</b> (<a href="https://keys.openpgp.org/search?q=6115012DEA3026F62A98A556D6B570842F7E7F8D">keys.openpgp.org</a>), with the key fingerprint
401 <b>6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D</b>. 401 <b>6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D</b>.
402 {% endtrans %} 402 {% endtrans %}
403 </p> 403 </p>
diff --git a/template/gsoc.html.j2 b/template/gsoc.html.j2
index 5a8066f4..6fdc58be 100644
--- a/template/gsoc.html.j2
+++ b/template/gsoc.html.j2
@@ -9,8 +9,8 @@
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">{{ _("Ideas 2020") }}</a> 12 <a class="nav-link" href="#current">{{ _("Ideas 2021") }}</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>
16 </div> 16 </div>
@@ -26,7 +26,85 @@
26 </section> 26 </section>
27 27
28 28
29 <h2><a name="current" class="subnav-anchor"></a>{{ _("Ideas 2020") }}</h2> 29 <h2><a name="current" class="subnav-anchor"></a>{{ _("Ideas 2021") }}</h2>
30
31 <section>
32 <h4>Transport Next Generation (TNG): Communicator plugins</h4>
33 <p>
34 {% trans %}
35 The GNUnet team is currently working on a transport layer rewrite
36 in order to fix core issues with connectivity.
37 This new component is currently developed under the name "TNG".
38 What is currently known as "transport plugins" will in the TNG
39 be represented as "communicators".
40
41 Communicators are processes with a well defined API that allow
42 to connect peers over a specific protocol.
43 The primary protocol which are already implemented are UNIX sockets,
44 UDP sockets, and TCP sockets.
45
46 For a truly resilient network, other connectivity options such as
47 WiFi mesh, Bluetooth, HTTP(S), QUIC or even more obscure alternatives
48 such as radio are required.
49
50 In this project, the goal is to select, implement and test new
51 communicators.
52 While TNG is not yet ready, communicators can, by design, be developed
53 and tested against the current API.
54
55 We expect that this project can be worked on by multiple students
56 as there are a lot of protocols to choose from.
57 The tasks would consist of:
58 <ol>
59 <li>Deciding which communicators to implement.</li>
60 <li>Test the communicators.</li>
61 <li>Documentation.</li>
62 </ol>
63 Advantageous skills/languages/frameworks:
64 <ol>
65 <li>C</li>
66 <li>Knowledge of HTTPS, QUIC, Bluetooth or WiFi.</li>
67 </ol>
68 <br/>
69 <strong>Difficulty:</strong> Average, but depends on selected protocols.
70 <br/>
71 <strong>Mentors:</strong> Martin Schanzenbach, t3sserakt
72 {% endtrans %}
73 </p>
74 </section>
75
76 <section>
77 <h4>REST: Multi-user support</h4>
78 <p>
79 {% trans %}
80 The REST API currently only supports a single user system.
81 This is an issue as on multi-user systems, access control
82 must be enfoced on a per-user basis.
83
84 In this project, the REST service must be extended to
85 support user authentication.
86 This includes the correct handling of user context switches.
87 <ol>
88 <li>Implement user authentication.</li>
89 <li>Test the access control.</li>
90 <li>Document the changes to the REST API.</li>
91 </ol>
92 Advantageous skills/languages/frameworks:
93 <ol>
94 <li>C</li>
95 <li>Knowledge of user authentication subsystems on Linux/Unix.</li>
96 <li>REST/HTTP Authentication methods</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
106
107
30 <section> 108 <section>
31 <h4>re:claimID/GNUnet Browser Plugin</h4> 109 <h4>re:claimID/GNUnet Browser Plugin</h4>
32 <p> 110 <p>
@@ -103,8 +181,38 @@
103 </p> 181 </p>
104 </section> 182 </section>
105 183
184 <section>
185 <h4>Rust templates for GNUnet services</h4>
186 <p>
187 {% trans %}
188 The goal is to either build upon the (outdated) <a href="https://github.com/canndrew/gnunet-rs">GNUnet Rust
189 bindings</a> or to follow the path of <a href="GNUnet Go">https://github.com/bfix/gnunet-go</a>
190 which tries to reimplement most of the GNUnet stack.
191 The end result should be an extension template for GNUnet in the form
192 of the existing <a href="https://git.gnunet.org/gnunet-ext.git/">C template</a>
193 which allows to quickly start implementing services and libraries
194 for GNUnet.
195 {% endtrans %}
196 </p>
197 <p>
198 {% trans %}
199 <strong>Mentors:</strong> Martin Schanzenbach
200 {% endtrans %}
201 </p>
202 <p>
203 {% trans %}
204 Required Skills: Solid knowledge of Rust and ideally asynchronuous IO.
205 {% endtrans %}
206 </p>
207 <p>
208 {% trans %}
209 Difficulty level: medium
210 {% endtrans %}
211 </p>
212 </section>
213
106 <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. --> 214 <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. -->
107 <h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2> 215 <!--<h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2>
108 <p> 216 <p>
109 Past projects: Previously proposed, but left unfinished. Inspiration for students. 217 Past projects: Previously proposed, but left unfinished. Inspiration for students.
110 </p> 218 </p>
@@ -183,42 +291,6 @@
183 </p> 291 </p>
184 </section> 292 </section>
185 <section> 293 <section>
186 <h4>Rust APIs for GNUnet services</h4>
187 <p>
188 {% trans %}
189 There are a variety of GNUNet APIs that should be
190 exposed in the Rust wrappers. Implementing these will
191 require extending the port of GNUNet utils written by
192 Andrew Cann and Kelong Cong.
193 {% endtrans %}
194 </p>
195 <p>
196 {% trans %}
197 As an introduction to the code base, we suggest that the
198 student and Jeff Burdges together update the
199 asynchronous IO system from gjio to futures-rs or
200 another layer built upon it. Jeff Burdges is expected
201 to concurrently be implementing a GNUNet API for his own
202 mix network work.
203 {% endtrans %}
204 </p>
205 <p>
206 {% trans %}
207 <strong>Mentors:</strong> Jeff Burdges
208 {% endtrans %}
209 </p>
210 <p>
211 {% trans %}
212 Required Skills: Rust
213 {% endtrans %}
214 </p>
215 <p>
216 {% trans %}
217 Difficulty level: low
218 {% endtrans %}
219 </p>
220 </section>
221 <section>
222 <h4>Tor compatibility for GNUnet</h4> 294 <h4>Tor compatibility for GNUnet</h4>
223 <p> 295 <p>
224 {% trans %} 296 {% trans %}
@@ -520,6 +592,7 @@
520 {% endtrans %} 592 {% endtrans %}
521 </p> 593 </p>
522 </section> 594 </section>
595 -->
523 <h2><a name="finished" class="subnav-anchor"></a>{{ _("Finished projects") }}</h2> 596 <h2><a name="finished" class="subnav-anchor"></a>{{ _("Finished projects") }}</h2>
524 <!-- Commentary: Finished projects, descriptions and Links to write-ups about them. --> 597 <!-- Commentary: Finished projects, descriptions and Links to write-ups about them. -->
525 <h3>2019</h3> 598 <h3>2019</h3>
diff --git a/template/index.html.j2 b/template/index.html.j2
index 52d6a252..4114785f 100644
--- a/template/index.html.j2
+++ b/template/index.html.j2
@@ -2,25 +2,42 @@
2{% block body_content %} 2{% block body_content %}
3<!-- Jumbotron --> 3<!-- Jumbotron -->
4<div> 4<div>
5 <div class="container text-center"> 5 <div class="container">
6 <div class="row"> 6 <div class="row">
7 <div class="container text-center"> 7 <div class="container text-center">
8 <h1>{{ _("The Internet of tomorrow needs GNUnet today") }}</h1> 8 <h1>{{ _("The Internet of tomorrow needs GNUnet today") }}</h1>
9 </div> 9 </div>
10 </div> 10 </div>
11 11
12 <div> 12 <div class="container text-center">
13 <img src="{{ url_static('images/gnunet-logo-dark-text.png') }}" alt="GNUnet" /> 13 <img src="{{ url_static('images/gnunet-logo-dark-text.png') }}" alt="GNUnet" />
14 </div>
15 </div>
16</div>
17
18<div class="container-fluid">
19 <div class="container">
20 <div class="row">
21 <div class="col-lg-2 homepageicon">
22 <span class="fa fa-bullhorn"></span>
14 </div> 23 </div>
15 <div class="row"> 24 <div class="col-lg-6">
16 <div class="container text-center"> 25 <section>
17 <a class="link" href="news/{{newsdata[0]['page']}}">{{ newsdata[0]['date'] }}: {{ newsdata[0]['title'] }}</a> 26 <h2>{{ _("Latest news") }}</h2>
27 <p>
28 {% for item in newsdata[:3] %}
29 <a class="link" href="{{ url_localized(item['page']) }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a><br/>
30 {% endfor %}
31 <br/>
32 <a class="link" href="{{ url_localized('news/index.html')}}">{{ _("Older news entries") }}</a>
33 </p>
34 </section>
18 </div> 35 </div>
19 </div> 36 </div>
20
21
22 </div> 37 </div>
23</div> 38</div>
39
40
24<div class="container-fluid greybox"> 41<div class="container-fluid greybox">
25 <div class="container"> 42 <div class="container">
26 <div class="row"> 43 <div class="row">
@@ -259,6 +276,7 @@
259 </div> 276 </div>
260 </div> 277 </div>
261 </div> 278 </div>
279
262</div> 280</div>
263<hr style="padding: 2em;"/> 281<hr style="padding: 2em;"/>
264<div class="container-fluid"> 282<div class="container-fluid">
@@ -279,31 +297,4 @@
279 </div> 297 </div>
280 </div> 298 </div>
281</div> 299</div>
282
283
284
285<!--<div class="container-fluid">
286 <div class="container">
287 <div class="row">
288 <div class="container text-center">
289 <h1>{{ _("News") }}<a name="news"></a></h1>
290 </div>
291 </div>
292 {% for item in newsdata[:4] %}
293 <div class="row">
294 <div class="col-lg-12">
295 <a href="news/{{ item['page'] }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a>
296 </div>
297 </div>
298 {% endfor %}
299 <div class="row">
300 <div class="container text-center">
301 <p>
302 <a class="btn btn-primary btn-lg" href="{{ url_localized('news') }}">{{ _("News Archive") }}</a>
303 </p>
304 </div>
305 </div>
306 </div>
307</div>
308-->
309{% endblock body_content %} 300{% endblock body_content %}
diff --git a/template/install-on-debian9.html.j2 b/template/install-on-debian9.html.j2
index 2e3ee95f..2a3cde03 100644
--- a/template/install-on-debian9.html.j2
+++ b/template/install-on-debian9.html.j2
@@ -35,7 +35,7 @@
35 </p> 35 </p>
36 36
37 <code> 37 <code>
38 $ sudo apt install git libtool autoconf autopoint libargon2-dev\<br> 38 $ sudo apt install git libtool autoconf autopoint libargon2-dev \<br>
39 build-essential libgcrypt-dev libidn11-dev zlib1g-dev \<br> 39 build-essential libgcrypt-dev libidn11-dev zlib1g-dev \<br>
40 libunistring-dev libglpk-dev miniupnpc libextractor-dev \<br> 40 libunistring-dev libglpk-dev miniupnpc libextractor-dev \<br>
41 libjansson-dev libcurl4-gnutls-dev gnutls-bin libsqlite3-dev \<br> 41 libjansson-dev libcurl4-gnutls-dev gnutls-bin libsqlite3-dev \<br>
diff --git a/template/install-on-macos.html.j2 b/template/install-on-macos.html.j2
index e97efd75..b5c61cfb 100644
--- a/template/install-on-macos.html.j2
+++ b/template/install-on-macos.html.j2
@@ -164,7 +164,7 @@ vpn (gnunet-service-vpn)
164 <p> 164 <p>
165 You might see configure failing telling you that it ``cannot run C compiled programs.''. 165 You might see configure failing telling you that it ``cannot run C compiled programs.''.
166 In this case, you might need to open/run Xcode once and you will be prompted to 166 In this case, you might need to open/run Xcode once and you will be prompted to
167 install additonal packages. 167 install additional packages.
168 Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this). 168 Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this).
169 Install those and execute 169 Install those and execute
170 </p> 170 </p>
diff --git a/template/install.html.j2 b/template/install.html.j2
index 2fccfd3c..588525ac 100644
--- a/template/install.html.j2
+++ b/template/install.html.j2
@@ -7,13 +7,11 @@
7 </header> 7 </header>
8 8
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 alert-info">
11 <div class="alert-content">
12{% trans %} 11{% trans %}
13 Notice: GNUnet is still undergoing major development. It is 12 Notice: GNUnet is still undergoing major development. It is
14 largely <i>not yet ready</i> for usage beyond developers. 13 largely <i>not yet ready</i> for usage beyond developers.
15{% endtrans %} 14{% endtrans %}
16 </div>
17 </div> 15 </div>
18{% trans %} 16{% trans %}
19<p>Please be aware that this project is still in an early alpha 17<p>Please be aware that this project is still in an early alpha
@@ -32,12 +30,12 @@ If you have any queries about the installation or the usage, please <a href="eng
32 within your Operating System. GNUnet is reportedly available for at least: 30 within your Operating System. GNUnet is reportedly available for at least:
33 <ul> 31 <ul>
34 <li><a href="https://pkgs.alpinelinux.org/package/edge/testing/x86_64/gnunet">Alpine</a></li> 32 <li><a href="https://pkgs.alpinelinux.org/package/edge/testing/x86_64/gnunet">Alpine</a></li>
35 <li><a href="https://www.archlinux.org/packages/community/x86_64/gnunet/">Arch</a></li> 33 <li><a href="https://aur.archlinux.org/packages/gnunet/">Arch (AUR)</a></li>
36 <li><a href="https://packages.debian.org/search?keywords=gnunet">Debian</a></li> 34 <li><a href="https://packages.debian.org/search?keywords=gnunet">Debian</a></li>
37 <li><a href="https://copr.fedorainfracloud.org/coprs/yosl/gnunet/">Fedora (Copr)</a></li> 35 <li><a href="https://copr.fedorainfracloud.org/coprs/yosl/gnunet/">Fedora (Copr)</a></li>
38 <li><a href="https://guix.gnu.org/en/packages/G/">Guix</a></li> 36 <li><a href="https://guix.gnu.org/en/packages/G/">Guix</a></li>
39 <li><a href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li> 37 <li><a href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li>
40 <li><a href="https://nixos.org/nixos/packages.html?attr=gnunet&channel=nixpkgs-unstable&query=gnunet">NixOS</a></li> 38 <li><a href="https://search.nixos.org/packages?from=0&size=50&sort=relevance&query=gnunet">NixOS</a></li>
41 <li><a href="install-on-openwrt.html">OpenWrt</a></li> 39 <li><a href="install-on-openwrt.html">OpenWrt</a></li>
42 </ul> 40 </ul>
43 If GNUnet is available for your Operating System and it is missing, 41 If GNUnet is available for your Operating System and it is missing,
@@ -46,12 +44,12 @@ If you have any queries about the installation or the usage, please <a href="eng
46 get in touch with us at gnunet-developers@gnu.org if you require 44 get in touch with us at gnunet-developers@gnu.org if you require
47 help with this job. 45 help with this job.
48 46
49 If you were using an Operating System with the Alpine package manager, 47 If you were using an Operating System with the APT package manager,
50 GNUnet could be installed as simple as: 48 GNUnet could be installed as simple as:
51 {% endtrans %} 49 {% endtrans %}
52 </p> 50 </p>
53 <code class="block"> 51 <code class="block">
54 $ apk add gnunet 52 $ apt-get install gnunet
55 </code> 53 </code>
56 <p> 54 <p>
57 Please beware that some distributions may include outdated GNUnet packages! 55 Please beware that some distributions may include outdated GNUnet packages!
@@ -96,7 +94,7 @@ If you have any queries about the installation or the usage, please <a href="eng
96 </div> 94 </div>
97 <p> 95 <p>
98 {% trans %} 96 {% trans %}
99 Alternatively, get the sources from git by entering: 97 To compile gnunet from the git source you can do so by entering:
100 {% endtrans %} 98 {% endtrans %}
101 </p> 99 </p>
102 <code class="block"> 100 <code class="block">
@@ -153,15 +151,15 @@ If you have any queries about the installation or the usage, please <a href="eng
153<!-- 151<!--
154 <div class="row container justify-content-center text-center"> 152 <div class="row container justify-content-center text-center">
155 <div class="col-md"> 153 <div class="col-md">
156 <p><a href="install-on-ubuntu1804.html"><img src="{{ url('static/images/ubuntu-logo32.png') }}" class="distro-logo"></a></p> 154 <p><a href="install-on-ubuntu1804.html"><img src="{{ url('images/ubuntu-logo32.png') }}" class="distro-logo"></a></p>
157 <h3>Ubuntu 18.04</h3> 155 <h3>Ubuntu 18.04</h3>
158 </div> 156 </div>
159 <div class="col-md"> 157 <div class="col-md">
160 <p><a href="install-on-debian9.html"><img src="{{ url('static/images/debian-logo.svg') }}" class="distro-logo"></a></p> 158 <p><a href="install-on-debian9.html"><img src="{{ url('images/debian-logo.svg') }}" class="distro-logo"></a></p>
161 <h3>Debian 9</h3> 159 <h3>Debian 9</h3>
162 </div> 160 </div>
163 <div class="col-md"> 161 <div class="col-md">
164 <p><a href="install-on-netbsd.html"><img src="{{ url('static/images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p> 162 <p><a href="install-on-netbsd.html"><img src="{{ url('images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p>
165 <h3>NetBSD</h3> 163 <h3>NetBSD</h3>
166 </div> 164 </div>
167 </div> 165 </div>
@@ -171,15 +169,15 @@ If you have any queries about the installation or the usage, please <a href="eng
171 <h1><a href="install-on-macos.html">Apple<br/>macOS</a></h1> 169 <h1><a href="install-on-macos.html">Apple<br/>macOS</a></h1>
172 </div> 170 </div>
173 <div class="col-md"> 171 <div class="col-md">
174 <p><a href="install-on-archpi.html"><img src="{{ url('static/images/archlinux-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> 172 <p><a href="install-on-archpi.html"><img src="{{ url('images/archlinux-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p>
175 <h3>Arch Linux/Arch-Pi</h3> 173 <h3>Arch Linux/Arch-Pi</h3>
176 </div> 174 </div>
177 <div class="col-md"> 175 <div class="col-md">
178 <p><a href="install-on-openwrt.html"><img src ="{{ url('static/images/openwrt-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> 176 <p><a href="install-on-openwrt.html"><img src ="{{ url('images/openwrt-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p>
179 <h3>OpenWrt</h3> 177 <h3>OpenWrt</h3>
180 </div> 178 </div>
181 <div class="col-md"> 179 <div class="col-md">
182 <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> 180 <p><a href="https://wiki.gentoo.org/wiki/Overlay:Youbroketheinternet"><img alt="gentoo linux" src ="{{ url('images/gentoo-logo.svg') }}" class="distro-logo" style="width:170px;height:auto"></a></p>
183 </div> 181 </div>
184 </div> 182 </div>
185--> 183-->
diff --git a/template/livingstandards.html.j2 b/template/livingstandards.html.j2
new file mode 100644
index 00000000..86ceabd3
--- /dev/null
+++ b/template/livingstandards.html.j2
@@ -0,0 +1,27 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3 <div class="container-fluid">
4 <div class="container">
5 <article>
6 <div class="row">
7 <div class="container text-center">
8 <h1>Living Standards</h1>
9 <section>
10 <p>
11 {% trans %}
12 On this page you can find links to our technical specifications.
13 {% endtrans %}
14 </p>
15 </section>
16 </div>
17 </div>
18 <ul>
19 <li><b>LSD0000</b>: The Distributed Hash Table</li>
20 <li><b>LSD0001</b>: <a href="https://lsd.gnunet.org/lsd0001">The GNU Name System</a></li>
21 <li><b>LSD0002</b>: <a href="https://lsd.gnunet.org/lsd0002">re:claimID</a></li>
22 <li><b>LSD0003</b>: <a href="https://lsd.gnunet.org/lsd0003">Byzantine Fault Tolerant Set Reconciliation</a></li>
23 </ul>
24 </article>
25 </div>
26 </div>
27{% endblock body_content %}
diff --git a/template/news/2011-11-24-archived-vfork.html.j2 b/template/news/2011-11-24-archived-vfork.html.j2
new file mode 100644
index 00000000..61249c38
--- /dev/null
+++ b/template/news/2011-11-24-archived-vfork.html.j2
@@ -0,0 +1,62 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>vfork and the signal race</h1>
4<p>
5 <b>This is an imported news item from the old Drupal GNUnet homepage.</b>
6</p>
7<p>
8Many articles uniformly claim that using vfork should be
9<a href="https://web.archive.org/web/20150924082249/http://tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-vfork.html">avoided</a>
10and that the only difference between vfork and fork is (or used-to-be)
11<a href="https://web.archive.org/web/20150924082249/http://www.unixguide.net/unix/programming/1.1.2.shtml">performance</a>
12and that thus vfork is
13<a href="https://web.archive.org/web/20150924082249/http://stackoverflow.com/questions/4856255/the-difference-between-fork-vfork-exec-and-clone">obsolete</a>.
14Here, I wanted to document a technical case where vfork is actually required and where using fork instead of vfork (or operating system implementors implementing vfork as an alias for fork) causes a hard-to-find data race.
15</p>
16<p>
17GNUnet uses a hypervisor process (gnunet-service-arm) to control the peer's service processes. Services are started (vfork+exec) on-demand. The hypervisor is also responsible for stopping the services and sends a SIGTERM signal to the services to stop them. SIGTERM must be used to allow the services to shutdown gracefully. Naturally, after shutting down a service with a signal, the hypervisor waits for SIGCHILD and then cleans up with waitpid. Once all services processes have completed, the hypervisor can exit as well. It should also be noted that the hypervisor handles SIGTERM (by shutting down all services), so a signal handler is installed for that signal.
18</p>
19<p>
20The reason why we must use vfork is the following. After the hypervisor has started the service, it might be asked to stop the service at any time. We've actually managed (by scripting it) to reliably trigger a case where the hypervisor would start a service (fork) and then receive a request to terminate the service and issues the SIGTERM signal to the child before the child process had a chance to call exec. As a result, the SIGTERM would go to the (existing) handler of the hypervisor's code, then the child process would be exec'ed and essentially the signal was thereby lost in the race between kill and exec:
21</p>
22<p>
23If exec wins, the signal either kills the process hard during the service startup phase, which is fine, or the service process might handle it normally and terminate --- also fine).
24</p>
25<p>
26If kill wins the race, the signal would be lost and the hypervisor would wait 'forever' for the child to terminate.
27</p>
28<p>
29The solution with vfork is elegant and simple: by blocking the parent, vexec guarantees that the parent's signal handler is no longer active (and replaced by default handlers or the child's custom handlers) by the time the parent is able to issue a 'kill'.
30</p>
31<p>
32In conclusion, with parents that issue 'kill' on child processes, the use of vfork can make an important semantic difference and not only (possibly) offer performance advantages. The situation above cannot be easily fixed by other means and thus vfork is an important POSIX call that should be supported properly by all quality implementations. A possible hack to work around a lack of vfork would be to create a pipe in the parent, set it to close-on-exec, fork the child, close the write end and then do a blocking read from the read end. Once you get a read error, the child has exec'ed. Rather ugly in my opinion.
33</p>
34<p>
35Currently, gnunet-service-arm can hang indefinitely on systems that do not provide a correct implementation of vfork (however, in practice normal users should never encounter this).
36</p>
37<p>
38<b>better suggestion from Thomas Bushnell</b>
39<br>
40I just got an alternative suggestion to using either a pipe and vfork from Thomas Bushnell, which I like and will use:
41
42"The hypervisor at start creates a global variable hypervisor_pid, initialized from getpid().
43
44The signal handler in the hypervisor then does this:
45<br>
46<code class="block">
47if getpid() == hypervisor_pid<br>
48 kill_all_children_and_exit();<br>
49else<br>
50 exit();<br>
51</code>
52
53In this way, if the child is between fork and exec when the parent gets its kill, and then it tries to kill the child, and the kill happens before the child execs (the problematic case you describe), then the child simply enters the hypervisor's signal handler, notices that it's not the hypervisor, and exits.
54<br>
55Thomas"
56<br>
57Thanks for the suggestion!
58</p>
59<p>
60Thomas's suggestion is all fine and well, except that it doesn't work on OS X. As the attached simple program "killing-child-kills-parent.c" demonstrates, OS X manages to sometimes either deliver the signal to the wrong process (?) or not update getpid() between fork+exec or is otherwise generally broken. The program simply installs a signal handler in the parent with the guard suggested by Thomas, then forks + exec's "sleep" and then immediately kills the child. So we expect the signal to either reach our signal handler (child between fork+exec), causing the child to 'exit', or to reach 'sleep' which should also die. Somehow instead the "Should NEVER get this signal!" message is printed. Well, OS X is known to be a pile of crap, so no surprise. Using 'vfork' instead of fork gets us the desired behavor -- howver, this is clearly just a hack. So vfork is back (on OS X) as of SVN 25495.
61</p>
62{% endblock body_content %}
diff --git a/template/news/2013-11-15-special-use-gns.html.j2 b/template/news/2013-11-15-special-use-gns.html.j2
new file mode 100644
index 00000000..329e74d3
--- /dev/null
+++ b/template/news/2013-11-15-special-use-gns.html.j2
@@ -0,0 +1,14 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Special-Use Domain Names of Peer-to-Peer Name Systems</h1>
4<p>
5 <b>This is an imported news item from the old Drupal GNUnet homepage.</b>
6</p>
7<p>
8We just submitted our draft for
9<a href="https://web.archive.org/web/20140901155643/https://datatracker.ietf.org/doc/draft-grothoff-iesg-special-use-p2p-names/">Special-Use Domain Names of Peer-to-Peer Name Systems</a> to IETF.
10The intention is to reserve the TLDs ".exit", ".i2p", ".gnu",
11".onion" and ".zkey" for use by the GNUnet, I2P and Tor peer-to-peer overlay
12networks.
13</p>
14{% endblock body_content %}
diff --git a/template/news/2013-12-28-archived-typos-pkeys.html.j2 b/template/news/2013-12-28-archived-typos-pkeys.html.j2
new file mode 100644
index 00000000..a541ef94
--- /dev/null
+++ b/template/news/2013-12-28-archived-typos-pkeys.html.j2
@@ -0,0 +1,16 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Typo-Protected Public Keys</h1>
4<p>
5 <b>This is an imported news item from the old Drupal GNUnet homepage.</b>
6</p>
7<p>
8When users type in public keys (such as the 53-characters of a GNS zone), they might make typos. The usual way to fix typos is to add a checksum, further increasing the length of the sequence that has to be typed in.
9<br>
10We can fix this by including the checksum of the public key in the public key itself, simply by trying new private keys until the corresponding public key happens to have a checksum (over the other bits) in the bits designated for the checksum. If a checksum is 16 bits, we would only need to try 216 keys. The basic idea of brute-forcing keys to match a particular pattern <a href="https://web.archive.org/web/20141008173738/https://bitcointalk.org/index.php?topic=84569.0">was proposed before</a> for creating "vanity" public keys, but this might be another practical variant.
11</p>
12<p>
13<b>Acknowledgements</b><br/>
14The idea popped up in a discussion on the need for short public keys for GNS with Dan Bernstein and Tanja Lange at 30c3.
15</p>
16{% endblock body_content %}
diff --git a/template/news/2018-06.html.j2 b/template/news/2018-06.html.j2
new file mode 100644
index 00000000..08428466
--- /dev/null
+++ b/template/news/2018-06.html.j2
@@ -0,0 +1,108 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.0pre66</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.0pre66.<br>
6 This is a pre-release to assist developers and downstream packagers to test the package before the final release after four years of development.
7</p>
8<p>
9 In terms of usability, users should be aware that there are still a very large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (~200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.0 release and especially this pre-release are only suitable for early adopters with some reasonable pain tolerance.
10</p>
11<h4 class="western">License change</h4>
12<p>
13 GNUnet 0.11.0pre66 is the first release that will be made under the GNU Affero General Public License v3+. After a significant amount of internal discussion lead constructively by lynX (thanks!), the conclusion has been that the IPC and REST APIs should be extended with support for an GNUNET_MESSAGE_TYPE_AGPL or /agpl request that enables users of these client/service-style APIs to download the source code.
14</p>
15<p>
16 Naturally, the discussion on licensing may not necessarily end here, but at this point we are not aware of any dissent in the community and this release seems to be the right time to make such a change. While the final decision was not subjected to a broad feedback round, this was done simply on the grounds that this placement of the AGPL API seems to addresses all concerns that were raised. Finally, thanks to the copyright assignment all developers are participating in, the community will be able to revise this decision later if necessary.
17</p>
18<p>
19 It should also be noted that this change does not impose additional restrictions on the licensing models of GNU Taler or pEp: both projects have agreements with GNUnet e.V. that ensure that they can make decisions that fit these applications (not to mention significant parts of GNU Taler are already AGPLv3+ already).
20</p>
21<h4 class="western">About GNUnet</h4>
22<p>
23 GNUnet is a framework for secure peer-to-peer networking. GNUnet&#39;s primary design goals are to protect the privacy of its users and to guard itself against attacks or abuse. At this point, GNUnet offers four primary applications on top of the framework:
24</p>
25<p>
26 The file-sharing service allows anonymous censorship-resistant file-sharing. Files, searches and search results are encrypted to make it hard to control, track or censor users. GNUnet&#39;s anonymity protocol (gap) is designed to make it difficult to link users to their file-sharing activities. Users can also individually trade-off between performance and anonymity. Despite providing anonymity, GNUnet&#39;s excess-based economy rewards contributing users with better performance.
27</p>
28<p>
29 The VPN service allows offering of services within GNUnet (using the .gnu TLD) and can be used to tunnel IPv4 and IPv6 traffic over the P2P network. The VPN can also be used for IP protocol translation (6-to-4, 4-to-6) and it is possible to tunnel IP traffic over GNUnet (6-over-4, 4-over-6). Note that at this stage, it is possible for peers to determine the IP address at which services are hosted, so the VPN does not offer anonymity.
30</p>
31<p>
32 The GNU Name System (GNS) provides a fully-decentralized and censorship resistant replacement for DNS. GNS can be used alongside DNS and can be integrated with legacy applications (such as traditional browsers) with moderate effort. GNS provides censorship-resistance, memorable names and cryptographic integrity protection for the records. Note that at this stage, it is possible for a strong adversary to determine which peer is responsible for a particular zone, GNS does not offer strong anonymity. However, GNS offers query privacy, that is other participants can typically not decrypt queries or replies.
33</p>
34<p>
35 Conversation allows voice calls to be made over GNUnet. Users are identified using GNS and voice data is encrypted. However, Conversation does not provide anonymity at this stage --- other peers may observe a connection between the two endpoints and it is possible to determine the IP address associated with a phone.
36</p>
37<p>
38 Other applications, including in particular the SecuShare social networking application, are still strictly experimental.
39</p>
40<p>
41 For developers, GNUnet offers:
42</p>
43<ul>
44 <li>Access to all subsystems via clean C APIs</li>
45 <li>Mostly written in C, but extensions possible in other languages</li>
46 <li>Multi-process architecture for fault-isolation between components</li>
47 <li>Use of event loop and processes instead of threads for ease of development</li>
48 <li>Extensive logging and statistics facilities</li>
49 <li>Integrated testing library for automatic deployment of large-scale experiments with tens of thousands of peers</li>
50</ul>
51<h4 class="western">Noteworthy improvements in 0.11.0pre66</h4>
52<ul>
53 <li>Improved documentation, converting Drupal handbook to Texinfo (thanks ng0!)</li>
54 <li>GNU Name System now can take over arbitrary TLDs, and support for conversion from DNS zones to GNS exists</li>
55 <li>Critical bugfixes in CORE, DHT and CADET subsystems</li>
56</ul>
57<p>
58 The above is just the short list, our bugtracker lists over 350 individual issues that were resolved (see <a href="https://gnunet.org/bugs/changelog_page.php">Changelog</a>)
59</p>
60<h4 class="western">Known Issues</h4>
61<p>
62 We have a few issues that are most likely not resolved in the final release. Users should be aware of these issues, which we hope to address shortly.
63</p>
64<ul>
65 <li>There are known major design issues in TRANSPORT, ATS and CORE which will need to be addressed for usability, performance and security.</li>
66 <li>There are known moderate implementation limitations in CADET that impact performance.</li>
67 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
68 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
69 <li>The Web site and manuals still need significant rework.</li>
70 <li>Subsystems related to SecuShare and RPS remain experimental.</li>
71</ul>
72<p>
73 In addition to this list, you may also want to consult our bug tracker at https://gnunet.org/bugs/ which lists about 200 more specific issues.
74</p>
75<h4>Availability</h4>
76<p>
77 The GNUnet 0.11.0pre66 source code is available from all GNU FTP mirrors. The GTK frontends (which includes the gnunet-setup tool) are a separate download. Please note that some mirrors might still be synchronizing.
78</p>
79<ul>
80 <li>GNUnet on a FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0pre66.tar.gz</li>
81 <li>GNUnet GTK on an FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0pre66.tar.gz</li>
82 <li>GNUnet FUSE on an FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0pre66.tar.gz</li>
83 <li>GNUnet on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-0.11.0pre66.tar.gz</li>
84 <li>GNUnet GTK on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-gtk-0.11.0pre66.tar.gz</li>
85 <li>GNUnet FUSE on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-fuse-0.11.0pre66.tar.gz</li>
86</ul>
87<p>
88 Note that GNUnet is now started using &quot;gnunet-arm -s&quot;. GNUnet should be stopped using &quot;gnunet-arm -e&quot;.
89</p>
90<h4 class="western">Thanks</h4>
91<p>
92 This release was the work of many people. The following people contributed code and were thus easily identified:
93 Christian Grothoff,
94 Matthias Wachs, Bart Polot, Sree Harsha Totakura, Nathan S. Evans,
95 Martin Schanzenbach, Julius B&uuml;nger, Nils Gillmann, Philipp
96 T&ouml;lke, Florian Dold, &#1056;&#1091;&#1089;&#1083;&#1072;&#1085;
97 &#1048;&#1078;&#1073;&#1091;&#1083;&#1072;&#1090;&#1086;&#1074;,
98 tg(x), David Barksdale, Christian Fuchs, Nils Durner, Omar Tarabai,
99 Maximilian Szengel, Supriti Singh, lurchi, David Brodski, xrs, Fabian
100 Oehlmann, Carlo von lynX, Christophe Genevey Metat, Jeffrey Burdges,
101 Safey A.Halim, Daniel Golle, Phil, Bruno Cabral, Ji Lu, Heikki
102 Lindholm, Markus Teich, t3sserakt, Claudiu Olteanu, Marcello
103 Stanisci, Moon, anryko, Arthur Dewarumez, Julien Morvan, Adnan H, Lin
104 Tong, Andreas Fuchs, Christian Rupp, jah, Alejandra Morales, Matthias
105 Kolja Miehl, Andrew Cann, Antonio Ojea, Pascal Mainini, amirouche and
106 hark.
107</p>
108{% endblock body_content %}
diff --git a/template/news/2018-07.html.j2 b/template/news/2018-07.html.j2
new file mode 100644
index 00000000..e8c14fea
--- /dev/null
+++ b/template/news/2018-07.html.j2
@@ -0,0 +1,7 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Second GNUnet Hacker Meeting 2018 at La D&#233;centrale, Switzerland</h1>
4 <p>
5 The GNUnet hackers met for the second time this year. The primary goal was to squash bugs to bring out a new release. Aside from this we worked hard on improving the documentation and to launch this new website.
6 </p>
7{% endblock body_content %}
diff --git a/template/news/2019-0.11.0.html.j2 b/template/news/2019-0.11.0.html.j2
new file mode 100644
index 00000000..ddf04623
--- /dev/null
+++ b/template/news/2019-0.11.0.html.j2
@@ -0,0 +1,72 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.0 released</h1>
4 <p>
5 We are pleased to announce the release of GNUnet 0.11.0.<br>
6 This is a major release after about five years of development. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.0 release is still only suitable for early adopters with some reasonable pain tolerance.
7</p>
8<h4>Download links</h4>
9<ul>
10 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz</a></li>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz.sig</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
16</ul>
17<p>
18 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
19</p>
20<p>
21 Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>.
22</p>
23<h4>Noteworthy changes in 0.11.0</h4>
24<ul>
25 <li>The Web site and manuals have undergone significant rework. You can find an archive of the old Web site at <a href="http://web.archive.org/web/*/gnunet.org">archive.org</a>.</li>
26 <li>The code now builds again on macOS. GNUnet on macOS is <i>experimental</i>. While it builds and seems to run fine, some tests are known to fail.</li>
27 <li>Build process now works properly with libidn2</li>
28 <li>Except for <tt>gnunet-qr</tt>, all Python code was migrated to Python 3.7.</li>
29 <li>Fixed security issues in secret sharing cryptography logic</li>
30 <li>Services running out of file descriptors on <tt>accept()</tt> no longer busy wait</li>
31 <li>Fixed crash in gnunet-gns2dns proxy</li>
32 <li>GNS responses are now padded to minimize information disclosure from the size</li>
33 <li>Fixed API issues and (rare) crash bugs in CADET</li>
34 <li>The experimental SecuShare code is not included in the release, you can now find it in the <a href="https://git.gnunet.org/gnunet-secushare.git/">gnunet-secushare</a> Git repository.</li>
35 <li>The Ascension tool (separate download) now allows importing DNS zones into GNS via AXFR.</li>
36 <li>GNUnet now includes a decentralised identity attribute sharing service: reclaimID. A ready-to-use client can be found in an <a href="https://gitlab.com/reclaimid/client">external repo</a>.</li>
37 <li>The code now builds again on NetBSD. GNUnet on NetBSD is <i>experimental</i>. While it builds and seems to run fine, full support requires more changes in the core of GNUnet It will soon be available via pkgsrc.</li>
38 <li>Many things changed on the build system side. If you package GNUnet for an operating system or otherwise package manager, make sure that you read the README.</li>
39</ul>
40<p>
41 The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=258">over 100 individual issues</a> that were resolved since 0.11.0pre66.
42</p>
43 <h4>Known Issues</h4>
44 <ul>
45 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
46 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
47 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
48 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
49 <li>The RPS subsystem remains experimental.</li>
50 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
51 </ul>
52<p>
53 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 150 more specific issues.
54</p>
55<h4>Thanks</h4>
56<p>
57 This release was the work of many people. The following people
58 contributed code and were thus easily identified:
59 Christian Grothoff, Matthias Wachs, Bart Polot, Sree Harsha Totakura,
60 Nathan S. Evans, Martin Schanzenbach, Julius B&#xFC;nger, ng0,
61 Philipp T&#xF6;lke, Florian Dold, &#x420;&#x443;&#x441;&#x43B;&#x430;&#x43D; &#x418;&#x436;&#x431;&#x443;&#x43B;&#x430;&#x442;&#x43E;&#x432;, tg(x), David Barksdale,
62 Christian Fuchs, Nils Durner, Omar Tarabai, Maximilian Szengel, Supriti
63 Singh, lurchi, David Brodski, xrs, Fabian Oehlmann, Carlo von lynX,
64 Christophe Genevey Metat, Jeffrey Burdges, Safey A.Halim, Daniel Golle,
65 Phil, Bruno Cabral, Ji Lu, Heikki Lindholm, Markus Teich, t3sserakt,
66 Claudiu Olteanu, Marcello Stanisci, Moon, Hernani Marques, anryko, Arthur Dewarumez,
67 Julien Morvan, Adnan H, rexxnor, Lin Tong, Andreas Fuchs, Christian Rupp, jah,
68 Alejandra Morales, Bernd Fix, Feideus, Matthias Kolja Miehl, Andrew Cann, Antonio Ojea,
69 Pascal Mainini, amirouche and hark.
70 <a href="https://bugs.gnunet.org/view.php?id=5569">Special thanks</a> to Florian Weimer.
71</p>
72{% endblock body_content %}
diff --git a/template/news/2019-0.11.1.html.j2 b/template/news/2019-0.11.1.html.j2
new file mode 100644
index 00000000..82f27c85
--- /dev/null
+++ b/template/news/2019-0.11.1.html.j2
@@ -0,0 +1,55 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.1 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.1.
6 <br>
7 This is a bugfix release for 0.11.0, mostly fixing minor bugs, improving documentation and fixing various build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.1 release is still only suitable for early adopters with some reasonable pain tolerance.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.1.)
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<p>
25 Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>.
26</p>
27<h4>Noteworthy changes in 0.11.1</h4>
28<ul>
29 <li>gnunet-qr was rewritten in C, removing our last dependency on Python 2.x</li>
30 <li>REST and GNS proxy configuration options for address binding were added</li>
31 <li>gnunet-publish by default no longer includes creation time</li>
32 <li>Unreliable message ordering logic in CADET was fixed</li>
33 <li>Various improvements to build system and documentation</li>
34</ul>
35<p>
36 The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=312"> 14 individual issues</a> that were resolved since 0.11.0.
37</p>
38<h4>Known Issues</h4>
39<ul>
40 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
41 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
42 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
43 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
44 <li>The RPS subsystem remains experimental.</li>
45 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
46</ul>
47<p>
48 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
49</p>
50<h4>Thanks</h4>
51<p>
52 This release was the work of many people. The following people contributed code and were thus easily identified:
53 ng0, Christian Grothoff, Hartmut Goebel, Martin Schanzenbach, Devan Carpenter, Naomi Phillips and Julius B&#xFC;nger.
54</p>
55{% endblock body_content %}
diff --git a/template/news/2019-0.11.2.html.j2 b/template/news/2019-0.11.2.html.j2
new file mode 100644
index 00000000..504a203c
--- /dev/null
+++ b/template/news/2019-0.11.2.html.j2
@@ -0,0 +1,55 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.2 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.2.
6<br>
7 This is a bugfix release for 0.11.0, mostly fixing minor bugs, improving documentation and fixing various build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.2 release is still only suitable for early adopters with some reasonable pain tolerance.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.2.)
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<p>
25 Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>.
26</p>
27<h4>Noteworthy changes in 0.11.2</h4>
28<ul>
29 <li>gnunet-qr was rewritten in C, removing our last dependency on Python 2.x</li>
30 <li>REST and GNS proxy configuration options for address binding were added</li>
31 <li>gnunet-publish by default no longer includes creation time</li>
32 <li>Unreliable message ordering logic in CADET was fixed</li>
33 <li>Various improvements to build system and documentation</li>
34</ul>
35<p>
36 The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=312">14 individual issues</a> that were resolved since 0.11.0.
37</p>
38<h4>Known Issues</h4>
39<ul>
40 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
41 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
42 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
43 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
44 <li>The RPS subsystem remains experimental.</li>
45 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
46</ul>
47<p>
48 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
49</p>
50<h4>Thanks</h4>
51<p>
52 This release was the work of many people. The following people contributed code and were thus easily identified:
53 ng0, Christian Grothoff, Hartmut Goebel, Martin Schanzenbach, Devan Carpenter, Naomi Phillips and Julius B&#xFC;nger.
54</p>
55{% endblock body_content %}
diff --git a/template/news/2019-0.11.3.html.j2 b/template/news/2019-0.11.3.html.j2
new file mode 100644
index 00000000..50b207a1
--- /dev/null
+++ b/template/news/2019-0.11.3.html.j2
@@ -0,0 +1,52 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.3 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.3.
6<br>
7 This is a bugfix release for 0.11.2, mostly fixing a few build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.3 release is still only suitable for early adopters with some reasonable pain tolerance.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.3.)
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<p>
25 Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>.
26</p>
27<h4>Noteworthy changes in 0.11.3 (since 0.11.2)</h4>
28<ul>
29 <li>gnunet-zoneimport now handles <tt>-h</tt> correctly</li>
30 <li><tt>iptables</tt> and other similar binaries are no longer hard-coded but detected at configure time (with hard-coded fallback locations).</li>
31 <li><tt>make uninstall</tt> now properly uninstalls all files</li>
32 <li>Passing the no longer available <tt>--with-nssdir</tt> configuration option now results in a hard error.</li>
33 <li><tt>GNUNET_memcmp()</tt> and <tt>GNUNET_is_zero()</tt> macros introduced for improved type safety (but not yet used consistently).</li>
34</ul>
35<h4>Known Issues</h4>
36<ul>
37 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
38 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
39 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
40 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
41 <li>The RPS subsystem remains experimental.</li>
42 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
43</ul>
44<p>
45 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
46</p>
47<h4>Thanks</h4>
48<p>
49 This release was the work of many people. The following people contributed code and were thus easily identified:
50 ng0, Christian Grothoff, Daniel Golle, Martin Schanzenbach and Julius B&#xFC;nger.
51</p>
52{% endblock body_content %}
diff --git a/template/news/2019-0.11.4.html.j2 b/template/news/2019-0.11.4.html.j2
new file mode 100644
index 00000000..9aad565f
--- /dev/null
+++ b/template/news/2019-0.11.4.html.j2
@@ -0,0 +1,50 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.4 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.4.
6<br>
7 This is a bugfix release for 0.11.3, mostly fixing a few build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.4 release is still only suitable for early adopters with some reasonable pain tolerance.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.4.)
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<h4>Noteworthy changes in 0.11.4 (since 0.11.3)</h4>
25<ul>
26 <li><tt>gnunet-arm -s </tt> no longer logs into the console by default and instead into a logfile (in $GNUNET_HOME).</li>
27 <li>The reclaim subsystem is no longer experimental. See also <a href="https://reclaim-identity.io">re:claimID</a>. Further, the internal encryption scheme moved from ABE to GNS-style encryption.</li>
28 <li>GNUnet now depends on a more recent version of libmicrohttpd.</li>
29 <li>The REST API now includes read-only access to the configuration.</li>
30 <li>All manpages are now in mdocml format.</li>
31 <li><tt>gnunet-download-manager.scm</tt> removed.</li>
32</ul>
33<h4>Known Issues</h4>
34<ul>
35 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
36 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
37 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
38 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
39 <li>The RPS subsystem remains experimental.</li>
40 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
41</ul>
42<p>
43 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
44</p>
45<h4>Thanks</h4>
46<p>
47 This release was the work of many people. The following people contributed code and were thus easily identified:
48 ng0, Christian Grothoff, Daniel Golle, Martin Schanzenbach and Julius B&#xFC;nger.
49</p>
50{% endblock body_content %}
diff --git a/template/news/2019-0.11.5.html.j2 b/template/news/2019-0.11.5.html.j2
new file mode 100644
index 00000000..049aa8b5
--- /dev/null
+++ b/template/news/2019-0.11.5.html.j2
@@ -0,0 +1,47 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.5 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.5.
6<br>
7 This is a bugfix release for 0.11.4, mostly fixing a few minor bugs and improving performance, in particular for identity management with a large number of egos. In the wake of this release, we also launched the <a href="https://rest.gnunet.org">REST API documentation</a>. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.5 release is still only suitable for early adopters with some reasonable pain tolerance.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 gnunet-gtk saw some minor changes to adopt it to API changes in the main code related to the identity improvements. gnunet-fuse was not released again, as there were no changes and the 0.11.0 version is expected to continue to work fine with gnunet-0.11.5.
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<h4>Noteworthy changes in 0.11.5 (since 0.11.4)</h4>
25<ul>
26 <li><tt>gnunet-identity</tt> is much faster when creating or deleting egos given a large number of existing egos.</li>
27 <li>GNS now supports CAA records.</li>
28 <li>Documentation, comments and code quality was improved.</li>
29</ul>
30<h4>Known Issues</h4>
31<ul>
32 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
33 <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li>
34 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
35 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
36 <li>The RPS subsystem remains experimental.</li>
37 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
38</ul>
39<p>
40 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
41</p>
42<h4>Thanks</h4>
43<p>
44 This release was the work of many people. The following people contributed code and were thus easily identified:
45 Christian Grothoff, Florian Dold, Marcello Stanisci, ng0, Martin Schanzenbach and Bernd Fix.
46</p>
47{% endblock body_content %}
diff --git a/template/news/2019-0.11.6.html.j2 b/template/news/2019-0.11.6.html.j2
new file mode 100644
index 00000000..3ee063b3
--- /dev/null
+++ b/template/news/2019-0.11.6.html.j2
@@ -0,0 +1,52 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.6 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.6.
6<br>
7 This is a bugfix release for 0.11.5, fixing a lot of minor bugs, improving stability and code quality. Further, our videos are back on the homepage. In this release, we again improved the webpage in general and updated our documentation. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.6 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 gnunet-fuse was not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.6.
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<h4>Noteworthy changes in 0.11.6 (since 0.11.5)</h4>
25<ul>
26 <li><tt>gnunet-identity</tt> can now print private keys.</li>
27 <li>The <tt>REST</tt> service can be configured to echo the HTTP Origin header value for Cross-Origin-Resource-Sharing (CORS) when it is called by a browser plugin. Optionally, a CORS Origin to echo can be also be directly configured.</li>
28 <li><tt>re:claimID</tt> tickets are now re-used whenever possible.</li>
29 <li>SUID binary detection mechanisms implemented to improve compatiblity with some distributions.</li>
30 <li><tt>TRANSPORT</tt>, <tt>TESTBED</tt> and <tt>CADET</tt> tests now pass again on macOS.</li>
31 <li><tt>CADET</tt>: Replaced enum <tt>GNUNET_CADET_ChannelOption</tt> with <tt>GNUNET_MQ_PriorityPreferences</tt> in preparation of API changed in the future.</li>
32 <li>The GNS proxy Certification Authority is now generated using gnutls-certtool, if available, with opennssl/certtool as fallback.</li>
33 <li>Documentation, comments and code quality was improved.</li>
34</ul>
35<h4>Known Issues</h4>
36<ul>
37 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
38 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
39 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
40 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
41 <li>The RPS subsystem remains experimental.</li>
42 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
43</ul>
44<p>
45 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
46</p>
47<h4>Thanks</h4>
48<p>
49 This release was the work of many people. The following people contributed code and were thus easily identified:
50 Martin Schanzenbach, Julius B&uuml;nger, ng0, Christian Grothoff, Alexia Pagkopoulou, rexxnor, xrs, lurchi and t3sserakt.
51</p>
52{% endblock body_content %}
diff --git a/template/news/2019-0.11.7.html.j2 b/template/news/2019-0.11.7.html.j2
new file mode 100644
index 00000000..f2b38231
--- /dev/null
+++ b/template/news/2019-0.11.7.html.j2
@@ -0,0 +1,56 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.7 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.7.
6<br>
7 This is a bugfix release for 0.11.6, fixing a lot of minor bugs, improving stability and code quality. Further, win32 support was removed for reasons you may read below. In this release, we again improved the webpage in general and updated our documentation. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.7 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 gnunet-fuse is not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.7. The GPG key used to sign is: <tt>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</tt>
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<h4>Noteworthy changes in 0.11.7 (since 0.11.6)</h4>
25<ul>
26 <li><tt>ARM</tt>: GNUnet CLI tools are now able to detect if gnunet(-arm) is not running and will exit with a warning (before the command would just hang and wait for GNUnet to be started). #5906</li>
27 <li>win32 and mingw support were dropped, which resulted in a significant number of lines of code to be gone. The code has been unmaintained in our code base for many years and there are no known users. For details and further reasons refer to the discussion <a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-09/msg00002.html">in our archives</a>.</li>
28 <li>Removal of plibc, win32 and mingw support means you can now compile gnunet without requiring a Cxx compiler (you just need a C compiler). #5877</li>
29 <li><tt>REST</tt>: The new config endpoints can now be used to read and write the GNUnet config. #5808</li>
30 <li><tt>REST</tt>: The service is not started per user in multiuser setups.</li>
31 <li><tt>REST</tt>: Added tests for namestore and GNS. #5638</li>
32 <li><tt>re:claimID / OIDC</tt>: Now supports <a href="https://tools.ietf.org/html/rfc7636">PKCE</a>. #5807</li>
33 <li>SUID binary detection mechanisms implemented to improve compatiblity with some distributions.</li>
34 <li><tt>CREDENTIAL</tt> subsystem reworked and renamed to <tt>ABD</tt> (attribute-based delegation).</li>
35 <li><a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-10/msg00023.html">Minor TRANSPORT fixes</a> and <a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-10/msg00022.html">NAT changes</a>.</li>
36 <li><tt>GNS</tt> prepared code for <a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">LSD001 changes</a>. #5920</li>
37 <li>Documentation, comments and code quality was improved.</li>
38</ul>
39<h4>Known Issues</h4>
40<ul>
41 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
42 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
43 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
44 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
45 <li>The RPS subsystem remains experimental.</li>
46 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
47</ul>
48<p>
49 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
50</p>
51<h4>Thanks</h4>
52<p>
53 This release was the work of many people. The following people contributed code and were thus easily identified:
54 Martin Schanzenbach, ng0, Christian Grothoff, Alexia Pagkopoulou, Andreas Ebner, Corvus Corax, xrs and t3sserakt.
55</p>
56{% endblock body_content %}
diff --git a/template/news/2019-0.11.8.html.j2 b/template/news/2019-0.11.8.html.j2
new file mode 100644
index 00000000..9a92eaac
--- /dev/null
+++ b/template/news/2019-0.11.8.html.j2
@@ -0,0 +1,47 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.11.8 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.11.8.
6<br>
7 This is a hotfix release for 0.11.7. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.8 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>.
8</p>
9<h4>Download links</h4>
10<ul>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz</a></li>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz.sig</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz</a></li>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li>
17</ul>
18<p>
19 gnunet-fuse and gnunet-gtk were not released again, as there were no changes and the 0.11.0/0.11.7 versions are expected to continue to work fine with gnunet-0.11.8. The GPG key used to sign is: <tt>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</tt>
20</p>
21<p>
22 Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
23</p>
24<h4>Noteworthy changes in 0.11.8 (since 0.11.7)</h4>
25<ul>
26 <li><tt>GNS</tt> Portability fixes.</li>
27 <li><tt>PQ</tt>: Fixed build with postgresql plugin. (Regression introduces as part of #5733)</li>
28</ul>
29<h4>Known Issues</h4>
30<ul>
31 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
32 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
33 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
34 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
35 <li>The RPS subsystem remains experimental.</li>
36 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
37</ul>
38<p>
39 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
40</p>
41
42<h4>Thanks</h4>
43<p>
44 This release was the work of many people. The following people contributed code and were thus easily identified:
45 ng0, Daniel Golle.
46</p>
47{% endblock body_content %}
diff --git a/template/news/2019-0.12.0.html.j2 b/template/news/2019-0.12.0.html.j2
new file mode 100644
index 00000000..6cf68160
--- /dev/null
+++ b/template/news/2019-0.12.0.html.j2
@@ -0,0 +1,85 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.12.0 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.12.0.
6<br>
7 This is a new major release. It breaks protocol compatibility with the 0.11.x versions.
8 Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with
9 the 0.11.x GNUnet network, and interactions between old and new peers
10 will result in signature verification failures. 0.11.x peers will <b>NOT</b>
11 be able to communicate with Git master or 0.12.x peers.<br/>
12 In terms of usability, users should be aware that there are still
13 <b>a large number of known open issues</b> in particular with respect to ease
14 of use, but also some critical privacy issues especially for mobile users.
15 Also, the nascent network is tiny and thus unlikely to
16 provide good anonymity or extensive amounts of interesting information.
17 As a result, the 0.12.0 release is still <b>only suitable for early adopters
18 with some reasonable pain tolerance</b>.
19</p>
20<h4>Download links</h4>
21<ul>
22 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz</a></li>
23 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz.sig</a></li>
24 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz</a></li>
25 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig</a></li>
26 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz</a></li>
27 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig</a></li>
28</ul>
29<p>
30 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
31</p>
32<p>
33 Note that due to mirror synchronization, not all links might be functional
34 early after the release. For direct access try
35 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
36</p>
37<h4>Noteworthy changes in 0.12.0 (since 0.11.8)</h4>
38<ul>
39 <li><tt>GNS</tt>:
40 <ul>
41 <li>Changed key derivation protocols to adhere with <a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">LSD001</a>. <a href="https://bugs.gnunet.org/view.php?id=5921">#5921</a></li>
42 <li>Names are not expected to be UTF-8 (as opposed to IDNA). <a href="https://bugs.gnunet.org/view.php?id=5922">#5922</a></li>
43 <li>NSS plugin now properly handles non-standard IDNA names. <a href="https://bugs.gnunet.org/view.php?id=5927">#5927</a></li>
44 <li>NSS plugin will refuse to process requests from root (as GNUnet code should never run as root). <a href="https://bugs.gnunet.org/view.php?id=5927">#5907</a></li>
45 <li>Fixed BOX service/protocol label parsing (for TLSA et al)</li>
46 </ul>
47 </li>
48 <li><tt>GNS/NSE</tt>: Zone revocation proof of work algorithm changed to be less susceptible to specialized ASIC hardware.
49 <a href="https://bugs.gnunet.org/view.php?id=3795">#3795</a></li>
50 <li><tt>TRANSPORT</tt>: UDP plugin moved to experimental as it is known to be unstable.</li>
51 <li><tt>UTIL</tt>:
52 <ul>
53 <li>Improved and documented RSA binary format. <a href="https://bugs.gnunet.org/view.php?id=5968">#5968</a></li>
54 <li>Removed redundant hashing in EdDSA signatures. <a href="https://bugs.gnunet.org/view.php?id=5398">#5398</a></li>
55 <li>The <tt>gnunet-logread</tt> script for log auditing (requires perl) can now be installed.</li>
56 <li>Now using <a href="https://tweetnacl.cr.yp.to/">TweetNaCl</a> for ECDH implementation.</li>
57 </ul>
58 </li>
59 <li><tt>Buildsystem</tt>: A significant number of build system issued have been fixed and improvements implemented, including:
60 <ul>
61 <li>GLPK dependency dropped.</li>
62 <li>Fixed guix package definition.</li>
63 </ul>
64 </li>
65 <li><tt>Documentation</tt>: Improvements to the handbook and documentation.</li>
66</ul>
67<h4>Known Issues</h4>
68<ul>
69 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
70 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
71 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
72 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
73 <li>The RPS subsystem remains experimental.</li>
74 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
75</ul>
76<p>
77 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
78</p>
79
80<h4>Thanks</h4>
81<p>
82 This release was the work of many people. The following people contributed code and were thus easily identified:
83 ng0, Christian Grothoff, Florian Dold, xrs, Naomi Phillips and Martin Schanzenbach.
84</p>
85{% endblock body_content %}
diff --git a/template/news/2019-0.12.1.html.j2 b/template/news/2019-0.12.1.html.j2
new file mode 100644
index 00000000..7911fcd1
--- /dev/null
+++ b/template/news/2019-0.12.1.html.j2
@@ -0,0 +1,26 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.12.1 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.12.1.
6<br>
7 This is a very minor release. It largely fixes one function that is
8 needed by GNU Taler 0.6.0. Please read the release notes
9 for GNUnet 0.12.0, as they still apply. Updating is only recommended
10 for those using GNUnet in combination with GNU Taler.
11</p>
12<h4>Download links</h4>
13<ul>
14 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz</a></li>
15 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz.sig</a></li>
16</ul>
17<p>
18 The GPG key used to sign is: <tt>D8423BCB326C7907033929C7939E6BE1E29FC3CC</tt>
19</p>
20<p>
21 Note that due to mirror synchronization, not all links might be functional
22 early after the release. For direct access try
23 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
24</p>
25
26{% endblock body_content %}
diff --git a/template/news/2019-02.html.j2 b/template/news/2019-02.html.j2
new file mode 100644
index 00000000..0925eb75
--- /dev/null
+++ b/template/news/2019-02.html.j2
@@ -0,0 +1,75 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>2019-02: Topics for GSoC 2019</h1>
4<p>
5 GNUnet is participating in the Google Summer of Code again through GNU. If you are interested in any of these projects, reach out to us!
6</p>
7<section>
8 <h4>Android Port</h4>
9 <p>
10 It is time for GNUnet to run properly on Android. Note that GNUnet is written in C, and this is not about rewriting GNUnet in Java, but about getting the C code to run on Android.<br>
11 Mentor: <a href="https://www.goebel-consult.de/">Hartmut Goebel</a>
12 </p>
13</section>
14
15<section>
16 <h4>Help with Continuous Integration setup</h4>
17 <p>
18 There is a push for migrating our CI to Gitlab. The CI should eventually not just run "make check" on various platforms, but also perform tests with multiple peers running in different VMs with specific network topologies (i.e. NAT) between them being simulated. The CI should also be integrated with Gauger for performance regression analysis. Running jobs only when dependencies have changed and scripting more granular triggers or ideally automatic dependency discovery (as done by the autotools) is also important.<br>
19 Mentor: TBD
20 </p>
21</section>
22
23<section>
24 <h4>Migrate gnunet-qr from Python 2.7 to C using libzbar</h4>
25 <p>
26 Python 2.7 is reaching its end-of-life, and we want to get rid of the dependency on Python. The existing gnunet-qr tool is a rather simple wrapper around python-zbar, which itself wraps libzbar. The goal of this project is to directly use libzbar to scan QR codes for GNUnet / the GNU Name System (see also <a href="https://bugs.gnunet.org/view.php?id=5562">#5562</a>).<br>
27 Mentor: Christian Grothoff
28 </p>
29</section>
30
31<section>
32 <h4>re:claimID OpenID Connect performance improvements</h4>
33 <p>
34 reclaimID is a decentralized identity system build on top of the GNU Name System. Upon authorization, the user provides a requesting party (RP) such as a website with an authorization ticket (e.g. piggybacked in an OpenID authorization code). The RP uses information contained in this ticket to
35 </p>
36 <ol>
37 <li> Retrieve the decryption key from GNS</li>
38 <li> Retrieve the user attributes from GNS</li>
39 </ol>
40 <p>
41 The GNS lookups ensure that the RP receives up-to-date attributes and functional decryption keys. However, in particular the RP-specific encryption key resolution can be slow and even fail depending on the network topology. We propose that in an initial exchange, in particular OpenID authorization code flows, we try to incorporate key and maybe even an attribute set in the ticket exchange. In order to mitigate this issue, this project is meant to investigate and implement how...
42 </p>
43 <ol>
44 <li> ... decryption keys can be added to an initial exchange in OpenID.</li>
45 <li> ... initial set(s) of attributes can be piggybacked in OpenID.</li>
46 </ol>
47 <p>
48 Mentor: Martin Schanzenbach
49 </p>
50</section>
51
52<section>
53 <h4>re:claimID alternative GNS-based encryption</h4>
54 <p>
55 re:claimID is a decentralized identity system build on top of the GNU Name System. The initial design and implementation of re:claimID includes an attribute-based encryption module in order to prevent unauthorized access to attributes in the name system. Our motivation for re:claimID was for it to be name system agnostic, which means the design theoretically also works for other name systems such as namecoin. Other name systems often do not have built-in mechanisms in order to do this. Hence, we implemented an ABE access control layer. Our ABE implementation requires two third party libraries: libpbc and libgabe. While we could merge libgabe into the gnunet service implementation of re:claimID, libpbc is a rather large, third party library which lacks packaging in distributions and for platforms. On the other hand, GNS supports record data encryption using symmetric keys as labels. If we make the access control layer of re:claimID more generic in order to support both ABE and GNS encryption, we could reduce the required depenencies. This would result in gnunet packages to include re:claimID by default. In short, the goals are to...
56 </p>
57 <ol>
58 <li> ... improve performance by reducing encryption overhead.</li>
59 <li> ... reduce dependencies.</li>
60 </ol>
61 <p>
62 Mentor: Martin Schanzenbach
63 </p>
64</section>
65
66<section>
67 <h4>Enable all networking applications to run over GNUnet out of the box</h4>
68 <p>
69 One great problem of the current Internet is the lack of disintermediation. When people want to talk they need a chat service. When they want to share files they need a file transfer service. Although GNUnet already possesses quite advanced integration into Linux networking, a little extra work is needed for existing applications like irc, www, ftp, rsh, nntpd to run over it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. Once people have added a person to their GNS they can immediately message, exchange files and suchlike directly, with nothing but the GNUnet in the middle, using applications that have been distributed with unix systems ever since the 1980&#39;s. We can produce an OS distribution where these things work out of the box with the nicknames of people instead of cloud services. For more information and context, read <a href="https://bugs.gnunet.org/view.php?id=4625">bug id 4625</a>.
70 </p>
71 <p>
72 Mentors: lynX &amp; dvn
73 </p>
74</section>
75{% endblock body_content %}
diff --git a/template/news/2019-06-DSTJ.html.j2 b/template/news/2019-06-DSTJ.html.j2
new file mode 100644
index 00000000..0d1d3c67
--- /dev/null
+++ b/template/news/2019-06-DSTJ.html.j2
@@ -0,0 +1,14 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Peer DSTJ is dead, long live peer Y924</h1>
4<p>
5 After some issues with our infrastructure we needed to replace our bootstrapping peer. To avoid problems when connecting to GNUnet the operator of a peer needs to update its node by removing the peer ID <i>DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</i> from the system. Here are two strategies to find copies of the respective file:
6</p>
7<ol>
8 <li><tt>$ locate DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</tt></li>
9 <li><tt>$ find / -name DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</tt></li>
10</ol>
11<p>
12 Update: DSTJ has now been blacklisted. Please update your GNUnet peer.
13</p>
14{% endblock body_content %}
diff --git a/template/news/2019-06.html.j2 b/template/news/2019-06.html.j2
new file mode 100644
index 00000000..295138b9
--- /dev/null
+++ b/template/news/2019-06.html.j2
@@ -0,0 +1,7 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet Hacker Meeting 2019 at La D&#233;centrale, Switzerland</h1>
4 <p>
5 The members of the GNUnet community met again in the wonderful souroundings of St. Imier to hack on GNUnet. New people joined our sessions until late at night. From bug squashing to digging our own dog food, from workshops to theoretical discussions of new services and usecases. And of course, pizza was in the game.
6 </p>
7{% endblock body_content %}
diff --git a/template/news/2019-07-GHM_Aug_2019.html.j2 b/template/news/2019-07-GHM_Aug_2019.html.j2
new file mode 100644
index 00000000..c846432e
--- /dev/null
+++ b/template/news/2019-07-GHM_Aug_2019.html.j2
@@ -0,0 +1,7 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet Hacker Meeting in August 2019 at Wernsdort (near Berlin)</h1>
4 <p>
5 In August 2019, some of us met in Wernsdorf for focused work on GNUnet.
6 </p>
7{% endblock body_content %}
diff --git a/template/news/2019-10-GNSSpec1.html.j2 b/template/news/2019-10-GNSSpec1.html.j2
new file mode 100644
index 00000000..3941c162
--- /dev/null
+++ b/template/news/2019-10-GNSSpec1.html.j2
@@ -0,0 +1,19 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNS Technical Specification Milestone 1/4</h1>
4<p>
5 We are happy to announce the completion of the first milestone for the GNS Specification. The objective is to provide a detailed and comprehensive guide for implementors of the GNU Name System. The initial milestone consists of documenting the cryptographic principles of GNS data structures. This includes the specification of the GNS record wire and serialization formats as well as internationalization.<br>
6 <i>NOTE: The currently specified protocol is planned to be implemented for GNUnet 0.12. The current GNS implementation (0.11) exhibits minor but compatibility breaking deviations from this specification.</i> The draft specification <b>LSD001</b> can be found at:
7</p>
8<ul>
9 <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li>
10 <li><a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">Link to TXT version</a></li>
11 <li><a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.html">Link to HTML version</a></li>
12</ul>
13<p>
14 The next milestone will bring the resolver logic specification.
15</p>
16<p>
17 This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>.
18</p>
19{% endblock body_content %}
diff --git a/template/news/2019-10-ICANNPanel.html.j2 b/template/news/2019-10-ICANNPanel.html.j2
new file mode 100644
index 00000000..08885fa6
--- /dev/null
+++ b/template/news/2019-10-ICANNPanel.html.j2
@@ -0,0 +1,13 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet project invited to ICANN66</h1>
4<p>
5 We are delighted to announce that ICANN has invited the GNUnet project to speak at the <a href="https://meetings.icann.org/en/montreal66">next ICANN Annual General Meeting</a>. We have been invited to join a panel discussion on <i>Emerging Internet Identifier Technologies</i> in order to share our ideas and work on the <i>GNU Name System (GNS)</i>. ICANN generously offered to cover travel and accomodation.
6</p>
7<p>
8 The meeting will take place in Montreal between 2 - 7 November. The panel will tentatively be help on November 6th.
9</p>
10<p>
11 <b>UPDATE:</b> The panel is on Tueday, November 5th 13:30 EDT with the possibility of remote participation: <a href="https://66.schedule.icann.org/meetings/1116895">Link</a>
12</p>
13{% endblock body_content %}
diff --git a/template/news/2019-11-ICANNUpdate.html.j2 b/template/news/2019-11-ICANNUpdate.html.j2
new file mode 100644
index 00000000..1edbbb8c
--- /dev/null
+++ b/template/news/2019-11-ICANNUpdate.html.j2
@@ -0,0 +1,10 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNS&#64;ICANN66</h1>
4<p>
5 The <a href="https://meetings.icann.org/en/montreal66">ICANN Annual General Meeting</a> is concluded. We were invited to join a panel discussion on <i>Emerging Internet Identifier Technologies</i> in order to share our ideas and work on the <i>GNU Name System (GNS)</i>.
6</p>
7<p>
8 You can find the presentation on GNS in <a href="{{ url_localized('video.html') }}">our video section</a>. The handshake.org project, which proposes a decentralized, blockchain-based governance of the root zone (as opposed to governance by ICANN), joined us on the panel. The full video including questions and answers can be found <a href="https://icann.zoom.us/recording/share/M8N-Duq935XheIZoBedIwmi3VqRUAe2iOPwECiTNLxKwIumekTziMw?startTime=1572978711000">here</a>.
9</p>
10{% endblock body_content %}
diff --git a/template/news/2019-12-UpcomingTalks.html.j2 b/template/news/2019-12-UpcomingTalks.html.j2
new file mode 100644
index 00000000..b92d1cdd
--- /dev/null
+++ b/template/news/2019-12-UpcomingTalks.html.j2
@@ -0,0 +1,73 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Upcoming GNUnet Talks</h1>
4 <p>There will be various talks in the next few months on GNUnet and related
5 projects on both the Chaos Communication Congress (36C3) as well as FOSDEM.
6 Here is an overview:
7 </p>
8 <h2>Privacy and Decentralization @ 36c3 (YBTI)</h2>
9 <p>
10 We are pleased to have 5 talks to present as part of our
11 "youbroketheinternet/wefixthenet" session, taking place on the
12 <a href="https://oio.social/">OIO (Open
13 Infrastructure Orbit)</a> stage:
14 </p>
15
16 <ul>
17 <li>
18 "re:claimID - Self-sovereign, Decentralised Identity Management and
19 Personal Data Sharing" by Hendrik Meyer zum Felde
20 will take place at 2019-12-27 18:30 in OIO Stage.
21 <a href="https://talks.oio.social/36c3-oio/talk/XHLTUD/">Info</a>
22 </li>
23 <li>
24 "Buying Snacks via NFC with GNU Taler" by Dominik Hofer
25 will take place at 2019-12-27 21:20 in OIO Stage
26 <a href="https://talks.oio.social/36c3-oio/talk/MMB78C/">Info</a>
27 </li>
28 <li>
29 "CloudCalypse 2: Social network with net2o" by Bernd Paysan
30 will take place at 2019-12-28 21:20 in OIO Stage
31 <a href="https://talks.oio.social/36c3-oio/talk/GUZH7V/">Info</a>
32 </li>
33 <li>
34 "Delta Chat: e-mail based messaging, the Rustocalypse and UX driven
35 approach" by holger krekel
36 will take place at 2019-12-29 17:40 in OIO Stage
37 <a href="https://talks.oio.social/36c3-oio/talk/WSLWVM/">Info</a>
38 </li>
39 <li>
40 "Cryptography of Killing Proof-of-Work" by Jeff Burdges
41 will take place at 2019-12-30 12:00 in OIO Stage
42 <a href="https://talks.oio.social/36c3-oio/talk/GGV8G3/">Info</a>
43 </li>
44 </ul>
45
46 <p>
47 In addition to these talks, we will be hosting a snack machine which
48 accepts <a href="https://taler.net">Taler</a> for payment.
49 The first of its kind! It will be filled
50 with various goodies, including Swiss chocolates, books, and electronics.
51 The machine will be located somewhere in the OIO assembly, and there
52 will be a station at which you may exchange Euro for digital Euro for
53 immediate use.
54 We welcome all to come try it out. :)
55 </p>
56 <h2>Decentralized Internet and Privacy devroom @FOSDEM 2020</h2>
57 <p>
58 We have 2 GNUnet-related talks at the
59 <a href="https://fosdem.org/2020/schedule/track/decentralized_internet_and_privacy/">
60 Decentralized Internet and Privacy devroom</a> at FOSDEM 2020 in February:
61 </p>
62 <ul>
63 <li>
64 GNUnet: A network protocol stack for building secure, distributed, and
65 privacy-preserving applications
66 <a href="https://fosdem.org/2020/schedule/event/dip_gnunet/">Info</a>
67 </li>
68 <li>
69 Knocking Down the Nest: secushareBOX - p2p, encrypted IoT and beyond...
70 <a href="https://fosdem.org/2020/schedule/event/dip_secusharebox/">Info</a>
71 </li>
72 </ul>
73{% endblock body_content %}
diff --git a/template/news/2020-01-0.12.2.html.j2 b/template/news/2020-01-0.12.2.html.j2
new file mode 100644
index 00000000..21375aa6
--- /dev/null
+++ b/template/news/2020-01-0.12.2.html.j2
@@ -0,0 +1,71 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.12.2 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.12.2.
6<br>
7 This is a new bugfix release.
8 In terms of usability, users should be aware that there are still
9 <b>a large number of known open issues</b> in particular with respect to ease
10 of use, but also some critical privacy issues especially for mobile users.
11 Also, the nascent network is tiny and thus unlikely to
12 provide good anonymity or extensive amounts of interesting information.
13 As a result, the 0.12.2 release is still <b>only suitable for early adopters
14 with some reasonable pain tolerance</b>.
15</p>
16<h4>Download links</h4>
17<ul>
18 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz</a></li>
19 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz.sig</a></li>
20 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz</a></li>
21 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig</a></li>
22 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz</a></li>
23 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig</a></li>
24</ul>
25<p>
26 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
27</p>
28<p>
29 Note that due to mirror synchronization, not all links might be functional
30 early after the release. For direct access try
31 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
32</p>
33<h4>Noteworthy changes in 0.12.2 (since 0.12.1)</h4>
34<ul>
35 <li>
36 <tt>GNS</tt>: Resolver clients are now able to specify a recursion depth limit.
37 </li>
38 <li>
39 <tt>TRANSPORT/TNG</tt>: The transport rewrite (aka TNG) is underway and
40 various transport components have been worked on, including TCP, UDP and UDS
41 communicators.
42 </li>
43 <li>
44 <tt>RECLAIM</tt>: Added preliminary support for third party attested
45 credentials.
46 </li>
47 <li>
48 <tt>UTIL</tt>: The cryptographic changes introduced in 0.12.0 broke ECDSA
49 ECDH and consequently other components. The offending ECDSA key normalization
50 was dropped.
51 </li>
52</ul>
53<h4>Known Issues</h4>
54<ul>
55 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
56 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
57 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
58 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
59 <li>The RPS subsystem remains experimental.</li>
60 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
61</ul>
62<p>
63 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
64</p>
65
66<h4>Thanks</h4>
67<p>
68 This release was the work of many people. The following people contributed code and were thus easily identified:
69 Christian Grothoff, Florian Dold, Christian Ulrich, dvn, lynx and Martin Schanzenbach.
70</p>
71{% endblock body_content %}
diff --git a/template/news/2020-01-GNSSpec2.html.j2 b/template/news/2020-01-GNSSpec2.html.j2
new file mode 100644
index 00000000..e673d35d
--- /dev/null
+++ b/template/news/2020-01-GNSSpec2.html.j2
@@ -0,0 +1,28 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNS Technical Specification Milestone 2/4</h1>
4<p>
5 We are happy to announce the completion of the second milestone for the GNS
6 Specification. The second milestone consists of documenting the GNS name
7 resolution process and record handling.<br>
8 With the release of GNUnet 0.12.x, the currently specified protocol is
9 implemented according to the specification. As before, the draft specification
10 <b>LSD001</b> can be found at:
11</p>
12<ul>
13 <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li>
14 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li>
15 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li>
16</ul>
17<p>
18 As already announced on the <a href="https://lists.gnu.org/archive/html/gnunet-developers/2020-01/msg00000.html">mailing list</a>,
19 the Go implementation of GNS is also proceeding as planned and implements the
20 specification.
21</p>
22<p>
23 The next and third milestone will cover namespace revocation.
24</p>
25<p>
26 This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>.
27</p>
28{% endblock body_content %}
diff --git a/template/news/2020-05-GHM_Jun_2020.html.j2 b/template/news/2020-05-GHM_Jun_2020.html.j2
new file mode 100644
index 00000000..f270d87d
--- /dev/null
+++ b/template/news/2020-05-GHM_Jun_2020.html.j2
@@ -0,0 +1,8 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Online GNUnet Hacker Meeting in June 2020</h1>
4 <p>
5 We are happy to announce that we will have a GNUnet
6 Hacker Meeting from 17-21 of June 2020 taking place online. For more information see <a href="https://md.hasi.it/s/gnunet">here</a>.
7 </p>
8{% endblock body_content %}
diff --git a/template/news/2020-06-GNSSpec3.html.j2 b/template/news/2020-06-GNSSpec3.html.j2
new file mode 100644
index 00000000..2e69ccb9
--- /dev/null
+++ b/template/news/2020-06-GNSSpec3.html.j2
@@ -0,0 +1,25 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNS Technical Specification Milestone 3/4</h1>
4<p>
5 We are happy to announce the completion of the third milestone for the GNS
6 Specification. The third milestone consists of documenting the GNS zone
7 revocation process. As part of this, we have reworked the proof-of-work
8 algorithms in GNUnet also used for GNS revocations.<br>
9 The (protocol breaking) changes will be released as part of GNUnet 0.13.0.
10 The specification document <b>LSD001</b> can be found at:
11</p>
12<ul>
13 <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li>
14 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li>
15 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li>
16</ul>
17<p>
18 In preparation for the fourth and last milestone, we have started the
19 <a href="https://mailarchive.ietf.org/arch/msg/secdispatch/Kj8zXoQssiFLp8bM5l5n1OtXt7s/">IETF process to find a working group</a> and expect to present our
20 work initially at <a href="https://ietf.org/how/meetings/108/">IETF 108</a>.
21</p>
22<p>
23 This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>.
24</p>
25{% endblock body_content %}
diff --git a/template/news/2020-07-0.13.0.html.j2 b/template/news/2020-07-0.13.0.html.j2
new file mode 100644
index 00000000..ef8c0d89
--- /dev/null
+++ b/template/news/2020-07-0.13.0.html.j2
@@ -0,0 +1,103 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.13.0 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.13.0.
6<br>
7 This is a new major release. It breaks protocol compatibility with the 0.12.x versions.
8 Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with
9 the 0.12.x GNUnet network, and interactions between old and new peers
10 will result in signature verification failures. 0.12.x peers will <b>NOT</b>
11 be able to communicate with Git master or 0.13.x peers.<br/>
12 In terms of usability, users should be aware that there are still
13 <b>a large number of known open issues</b> in particular with respect to ease
14 of use, but also some critical privacy issues especially for mobile users.
15 Also, the nascent network is tiny and thus unlikely to
16 provide good anonymity or extensive amounts of interesting information.
17 As a result, the 0.13.0 release is still <b>only suitable for early adopters
18 with some reasonable pain tolerance</b>.
19</p>
20<h4>Download links</h4>
21<ul>
22 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz</a></li>
23 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz.sig</a></li>
24 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz</a></li>
25 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz.sig</a></li>
26 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz</a></li>
27 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz.sig</a></li>
28</ul>
29<p>
30 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
31</p>
32<p>
33 Note that due to mirror synchronization, not all links might be functional
34 early after the release. For direct access try
35 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
36</p>
37<h4>Noteworthy changes in 0.13.0 (since 0.12.2)</h4>
38<ul>
39 <li><tt>GNS</tt>:
40 <ul>
41 <li>Aligned with specification <a href="https://lsd.gnunet.org/lsd0001/">LSD001</a>.
42 <li>NSS plugin "block" fixed. <a href="https://bugs.gnunet.org/view.php?id=5782">#5782</a></li>
43 <li>Broken set NICK API removed.<a href="https://bugs.gnunet.org/view.php?id=6092">#6092</a></li>
44 <li>New record flags: SUPPLEMENTAL. Records which are not explicitly
45 configured/published under a specific label but which are still
46 informational are returned by the resolver and flagged accordingly. <a href="https://bugs.gnunet.org/view.php?id=6103">#6103</a></li>
47 <li><tt>gnunet-namestore</tt> now complains when adding TLSA or SRV records outside of a BOX</li>
48 </ul>
49 </li>
50 <li>
51 <tt>CADET</tt>: Fixed tunnel establishment as well as an outstanding bug regarding tunnel destruction. <a href="https://bugs.gnunet.org/view.php?id=5822">#5822</a>
52 </li>
53 <li><tt>GNS/REVOCATION</tt>: Revocation proof of work has function changed to
54 argon2 and modified to reduce variance.</li>
55 <li><tt>RECLAIM</tt>: Increased ticket length to 256 bit. <a href="https://bugs.gnunet.org/view.php?id=6047">#6047</a></li>
56 <li><tt>TRANSPORT</tt>: UDP plugin moved to experimental as it is known to be unstable.</li>
57 <li><tt>UTIL</tt>:
58 <ul>
59 <li>Serialization / file format of ECDSA private keys harmonized with
60 other libraries. Old private keys will no longer work! <a href="https://bugs.gnunet.org/view.php?id=6070">#6070</a></li>
61 <li>Now using <a href="https://doc.libsodium.org/">libsodium</a> for EC
62 cryptography.</li>
63 <li>Builds against cURL which is not linked against gnutls are now possible but still not recommended.
64 Configure will warn that this will impede the GNS functionality. This change will make hostlist discovery
65 work more reliable for some distributions.</li>
66 <li><tt>GNUNET_free_non_null</tt> removed. <tt>GNUNET_free</tt> changed to not assert that the pointer is not NULL.
67 For reference see the <a href="https://taler.net/papers/codeblau-report-2020-q2.pdf">Taler security audit</a>.</li>
68 <li>AGPL request handlers added GNUnet and extension templates.</li>
69 </ul>
70 </li>
71 <li><b>(NEW) </b><tt>GANA Registry</tt>: We have established a registry to be used for names and numbers in GNUnet.
72 This includes constants for protocols including GNS record types and GNUnet peer-to-peer messages. See <a href="https://gana.gnunet.org">GANA</a>.</li>
73 <li><b>(NEW) </b><tt>Living Standards</tt>: LSD subdomain and LSD0001 website: <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li>
74 <li><b>(NEW) </b><tt>Continuous integration</tt>: <a href="https://buildbot.gnunet.org">Buildbot</a> is back.</li>
75 <li><tt>Buildsystem</tt>: A significant number of build system changes:
76 <ul>
77 <li>libmicrohttpd and libjansson are now required dependencies.</li>
78 <li>New dependency: <a href="https://doc.libsodium.org/">libsodium</a>.</li>
79 <li>Fixed an issue with libidn(2) detection.</tt>
80 </ul>
81 </li>
82</ul>
83A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and
84the <a href="https://bugs.gnunet.org/roadmap_page.php?version_id=338">0.13.0 bugtracker</a>.
85<h4>Known Issues</h4>
86<ul>
87 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
88 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
89 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
90 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
91 <li>The RPS subsystem remains experimental.</li>
92 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
93</ul>
94<p>
95 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
96</p>
97
98<h4>Thanks</h4>
99<p>
100 This release was the work of many people. The following people contributed code and were thus easily identified:
101 Christian Grothoff, Florian Dold, Jonathan Buchanan, t3sserakt, nikita and Martin Schanzenbach.
102</p>
103{% endblock body_content %}
diff --git a/template/news/2020-07-0.13.1.html.j2 b/template/news/2020-07-0.13.1.html.j2
new file mode 100644
index 00000000..b7670242
--- /dev/null
+++ b/template/news/2020-07-0.13.1.html.j2
@@ -0,0 +1,29 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.13.1 released</h1>
4<p>
5 This is a bugfix release for gnunet and gnunet-gtk specifically.
6 <br>
7 For gnunet, no changes to the source have been made. However,
8 the default configuration had to be modified to support the changes
9 made in 0.13.0.
10 <br>
11 For gnunet-gtk, this fixes a more serious issue where the
12 0.13.0 tarball failed to build.
13</p>
14<h4>Download links</h4>
15<ul>
16 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz</a></li>
17 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz.sig</a></li>
18 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz</a></li>
19 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz.sig</a></li>
20</ul>
21<p>
22 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
23</p>
24<p>
25 Note that due to mirror synchronization, not all links might be functional
26 early after the release. For direct access try
27 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
28</p>
29{% endblock body_content %}
diff --git a/template/news/2020-08-0.13.2.html.j2 b/template/news/2020-08-0.13.2.html.j2
new file mode 100644
index 00000000..3dfa7e61
--- /dev/null
+++ b/template/news/2020-08-0.13.2.html.j2
@@ -0,0 +1,58 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3<h1>GNUnet 0.13.2 released</h1>
4<p>
5 This is a bugfix release for gnunet 0.13.1.<br/>
6 It fixes some build issues and contains changes to the REST API
7 implmementation (no change in the API itself) as well as OpenID Connect related
8 fixes to re:claimID.
9</p>
10<h4>Download links</h4>
11<ul>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz.sig</a></li>
14</ul>
15<p>
16 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
17</p>
18<p>
19 Note that due to mirror synchronization, not all links might be functional
20 early after the release. For direct access try
21 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
22</p>
23<h4>Noteworthy changes in 0.13.2 (since 0.13.1)</h4>
24<ul>
25 <li><tt>REST</tt>:
26 <ul>
27 <li>Plugins may now handle any namespace. <a href="https://bugs.gnunet.org/view.php?id=6462">#6462</a></li>
28 <li>Fixed incomplete/missing cleanup and teardown of REST plugins.</li>
29 </ul>
30 </li>
31 <li><tt>RECLAIM</tt>:
32 <ul>
33 <li>Support for <tt>/.well-known/openid-configuration</tt>. <a href="https://bugs.gnunet.org/view.php?id=6463">#6463</a></li>
34 <li>Support for standard scope values (<tt>profile, address, email, phone</tt>) and corresponding mapping to standard claim values</li>
35 <li>Correct processing of <tt>claims</tt> parameter for individual claim requests.</li>
36 <li>Support for <tt>POST</tt> token request.</li>
37 <li>Support for public clients (Token request without client secrets).</li>
38 <li>Fixed urlencoding of parameters on redirect</li>
39 </ul>
40 </li>
41 <li><tt>UTIL</tt>: New string API for percent-encode/decode.</li>
42 <li><tt>MYSQL</tt>: Fix version detection and build against mysql-8 and later. <a href="https://bugs.gnunet.org/view.php?id=6465">#6465</a></li>
43 <li><tt>POSTGRESQL</tt>: Ensure postgresql fails hard if there is an error in the SQL. <a href="https://bugs.gnunet.org/view.php?id=6437">#6437</a></li>
44 <li><tt>Extensions</tt>:
45 <ul>
46 <li>Load GNSRECORD plugins within GNUnet's context.</li>
47 <li>Add convenience function to return GNUnet's default configuration.</li>
48 </ul>
49 </li>
50</ul>
51
52<h4>Thanks</h4>
53<p>
54 This release was the work of many people. The following people contributed code and were thus easily identified:
55 Christian Grothoff, Florian Dold, Alessio Vanni, t3sserakt, Martin Schanzenbach.
56</p>
57
58{% endblock body_content %}
diff --git a/template/news/2020-09-0.13.3.html.j2 b/template/news/2020-09-0.13.3.html.j2
new file mode 100644
index 00000000..dc9440c3
--- /dev/null
+++ b/template/news/2020-09-0.13.3.html.j2
@@ -0,0 +1,51 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3<h1>GNUnet 0.13.3 released</h1>
4<p>
5 Continuing to "release early / release often", we present
6 GNUnet 0.13.3. This is a bugfix release for gnunet 0.13.2.<br/>
7 It fixes some build issues and contains major changes to
8 the re:claimID API.
9</p>
10<h4>Download links</h4>
11<ul>
12 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz</a></li>
13 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz.sig</a></li>
14</ul>
15<p>
16 The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt>
17</p>
18<p>
19 Note that due to mirror synchronization, not all links might be functional
20 early after the release. For direct access try
21 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
22</p>
23<h4>Noteworthy changes in 0.13.3 (since 0.13.2)</h4>
24<ul>
25 <li><tt>REST</tt>:
26 <ul>
27 <li>re:claimID attestation API change reflected in endpoint naming.</li>
28 <li>Fix regression in <tt>NAMESTORE</tt> REST API endpoint processing.</li>
29 </ul>
30 </li>
31 <li><tt>RECLAIM</tt>:
32 "Attestations" renamed to "Credentials". Credentials are now converted to "Presentations" when a ticket is issued in preparation
33 for <a href="https://www.w3.org/TR/vc-data-model/">DID-style VCs</a> and Privacy-ABCs.
34 </li>
35 <li><tt>UTIL</tt>: Fix <tt>gnunet-qr</tt> device parameter.</li>
36 <li><tt>SET</tt>: Separated into set intersection (SETI) and set union subsystems (SETU).</a></li>
37 <li><tt>BUILD</tt>:
38 <ul>
39 <li>Fix build on OpenBSD.</li>
40 <li>Correctly check for required libsodium version. <a href="https://bugs.gnunet.org/view.php?id=6506">#6506</a></li>
41 </ul>
42 </li>
43</ul>
44
45<h4>Thanks</h4>
46<p>
47 This release was the work of many people. The following people contributed code and were thus easily identified:
48 Christian Grothoff, Jonathan Buchanan, Johannes Späth and Martin Schanzenbach.
49</p>
50
51{% endblock body_content %}
diff --git a/template/news/2020-11-0.14.0.html.j2 b/template/news/2020-11-0.14.0.html.j2
new file mode 100644
index 00000000..853b4548
--- /dev/null
+++ b/template/news/2020-11-0.14.0.html.j2
@@ -0,0 +1,81 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.14.0 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.14.0.
6<br>
7 This is a new major release. It breaks protocol compatibility with the 0.13.x versions.
8 Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with
9 the 0.13.x GNUnet network, and interactions between old and new peers
10 will result in issues. 0.13.x peers will be able to communicate with Git
11 master or 0.13.x peers, but some services - in particular GNS - will not be compatible.<br/>
12 In terms of usability, users should be aware that there are still
13 <b>a large number of known open issues</b> in particular with respect to ease
14 of use, but also some critical privacy issues especially for mobile users.
15 Also, the nascent network is tiny and thus unlikely to
16 provide good anonymity or extensive amounts of interesting information.
17 As a result, the 0.14.0 release is still <b>only suitable for early adopters
18 with some reasonable pain tolerance</b>.
19</p>
20<h4>Download links</h4>
21<ul>
22 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz</a></li>
23 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz.sig</a></li>
24 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz</a></li>
25 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz.sig</a></li>
26 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz</a></li>
27 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz.sig</a></li>
28</ul>
29<p>
30 The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a>
31</p>
32<p>
33 Note that due to mirror synchronization, not all links might be functional
34 early after the release. For direct access try
35 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
36</p>
37<h4>Noteworthy changes in 0.14.0 (since 0.13.3)</h4>
38<ul>
39 <li><tt>GNS</tt>:
40 <ul>
41 <li>Aligned with specification <a href="https://lsd.gnunet.org/lsd0001/">LSD001</a>.
42 <li>Crypto agility: The GNS protocol now supports other zone types besides ECDSA-based PKEYs.
43 However, the alternative EdDSA-based EDKEY crypto is not yet implemented. <a href="https://bugs.gnunet.org/view.php?id=6485">#6485</a></li>
44 <li>PKEY zones: ECDSA zone record sets are now encrypted using AES-CTR. <a href="https://bugs.gnunet.org/view.php?id=6487">#6487</a></li>
45 </ul>
46 </li>
47 <li>
48 <tt>IDENTITY</tt>: Identities can now be created either as ECDSA (default) or EdDSA key pairs.</li>
49 </li>
50 <li>
51 <tt>POSTGRESQL</tt>: Allow NULL value returns and fix test cases. <a href="https://bugs.gnunet.org/view.php?id=6524">#6524</a>
52 </li>
53 <li><tt>UTIL</tt>:
54 String time conversion functions no longer localized to preserve reversibility. <a href="https://bugs.gnunet.org/view.php?id=6615">#6615</a>
55 </li>
56 <li><tt>Buildsystem</tt>: README updates to clarify runtime/compile/optional dependencies</li>
57 <li><b>(NEW)</b> <tt>MESSENGER</tt>: New messenger component (experimental)</li>
58</ul>
59<p>
60 A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and
61 the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.14.0 bugtracker</a>.
62</p>
63<h4>Known Issues</h4>
64<ul>
65 <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li>
66 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
67 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
68 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
69 <li>The RPS subsystem remains experimental.</li>
70 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
71</ul>
72<p>
73 In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues.
74</p>
75
76<h4>Thanks</h4>
77<p>
78 This release was the work of many people. The following people contributed code and were thus easily identified:
79 Christian Grothoff, Daniel Golle, t3sserakt, TheJackiMonster and Martin Schanzenbach.
80</p>
81{% endblock body_content %}
diff --git a/template/news/2020-11-GNSSpec4.html.j2 b/template/news/2020-11-GNSSpec4.html.j2
new file mode 100644
index 00000000..13e0f28d
--- /dev/null
+++ b/template/news/2020-11-GNSSpec4.html.j2
@@ -0,0 +1,45 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNS Technical Specification Milestone 4/4 and Packaging 1+2</h1>
4<p>
5 We are happy to announce the completion of the fourth and last milestone for the GNS
6 Specification. The fourth milestone consists of involving a broader community
7 for feedback and improvements:
8<p>
9<ul>
10 <li><a href="https://news.ycombinator.com/item?id=23766947">Hacker News</a></li>
11 <li><a href="https://datatracker.ietf.org/meeting/108/session/secdispatch">IETF 108 secdispatch</a>
12 (see also associated discussions on the mailinglist)</li>
13 <li><a href="https://centr.org/news/news/alternative-dns.html">Reporting on IETF secdispatch</a></li>
14 <li><a href="https://mailarchive.ietf.org/arch/msg/din/jkbYgEsyuZCknyYQxN-LxDtWpsY/">IRTF DINRG</a></li>
15 <li><a href="https://lists.gnu.org/archive/html/gnunet-developers/2020-07/msg00043.html">Mailing list</a></li>
16</ul>
17<p>
18 Based on this and private feedback received, we updated the draft and
19 the implementation. Most notably, GNS now supports alternative cryptographic
20 schemes for zone keys ("crypto agility") which allows alternative zone types.
21 The (protocol breaking) changes will be released as part of GNUnet 0.14.0.
22 The specification document <b>LSD001</b> can be found at:
23</p>
24<ul>
25 <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li>
26 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li>
27 <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li>
28 <li><a href="https://datatracker.ietf.org/doc/draft-schanzen-gns/">Link to IETF Datatracker (updated less frequently)</a></li>
29</ul>
30<p>
31 Further, work on packaging has been done on Alpine (Packaging 1) and Debian (Packaging 2) packages.
32 The packaging for Alpine is complete, the Debian package is in progress as
33 review and final integration is out of our hands. For reference see also:
34</p>
35<ul>
36 <li><a href="https://pkgs.alpinelinux.org/packages?name=gnunet&branch=edge">Alpine package</a></li>
37 <li><a href="https://salsa.debian.org/debian/gnunet/-/merge_requests/3">Debian package</a></li>
38</ul>
39<p>
40 We will continue to engage with IETF/IRTF as much as possible (online or in-person)
41 including future presentations and discussions at IETF/IRTF.
42 There is still a packaging task open for Fedora (3) which is still work in progress.
43 This work was (and other aspects still are) generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>.
44</p>
45{% endblock body_content %}
diff --git a/template/news/2021-03-0.14.1.html.j2 b/template/news/2021-03-0.14.1.html.j2
new file mode 100644
index 00000000..0249b984
--- /dev/null
+++ b/template/news/2021-03-0.14.1.html.j2
@@ -0,0 +1,48 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3<h1>GNUnet 0.14.1</h1>
4<p>
5Continuing to "release early / release often", we present
6GNUnet 0.14.1. This is a bugfix release for gnunet 0.14.0.
7</p>
8<h4>Download links</h4>
9<ul>
10 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz</a></li>
11 <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz.sig</a></li>
12</ul>
13<p>
14The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a>
15</p>
16<p>
17Note that due to mirror synchronization, not all links may be functional
18early after the release. For direct access try
19<a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
20</p>
21<h4>Noteworthy changes in 0.14.1 (since 0.14.0)</h4>
22<ul>
23 <li><tt>TNG</tt>: Various improvements to communicators. <a href="https://bugs.gnunet.org/view.php?id=6361">#6361</a>,<a href="https://bugs.gnunet.org/view.php?id=5550">#5550</a>
24 </li>
25 <li><tt>GNS</tt>: Use autogenerated records header file from GANA.</li>
26 <li><tt>FS</tt>: Improve modularity of FS structs. <a href="https://bugs.gnunet.org/view.php?id=6743">#6743</a></li>
27 <li><tt>SETU</tt>: Various improvements as part of the ongoing work on <a href="https://lsd.gnunet.org/lsd0003">LSD0003</a>.</li>
28 <li><tt>IDENTITY</tt>: Fix wrong key construction for anonymous ECDSA identity.</li>
29 <li><tt>RPS</tt>: Code cleanup mostly addressing warnings.</li>
30 <li><tt>UTIL</tt>:
31 <ul>
32 <li>Added a Base32 en/decoded CLI <tt>gnunet-base32</tt>.</li>
33 <li>Use timeflakes as UUIDs. <a href="https://bugs.gnunet.org/view.php?id=6716">#6716</a></li>
34 </ul>
35 </li>
36 <li><tt>Buildsystem</tt>: Fix libunistring detection. <a href="https://bugs.gnunet.org/view.php?id=6485">#6485</a></li>
37</ul>
38<p>
39A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and
40the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.14.1 bugtracker</a>.
41</p>
42
43<h4>Thanks</h4>
44<p>
45This release was the work of many people. The following people contributed code and were thus easily identified:
46Christian Grothoff, Florian Dold, t3sserakt, TheJackiMonster, Elias Summermatter, Julius Bünger and Thien-Thi Nguyen.
47</p>
48{% endblock body_content %}
diff --git a/template/news/2021-03-gsoc-update.html.j2 b/template/news/2021-03-gsoc-update.html.j2
new file mode 100644
index 00000000..d638549a
--- /dev/null
+++ b/template/news/2021-03-gsoc-update.html.j2
@@ -0,0 +1,13 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>No GSoC projects in 2021</h1>
4<p>
5 For 2021, <a href="https://lists.gnu.org/archive/html/summer-of-code/2021-03/msg00000.html">GNU has not been selected as a GSoC organization</a>.
6 This also means that <a href="{{ url_localized('gsoc.html')}}">GNUnet GSoC
7 projects</a> will not be offered through the GSoC programme.
8 Thanks to all of those interested in our proposed projects and their efforts
9 in preparing proposals, including preliminary discussions with us.
10 If you are still interested in tackling any of the proposed open issues, you
11 are very welcome to do so.
12<p>
13{% endblock body_content %}
diff --git a/template/news/2021-05-DISSENS.html.j2 b/template/news/2021-05-DISSENS.html.j2
new file mode 100644
index 00000000..d67f33a5
--- /dev/null
+++ b/template/news/2021-05-DISSENS.html.j2
@@ -0,0 +1,67 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>DISSENS: Decentralized Identities for Self-sovereign End-users (NGI TRUST)</h1>
4<p>
5 Since mid 2020, a consortium between <a class="link" href="https://taler.net">Taler Systems S.A.</a>,
6the <a class="link" href="https://bfh.ch">Bern University of Applied Sciences</a> and <a class="link" href="https://aisec.fraunhofer.de">Fraunhofer AISEC</a> has been working
7 on bringing privacy-friendly payments using GNU Taler and self-sovereign
8 identity using GNUnet's <a class="link" href="https://reclaim.gnunet.org">re:claimID</a>
9 together in an e-commerce framework.
10</p>
11<p>
12<img style="width: 100%; border: 1px solid #333" src="{{ url_static('dissens-overview.png')}}"/>
13</p>
14<h2>Content</h2>
15<p>
16 Registrations of accounts prior to receiving services online is the standard process for commercial offerings on the Internet which depend on two corner stones of the Web: Payment processing and digital identities. The use of third-party identity provider services (IdPs) is practical as it delegates the task of verifying and storing personal information. The use of payment processors is convenient for the customer as it provides one-click payments. However, the quasi-oligopoly of services providers in those areas include Google and Facebook for identities and PayPal or Stripe for payment processing. Those corporations are not only based in privacy-unfriendly jurisdictions, but also exploit private data for profit.
17</p>
18<p>
19DISSENS makes the case that what is urgently needed are fundamentally different, user-centric and privacy-friendly alternatives to the above.
20Self-sovereign identity (SSI) management is the way to replace IdPs with a user-centric, decentralized mechanism where data and access control is fully under the control of the data subject.
21In combination with a privacy-friendly payment system, DISSENS aims to achieve the same one-click user experience that is currently achieved by privacy-invasive account-based Web shops, but without the users having to setup accounts.
22</p>
23<p>
24To achieve this, DISSENS integrates re:claimID with the GNU Taler payment system in a pilot in order to demonstrate the practical feasibility and benefits of privacy enhancing technologies for users and commercial service providers.
25DISSENS also implements a reference scenario which includes credentials issued by the partners Fraunhofer AISEC and BFH for employees and students, respectively. Users are able to access and use a pilot service developed by Taler Systems S.A. while being able to claim specific discounts for students and researchers.
26</p>
27<p>
28This approach offers significant benefits over existing solutions built using other SSI systems such as <a class="link" href="https://www.sovrin.org">Sovrin</a> or <a class="link" href="https://www.serto.id">serto</a> (formerly uPort):
29</p>
30<b>No gatekeepers; No vendor lock-in:</b>
31<p>
32The approach is completely open to issuers and does not impose any registration restrictions (such as registration fees) in order to define domain specific credentials. Further, the system does not impose a consortium-based governance model — which tend to eventually be driven by commercial interests and not consumer interests. The design enables all participants in the ecosystem to participate without prior onboarding while at the same time being offered full transparency and control regarding their personal data and processes involved.
33</p>
34<b>Support for non-interactive business processes:</b>
35<p>
36At the same time, unlike the SSI systems cited above, re:claimID offers a way to access user information without online interaction with the user. Offline access of shared identity data is a crucial requirement in almost any business process as such processes often occur after direct interaction with the user. For example, customer information such as billing addresses are required in — possibly recurring — back office billing processes which occur well after interaction with a customer.
37</p>
38<b>Scalability and sustainability:</b>
39<p>
40Finally, both re:claimID as the SSI system as well as Taler do not suffer from the usual predicament Blockchain-based systems find themselves in: Both systems do not require a decentralized, public ledger. This eliminates the need for consensus mechanisms, which do not scale and are ecologically unsustainable. In fact, DISSENS employs decentralization only where it provides the most value and use more efficient technology stacks where needed: re:claimID builds on top of the <a class="link" href="{{ url_localized('gns.html') }}">GNU Name System</a>, which makes use of a DHT, an efficient (O(log n)) peer-to-peer data structure. For payments, GNU Taler uses centralized infrastructure operated by audited and regulated exchange providers and facilitates account-less end-to-end interactions between customers and services where all parties have O(1) transaction costs.
41</p>
42<p>
43The result of DISSENS will provide businesses and credential issuers with ready-to-use and standards-compliant templates to build privacy-friendly services in the Web.
44The aim of the DISSENS project was to design a technology stack which combines privacy-friendly online payments with self-sovereign personal data management. The result enables users to be in complete control over their digital identity and personal information while at the same time being able to selectively share information necessary to use commercial services. The pilot demonstrates a sustainable, user-centric, standard-compliant and accessible use case for public service employees and students in the domain of commercial food delivery.
45It serves as an easy-to-adapt template for the integration of other scenarios and use cases.
46</p>
47<h2>Future work</h2>
48<p>
49GNUnet is working on the underlying components mature to the point that Taler+re:claimID can be recommended to operators to enable for account-less shopping with or without verified credentials. This will also require the continuation of our
50work on the low-level transport rewrite as it is a core component of GNS which
51in turn is what makes re:claimID spin.
52</p>
53<h2>Links</h2>
54<ul>
55 <li>Mid-project <a class="link" href="https://gnunet.org/~schanzen/2021-01-18-reclaimID-Taler-Shopping.webm">demonstration video</a> (~7 MB).</li>
56 <li><a class="link" href="https://git.gnunet.org/bibliography.git/plain/docs/dissens2021.pdf">The paper</a> (also accepted for publication without appendix at the <a class="link" href="https://oid2021.compute.dtu.dk/">Open Identity Summit 2021</a>)</li>
57 <li><a class="link" href="https://wordpress.org/plugins/gnu-taler-payment-for-woocommerce/">Taler WooCommerce plugin</a> (wordpress.org)</li>
58 <li>The privacy credential library <a class="link" href="https://github.com/Fraunhofer-AISEC/libpabc">libpabc</a> (github.com).</li>
59 <li><a class="link" href="https://git.taler.net/woocommerce-taler.git">Setup scripts and installation documentation for a Taler + re:claimID + WooCommerce service</a> (taler.net).</li>
60 <li><a class="link" href="https://git.gnunet.org/gnunet-presentations.git/plain/2021dissens/reclaim.pdf">Slide deck</a>.</li>
61</ul>
62<p>
63</p>
64<p>
65 This work is generously funded by <a class="link" href="https://www.ngi.eu">the EC's Next Generation Internet (NGI) initiative</a> as part of their <a class="link" href="https://www.ngi.eu/ngi-projects/ngi-trust/">NGI TRUST</a> programme.
66</p>
67{% endblock body_content %}
diff --git a/template/news/index.html.j2 b/template/news/index.html.j2
new file mode 100644
index 00000000..abd20092
--- /dev/null
+++ b/template/news/index.html.j2
@@ -0,0 +1,57 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3 <div class="container-fluid">
4 <div class="container">
5 <article>
6 <div class="row">
7 <div class="container text-center">
8 <h1>{{ _("News") }}<a name="news"></a></h1>
9 <section>
10 <p>
11 {% trans %}
12 News posts about changes related to
13 GNUnet such as releases and events
14 {% endtrans %}
15 &#8211;
16 <a href="{{ url_localized('rss.xml') }}">{{ _("subscribe to our RSS feed") }}</a>
17 </p>
18 </section>
19 </div>
20 </div>
21 <div class="row">
22 {% for year, yitem in newsdata|selectattr('date.year', 'gt', 2019)|groupby('date.year')|reverse %}
23 <b>{{ year }}</b>
24 <ul class="timeline">
25 {% for item in yitem %}
26 <li>
27 <section class="item-preview">
28 <header>
29 <h3>{{ item['title']|e }}</h3>
30 <p class="item-date">
31 {{ item['date'] }}
32 </p>
33 </header>
34 <p class="item-abstract">
35 {{ get_abstract(item['page'], 500) }} <br/>
36 [<a href="{{ url_localized(item['page']) }}" title="{{ item['date']}}">{{ _("read more") }}</a>]
37 </p>
38 </section>
39 </li>
40 {% endfor %}
41 </ul>
42 {% endfor %}
43 </div>
44 <h2>
45 {% trans %}
46 News archives:
47 {% endtrans %}
48 </h2>
49 <ul>
50 {% for year, yitem in newsdata|selectattr('date.year', 'lt', 2020)|groupby('date.year')|reverse %}
51 <li><a href="{{ 'oldnews-' + year|string + '.html' }}">{{ year }} ({{yitem|length}})</a></li>
52 {% endfor %}
53 </ul>
54 </article>
55 </div>
56 </div>
57{% endblock body_content %}
diff --git a/template/news/oldnews-2011.html.j2 b/template/news/oldnews-2011.html.j2
new file mode 100644
index 00000000..39e76a48
--- /dev/null
+++ b/template/news/oldnews-2011.html.j2
@@ -0,0 +1,5 @@
1{% extends "common/base.j2" %}
2{% from "common/old-news.j2.inc" import oldnews with context %}
3{% block body_content %}
4{{ oldnews(2011) }}
5{% endblock body_content %}
diff --git a/template/news/oldnews-2013.html.j2 b/template/news/oldnews-2013.html.j2
new file mode 100644
index 00000000..d725f006
--- /dev/null
+++ b/template/news/oldnews-2013.html.j2
@@ -0,0 +1,5 @@
1{% extends "common/base.j2" %}
2{% from "common/old-news.j2.inc" import oldnews with context %}
3{% block body_content %}
4{{ oldnews(2013) }}
5{% endblock body_content %}
diff --git a/template/news/oldnews-2018.html.j2 b/template/news/oldnews-2018.html.j2
new file mode 100644
index 00000000..3056892c
--- /dev/null
+++ b/template/news/oldnews-2018.html.j2
@@ -0,0 +1,5 @@
1{% extends "common/base.j2" %}
2{% from "common/old-news.j2.inc" import oldnews with context %}
3{% block body_content %}
4{{ oldnews(2018) }}
5{% endblock body_content %}
diff --git a/template/news/oldnews-2019.html.j2 b/template/news/oldnews-2019.html.j2
new file mode 100644
index 00000000..23691b6c
--- /dev/null
+++ b/template/news/oldnews-2019.html.j2
@@ -0,0 +1,5 @@
1{% extends "common/base.j2" %}
2{% from "common/old-news.j2.inc" import oldnews with context %}
3{% block body_content %}
4{{ oldnews(2019) }}
5{% endblock body_content %}
diff --git a/template/reclaim/faq.html.j2 b/template/reclaim/faq.html.j2
new file mode 100644
index 00000000..b49b8f6c
--- /dev/null
+++ b/template/reclaim/faq.html.j2
@@ -0,0 +1,26 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / FAQ
5</div>
6<h2 class="text-center">{{ _("Frequently asked questions") }}</h2>
7<br/>
8<div class="container">
9 <ul class="fa-ul">
10 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How is re:claimID different from</b> <i>&lt;insert other identity provider service here&gt; ?</i></li>
11 <li><i class="fa-li fas fa-comment"></i> Unlike most other identity provider services, re:claimID is not operated by a single service provider or even a federated consortium of service providers. Instead, it is a fully decentralised service operated implicitly by its users. Consequently, large-scale data monetisation, mass-surveillance and other (ab)use of personal data is inherently mitigated.</li>
12 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How much does re:claimID cost?</b></li>
13 <li><i class="fa-li fas fa-comment"></i> re:claimID is Free Software. We argue that in order for an identity system to be a credible solution for self-sovereign citizens to exercise their right to digital self determination, open and free software as well as services are indispensible.</li>
14 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How does re:claimID work?</b></li>
15 <li><i class="fa-li fas fa-comment"></i> re:claimID uses the GNU Name System as identity and attribute directory service. In order to allow the user to enforce access control decisions, we use a cryptographic access control layer. However, the user is not required to manage any cryptographic keys or manage zones in a namespace. This is done under the hood by re:claimID.</li>
16 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How does a website know the attribute data share via re:claimID is correct?</b></li>
17 <li><i class="fa-li fas fa-comment"></i> Short answer: It doesn't.
18 Long answer: Identities are initially self-asserted by the user. re:claimID could, however, also be used to share third party attested attributes (e.g. X.509 certificates). Further, have integrated <a href="https://github.com/Fraunhofer-AISEC/libpabc">Privacy-ABCs</a> for <a href="{{ url_localized('news/2021-05-DISSENS.html') }}">this use case</a>.</li>
19 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>Who is behind re:claimID?</b></li>
20 <li><i class="fa-li fas fa-comment"></i> re:claimID was initially developed at <a href="https://aisec.fraunhofer.de">Fraunhofer AISEC</a> and is part of GNUnet.</li>
21 <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>I found a bug!</b></li>
22 <li><i class="fa-li fas fa-comment"></i> We aim to continuously develop and improve re:claimID. Help us by <a href="https://bugs.gnunet.org">reporting any issues you encounter</a>.</li>
23 </ul>
24
25</div>
26{% endblock body_content %}
diff --git a/template/reclaim/idps.html.j2 b/template/reclaim/idps.html.j2
new file mode 100644
index 00000000..5101b0d7
--- /dev/null
+++ b/template/reclaim/idps.html.j2
@@ -0,0 +1,30 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / IdPs
5</div>
6<h2 class="text-center">{{ _("For IdPs") }}</h2>
7<br/>
8<div class="container">
9 <h2><b>Step 1:</b> OpenID Service</h2>
10 As an identity provider and credential issuer, you need to setup an OpenID Connect server. There are many servers out there. For a list of servers, check out the <a href="https://openid.net/developers/certified/">OpenID website</a>.
11 One important caveat is that the server should allow you to issue user information inside the signed "ID Token".
12 The configuration regarding what user information goes into the token is of course completely under your discretion.
13
14 <h2 class="mt-5"><b>Step 2:</b> Configuring the reclaimID client</h2>
15 reclaimID uses special client values which must be registered at the OpenID server. The values are:
16 <ul>
17 <li><b>Client ID</b>: reclaimid</li>
18 <li><b>Client secret</b>: none (public client)</li>
19 <li><b>Redirect URI</b>: https://ui.reclaim</li>
20 <li><b>Grant type</b>: Authorization code</li>
21 <li><b>PKCE</b>: enabled (Optional but highly recommended)</li>
22 </ul>
23
24 <h2 class="mt-5"><b>Step 3:</b> Configuring a webfinger</h2>
25 You must support the webfinger-based <a href="https://openid.net/specs/openid-connect-discovery-1_0.html">OpenID Connect service discovery</a>.
26 Whenever the user configures an email address for an identity, reclaimID will try to discover the issuing identity provider through the OIDC Discovery protocol. This includes a <a href="https://openid.net/specs/openid-connect-discovery-1_0.html#EmailSyntax">request to the authority part of the email address</a>.
27
28 The response should point reclaimID to the actual OpenID Connect service <a href="https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata">serving the issuer medatata</a>. reclaimID will try to request all scopes which are listed in the metadata, but does not expect all of them to be granted.
29</div>
30{% endblock body_content %}
diff --git a/template/reclaim/index.html.j2 b/template/reclaim/index.html.j2
new file mode 100644
index 00000000..c52b9ad6
--- /dev/null
+++ b/template/reclaim/index.html.j2
@@ -0,0 +1,102 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="container">
4 <div class="row">
5 <div class="container text-center">
6 <img style="width:50%" src="{{ url_static('images/reclaim_logo.png') }}" alt="reclaimID" />
7 <br/>
8 <p class="mt-4">{{ _("Self-sovereign, Decentralised Identity Management and Personal Data Sharing") }}</p>
9 </div>
10 </div>
11</div>
12<div class="container-fluid greybox">
13 <div class="container">
14 <div class="row">
15 <div class="col-lg-2"></div>
16 <div class="col-lg-6">
17 <section>
18 <h2>{{ _("Self-sovereign") }}</h2>
19 <p>
20 {% trans %}
21 You manage your identities and attributes locally on your computer. No need to trust a third party service with your data.
22 {% endtrans %}
23 </p>
24 </section>
25 </div>
26 <div class="col-lg-3 homepageicon">
27 <span class="fas fa-fist-raised"></span>
28 </div>
29 </div>
30 </div>
31</div>
32<div class="container-fluid">
33 <div class="container">
34 <div class="row">
35 <div class="col-lg-2 homepageicon">
36 <span class="fas fa-project-diagram"></span>
37 </div>
38 <div class="col-lg-6">
39 <section>
40 <h2>{{ _("Decentralized") }}</h2>
41 <p>
42 {% trans %}
43 You can share your identity attributes securely over a decentralized name system. This allows your friends to access your shared data without the need of a trusted third party.
44 {% endtrans %}
45 </p>
46 </section>
47 </div>
48 </div>
49 </div>
50</div>
51
52<div class="container-fluid greybox">
53 <div class="container">
54 <div class="row">
55 <div class="col-lg-2"></div>
56 <div class="col-lg-6">
57 <section>
58 <h2>{{ _("Standard-compliant") }}</h2>
59 <p>
60 {% trans %}
61 You can use OpenID Connect to integrate reclaim in your web sites.
62 {% endtrans %}
63 </p>
64 </section>
65 </div>
66 <div class="col-lg-3 homepageicon">
67 <span class="fab fa-openid"></span>
68 </div>
69 </div>
70 </div>
71</div>
72<hr/>
73<div class="container-fluid">
74 <div class="container">
75 <div class="row">
76 <div class="col-md-4 mt-1">
77 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/tech.html') }}"><i class="fas fa-cubes"></i><br/>{{ _("Technology") }}</a>
78 </div>
79 <div class="col-md-4 mt-1">
80 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/motivation.html') }}"><i class="fas fa-fire"></i><br/>{{ _("Motivation") }}</a>
81 </div>
82 <div class="col-md-4 mt-1">
83 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/faq.html') }}"><i class="fas fa-question"></i><br/>{{ _("FAQ") }}</a>
84 </div>
85
86 </div>
87 <div class="row">
88 <div class="col-md-4 mt-1">
89 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/users.html') }}"><i class="fas fa-user"></i><br/>{{ _("For users") }}</a>
90 </div>
91 <div class="col-md-4 mt-1">
92 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/websites.html') }}"><i class="fas fa-globe"></i><br/>{{ _("For websites") }}</a>
93 </div>
94 <div class="col-md-4 mt-1">
95 <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/idps.html') }}"><i class="fas fa-users"></i><br/>{{ _("For IdPs") }}</a>
96 </div>
97 </div>
98 </div>
99</div>
100
101
102{% endblock body_content %}
diff --git a/template/reclaim/motivation.html.j2 b/template/reclaim/motivation.html.j2
new file mode 100644
index 00000000..973fbddf
--- /dev/null
+++ b/template/reclaim/motivation.html.j2
@@ -0,0 +1,34 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Motivation
5</div>
6<h2 class="text-center">{{ _("Motivation") }}</h2>
7<br/>
8<div class="container">
9<p>
10Today, users are often required to share personal data, like email addresses, to use services on the web. As part of normal service operation, such as notifications or billing, services require access to -- ideally fresh and correct -- user data.
11Sharing attributes in the Web today is often done via centralized service providers to reduce data redundancy and to give services access to current, up-to-date information even if the user is currently offline.
12Abuse of this power is theoretically limited by local laws and regulations.
13But, the past has shown that even well-meaning identity providers struggle to keep user data safe as they become major targets for hackers and nation state actors while striving for monetizing anonymized statistics from these data.
14We advocate for a new, decentralized way for users to manage their identities for the following reasons:
15</p>
16<ul class="fa-ul">
17 <li><i class="fa-li fas fa-caret-right"></i> The current state of omniscient identity providers is a significant threat to the users' privacy.</li>
18 <li><i class="fa-li fas fa-caret-right"></i> Users must completely trust the service provider with respect to protecting the integrity and confidentiality of their identity in their interest.</li>
19 <li><i class="fa-li fas fa-caret-right"></i> The service provider itself is facing substantial liability risks given the responsibility of securely managing potentially sensitive personal data of millions of users.</li>
20</ul>
21
22<p>re:claimID is built as a service on top of the peer-to-peer framework <a href="https://gnunet.org">GNUnet</a>.<br/>
23It emerged from research conducted by the research group "Secure
24Applications and Services" at the <a href="https://www.aisec.fraunhofer.de/de/fields-of-expertise/projekte/reclaim.html">Fraunhofer AISEC</a> research institute.<br/>
25A scientific, peer-reviewed paper on the theoretical foundations of re:claimID
26was published at <a href="https://ieeexplore.ieee.org/document/8456003">TrustCom 2018</a>
27(<a href="https://arxiv.org/abs/1805.06253v1">Arxiv</a>).<br/> re:claimID is
28primarily developed in the
29<a href="https://git.gnunet.org/gnunet.git/tree/src/reclaim">GNUnet source tree</a>.
30Accompanying tools and sources can be found in the
31<a href="https://gitlab.com/reclaimid">Gitlab project</a>.
32</p>
33</div>
34{% endblock body_content %}
diff --git a/template/reclaim/tech.html.j2 b/template/reclaim/tech.html.j2
new file mode 100644
index 00000000..4223cf5b
--- /dev/null
+++ b/template/reclaim/tech.html.j2
@@ -0,0 +1,115 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Technology
5</div>
6<h2 class="text-center">{{ _("Overview") }}</h2>
7<div style="text-align:center">
8 <img style="width:50%" src="{{ url_static('images/reclaim/reclaim_eq.png') }}"/>
9</div>
10<br/>
11<div class="container">
12 <div class="row">
13 <div class="col-lg-6">
14 <h3>
15 {{ _("Decentralised identity directory") }}
16 </h3>
17 <p>
18 {% trans %}
19 The decentralised GNU Name System (GNS) gives users full and exclusive authority over their attributes by sharing them over user-owned namespaces.
20 {% endtrans %}
21 </p>
22 </div>
23 <div class="col-lg-6">
24 <div>
25 <h3>
26 {{ _("Cryptographic access control") }}
27 </h3>
28 </div>
29 <p>
30 {% trans %}
31Users regularly publish fresh, up-to-date attributes which can be retrieved and
32read only by authorized relying parties parties without direct user interaction -- even if the user is offline!
33 {% endtrans %}
34 </p>
35 </div>
36 </div>
37</div>
38<hr/>
39<h2 class="text-center">{{ _("Principles") }}</h2>
40<div class="container-fluid greybox">
41 <div class="container">
42 <div class="row">
43 <div class="col-lg-1"></div>
44 <div class="col-lg-6">
45 <section>
46 <h2>{{ _("Identity and attribute management") }}</h2>
47 <p>
48 {% trans %}
49 Users regularly publish fresh, up-to-date attributes which can be retrieved by requesting parties without direct user interaction -- even if the user is offline!
50 Access to attributes is controlled through an ecryption based access
51 control layer.
52 {% endtrans %}
53 </p>
54 </section>
55 </div>
56 <div class="col-lg-5 homepageicon">
57 <a href="{{ url_static('images/reclaim/Reclaim-2.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-2.png') }}"/></a>
58 </div>
59 </div>
60 </div>
61</div>
62<div class="container-fluid">
63 <div class="container">
64 <div class="row">
65 <div class="col-lg-5 homepageicon">
66 <a href="{{ url_static('images/reclaim/Reclaim-3.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-3.png') }}"/></a>
67
68 </div>
69 <div class="col-lg-6">
70 <section>
71 <h2>{{ _("Authorization") }}</h2>
72 <p>
73 {% trans %}
74 To access attributes, requesting parties request authorization from the
75 user thrugh the use of OpenID Connect.
76 If access is granted, the relying party is given the necessary decryption
77 key material.
78 The user may at any time revoke this access or modify the authorization decision.
79 {% endtrans %}
80 </p>
81 </section>
82 </div>
83 </div>
84</div>
85
86<div class="container-fluid greybox">
87 <div class="container">
88 <div class="row">
89 <div class="col-lg-1"></div>
90 <div class="col-lg-6">
91 <section>
92 <h2>{{ _("Attribute retrieval") }}</h2>
93 <p>
94 {% trans %}
95 Relying parties retrieve encrypted identity data from the decentralised
96 directory.
97 It is able to decrypt all those attributes that the user has authorized
98 it to access using the respective key.
99 {% endtrans %}
100 </p>
101 </section>
102 </div>
103 <div class="col-lg-5 homepageicon">
104 <a href="{{ url_static('images/reclaim/Reclaim-4.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-4.png') }}"/></a>
105 </div>
106 </div>
107 </div>
108</div>
109<hr/>
110<h2 style="text-align:center" class="mt-2">Videos and Talks</h2>
111<ul class="fa-ul">
112 <li><i class="fa-li fas fa-caret-right"></i> <a href="https://youtu.be/PlSX-o36Wus?t=5371">IETF Meeting #104; Privacy Enhancements and Assessments Research Group - March 2019</a> (<a href="https://git.gnunet.org/presentations.git/plain/IETF104/slides-104-pearg-reclaim-00.pdf">Slides</a>)</li>
113 <li><i class="fa-li fas fa-caret-right"></i> <a href="https://media.ccc.de/v/ds19-10383-re_claimid">Datenspuren 2019 - September 2019 (German)</a> (<a href="https://git.gnunet.org/presentations.git/plain/datenspuren2019/datenspuren2019.pdf">Slides</a>, English)</li>
114</ul>
115{% endblock body_content %}
diff --git a/template/reclaim/users.html.j2 b/template/reclaim/users.html.j2
new file mode 100644
index 00000000..8b78dc11
--- /dev/null
+++ b/template/reclaim/users.html.j2
@@ -0,0 +1,40 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Users
5</div>
6<h2 class="text-center">{{ _("For users") }}</h2>
7<br/>
8<div class="container">
9 <h2><b>Step 1:</b> Installation</h2>
10 <p>
11 Please use the <a href="{{ url_localized('install.html') }}">GNUnet installation guides</a>.
12 </p>
13 <h2 class="mt-5"><b>Step 2:</b> Browser plugin</h2>
14
15 <p>You also need to install a browser plugin:</p>
16 <div class="centering">
17 <a class="btn btn-primary" target="_blank" rel="noopener noreferrer"
18 href="https://addons.mozilla.org/addon/reclaimid/"><i class="fab fa-firefox"></i> Mozilla Firefox</a>
19 <a class="btn btn-primary" target="_blank" rel="noopener noreferrer"
20 href="https://chrome.google.com/webstore/detail/reclaimid/jiogompmdejcnacmlnjhnaicgkefcfll"><i class="fab fa-chrome"></i> Chrome / Chromium</a>
21 </div>
22 <br/>
23 <h2 class="mt-5"><b>Step 3:</b> Creating your first identity</h2>
24 <p>Almost there. Now try adding a new identity at <a href="https://ui.reclaim">your local re:claimID instance</a> and add some attributes to it.
25 <br/>
26
27 <h2 class="mt-5">Websites supporting re:claimID</h2>
28 <p>To test a login with one of your re:claimID identities, you can go to one of the websites supporting it:</p>
29 <ul>
30 <li><a href="https://demo.reclaim-identity.io">Our demo messaging board</a> (<a href="https://gitlab.com/reclaimid/demo">Source</a>)</li>
31 <li><a href="https://eusec.clouditor.io">Clouditor EUSEC project page</a></li>
32 </ul>
33
34
35 <h2 class="mt-5">Troubleshooting</h2>
36 In case you encounter any problems, please check for <a href="https://bugs.gnunet.org">known issues and report bugs to help us improve re:claimID!</a>
37
38
39</div>
40{% endblock body_content %}
diff --git a/template/reclaim/websites.html.j2 b/template/reclaim/websites.html.j2
new file mode 100644
index 00000000..f4e7fec9
--- /dev/null
+++ b/template/reclaim/websites.html.j2
@@ -0,0 +1,45 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="m-3">
4 <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Websites
5</div>
6<h2 class="text-center">{{ _("For websites") }}</h2>
7<div class="container">
8 <h2><b>Step 1:</b> Installation</h2>
9 <p>
10 Please use the <a href="{{ url_localized('install.html') }}">GNUnet installation guides</a>.
11 </p>
12 <h2 class="mt-5"><b>Step 2:</b> Registering an OpenID Connect client</h2>
13 <p>The easiest way to manage OpenID Connect client is through our CLI tool:</p>
14 <code class="block">$ gem install reclaim-oidc</code>
15 <p>To register an OpenID Connect client, execute:</p>
16 <code class="block">$ reclaim-oidc --add --client-name myclient --redirect-uri https://mywebsite.com/oidc_cb --description "My Client"</code>
17 <p>You can list all registered clients and your local OpenID Connect metadata required to initiate an authorization code flow by executing:</p>
18 <code class="block">$ reclaim-oidc --list </code>
19 <p>The response will look like this</p>
20 <code class="block">OpenID Connect Provider Information:<br/>
21 ------------------------------------<br/>
22 Authorize Endpoint: http://localhost:7776/openid/authorize<br/>
23 Token Endpoint: http://localhost:7776/openid/token<br/>
24 JSON-Web-Token Algorithm: HS512<br/>
25 JSON-Web-Token key: secret<br/>
26 Example Authorization Redirect:<br/>
27 https://api.reclaim/openid/authorize?client_id=&lt;client_id&gt;&amp;redirect_uri=&lt;redirect_uri&gt;&amp;response_type=code&amp;scope=email%20full_name&amp;nonce=1234<br/>
28 <br/>
29 Registered Clients:<br/>
30 -------------------<br/>
31 name: myclient<br/>
32 client_id: &lt;client_id&gt;<br/>
33 client_secret: &lt;client_secret&gt;<br/>
34 description: My Client<br/>
35 redirect_uri: https://mywebsite.com/oidc_cb<br/>
36 ...
37 </code>
38 <div class="alert alert-info"><b>NOTE</b>: The client secrets and JWT token signing keys can be configured. However, due to the fact that re:claimID endpoint are running on your local machine, they are not critical.</div>
39
40 <h2 class="mt-5"><b>Step 3:</b> Website integration</h2>
41 <p>You can use the information above to integrate re:claimID as a generic <a href="https://openid.net/specs/openid-connect-core-1_0.html">OpenID Connect Identity Provider</a> into the web application of your choice. The integration steps for this part depend on the application you use. Hence, please refer to your respective documentation or the OpenID Connect specifications.
42 </p>
43 <p>The sources of our <a href="https://demo.reclaim-identity.io">demo website</a> can be found in our <a href="https://gitlab.com/reclaimid/demo">gitlab project</a>.</p>
44</div>
45{% endblock body_content %}
diff --git a/template/roadmap.html.j2 b/template/roadmap.html.j2
index 51cc6fcc..7eff2569 100644
--- a/template/roadmap.html.j2
+++ b/template/roadmap.html.j2
@@ -4,25 +4,34 @@
4 <div class="row"> 4 <div class="row">
5 <div class="container text-center"> 5 <div class="container text-center">
6 <h1>{{ _("Roadmap") }}</h1> 6 <h1>{{ _("Roadmap") }}</h1>
7 <section>
8 <p>
9 This is our roadmap.
10 </p>
11 </section>
12 </div> 7 </div>
8 <p>
9 This is our roadmap. We distinguish between short, medium and long term goals.
10 The roadmap is subject to change and its primary purpose it to indicate the current work in progress and future work as well as the path to a stable release. Goals which are currently in active development are marked in <b>bold</b>.
11 </p>
13 <ul class="timeline"> 12 <ul class="timeline">
14 <li> 13 <li>
15 <section class="item-preview"> 14 <section class="item-preview">
16 <header> 15 <header>
17 <h3>Short term</h3> 16 <h3>Short term</h3>
18 <p class="item-date"> 17 <p class="item-date">
19 0.13.x 18 &le;0.16
20 </p> 19 </p>
21 <p class="item-abstract"> 20 <p class="item-abstract">
22 <ul> 21 <ul class="fa-ul">
23 <li>Setup and use names and numbers registration (GANA) for GNUnet 22 <li><span class="fa-li"><i class="far fa-square"></i></span>DHT:
24 subsystems.</li> 23 <ul class="fa-ul">
25 <li>GNU Name System technical specification.</li> 24 <li><span class="fa-li"><i class="far fa-square"></i></span>Improvements including signed paths and stability improvements. Technical specification.</li>
25 <li><span class="fa-li"><i class="far fa-square"></i></span><a href="https://lsd.gnunet.org/lsd0000/">Technical specification</a>.</li>
26 </ul>
27 </li>
28 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>SET:</b>
29 <ul class="fa-ul">
30 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>Improvements to code quality and correctness</b>.</li>
31 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><a href="https://lsd.gnunet.org/lsd0003/"><b>Technical specification</a></b>.</li>
32 </ul>
33 </li>
34 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>RECLAIM: <a href="https://lsd.gnunet.org/lsd0002/">Technical specification</a></b>.</li>
26 </ul> 35 </ul>
27 </p> 36 </p>
28 </header> 37 </header>
@@ -34,17 +43,23 @@
34 <header> 43 <header>
35 <h3>Medium term</h3> 44 <h3>Medium term</h3>
36 <p class="item-date"> 45 <p class="item-date">
37 0.14 and beyond 46 &gt;0.16
38 </p> 47 </p>
39 <p class="item-abstract"> 48 <p class="item-abstract">
40 <ul> 49 <ul class="fa-ul">
41 <li>TNG: Transport rewrite complete including basic service, communicators and NAT.</li> 50 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>TNG</b>: Transport rewrite. [<a href="https://bugs.gnunet.org/search.php?tag_string=tng">Open issues</a>]
42 <li>CORE/CADET performance and correctness improvements.</li> 51 <ul class="fa-ul">
43 <li>DHT improvements including signed paths and stability improvements.</li> 52 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>TNG service</b></li>
44 <li>SET improvements to code quality and correctness.</li> 53 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>TCP communicator</b></li>
45 <li>CONVERSATION improvements to performance, latency hiding and usability.</li> 54 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>UDP communicator</b></li>
46 <li>Stable and usable documentation.</li> 55 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>UNIX Domain Socket communicator</b></li>
47 <li>GNUnet packages available and up-to-date in distributions.</li> 56 <li><span class="fa-li"><i class="far fa-square"></i></span>NAT</li>
57 </ul>
58 </li>
59 <li><span class="fa-li"><i class="far fa-square"></i></span>CORE/CADET: Performance and correctness improvements.</li>
60 <li><span class="fa-li"><i class="far fa-square"></i></span>CONVERSATION improvements to performance, latency hiding and usability.</li>
61 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>Stable and usable documentation.</b></li>
62 <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>GNUnet packages available and up-to-date in distributions.</b></li>
48 </ul> 63 </ul>
49 </p> 64 </p>
50 </header> 65 </header>
@@ -59,12 +74,12 @@
59 1.x 74 1.x
60 </p> 75 </p>
61 <p class="item-abstract"> 76 <p class="item-abstract">
62 <ul> 77 <ul class="fa-ul">
63 <li>Stable release.</li> 78 <li><span class="fa-li"><i class="far fa-square"></i></span>Stable release.</li>
64 <li>Onion routing with RPS</li> 79 <li><span class="fa-li"><i class="far fa-square"></i></span>Onion routing with RPS</li>
65 <li>Mix network, pEp integration on top of mix network</li> 80 <li><span class="fa-li"><i class="far fa-square"></i></span>Mix network, pEp integration on top of mix network</li>
66 <li>Collaborative filtering / news distribution</li> 81 <li><span class="fa-li"><i class="far fa-square"></i></span>Collaborative filtering / news distribution</li>
67 <li>Improved FS design, proper integration with GNS</li> 82 <li><span class="fa-li"><i class="far fa-square"></i></span>Improved FS design, proper integration with GNS</li>
68 </ul> 83 </ul>
69 </p> 84 </p>
70 </header> 85 </header>
diff --git a/template/rss.xml.j2 b/template/rss.xml.j2
new file mode 100644
index 00000000..d0197c00
--- /dev/null
+++ b/template/rss.xml.j2
@@ -0,0 +1,46 @@
1{#
2# Copyright (C) 2019, 2020 GNUnet e.V.
3#
4# This code is derived from code contributed to GNUnet eV
5# by nikita <nikita@n0.is>.
6#
7# Permission to use, copy, modify, and/or distribute this software for
8# any purpose with or without fee is hereby granted.
9#
10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17# PERFORMANCE OF THIS SOFTWARE.
18#
19# SPDX-License-Identifier: 0BSD
20#}
21<?xml version="1.0" encoding="UTF-8"?>
22<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
23 <channel>
24 <atom:link href="{{ siteconf['baseurl'] }}{{ lang }}/rss.xml" rel="self" type="application/rss+xml" />
25 <title>{{ siteconf['rsstitle'] }}</title>
26 <language>{{ lang }}</language>
27 <description>{{ siteconf['rssdescr']|e }}</description>
28 <link>{{ siteconf['baseurl'] }}/</link>
29 <lastBuildDate>{{ now }}</lastBuildDate>
30 {% for newspostitem in newsposts %}
31 <item>
32 <guid>{{ siteconf['baseurl'] }}{{ lang }}{{ siteconf['newsloc'] }}{{ newspostitem['page'] }}</guid>
33 <link>{{ siteconf['baseurl'] }}{{ lang }}{{ siteconf['newsloc'] }}{{ newspostitem['page'] }}</link>
34 <pubDate>{{ conv_date_rfc822(newspostitem["date"]) }}</pubDate>
35 <title>{{ newspostitem['title']|e }}</title>
36 <description>
37 <![CDATA[
38 {% filter extract_body %}
39 {% include (newspostitem['page'] + ".j2") %}
40 {% endfilter %}
41 ]]>
42 </description>
43 </item>
44 {% endfor %}
45 </channel>
46</rss>
diff --git a/template/use.html.j2 b/template/use.html.j2
index a049b2a5..8dc7abd5 100644
--- a/template/use.html.j2
+++ b/template/use.html.j2
@@ -206,7 +206,7 @@
206 </code> 206 </code>
207 </p> 207 </p>
208 208
209 <p>It's worth nothing that the other peers can be a friend's machine which has GNUnet running, or it can also just be another shell on your own machine.</p> 209 <p>It's worth noting that the other peers can be a friend's machine which has GNUnet running, or it can also just be another shell on your own machine.</p>
210 210
211 <p> 211 <p>
212 If you are interested in the details of CADET, please read the <a href="https://docs.gnunet.org/handbook/gnunet.html#CADET-Subsystem">"Cadet-Subsystem" chapter in the GNUnet handbook</a>. 212 If you are interested in the details of CADET, please read the <a href="https://docs.gnunet.org/handbook/gnunet.html#CADET-Subsystem">"Cadet-Subsystem" chapter in the GNUnet handbook</a>.
@@ -573,4 +573,4 @@
573 </div> 573 </div>
574 </div> 574 </div>
575</article> 575</article>
576{% endblock body_content %} \ No newline at end of file 576{% endblock body_content %}