diff options
Diffstat (limited to 'template')
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'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'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 "Transport Next Generation [TNG]") | 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 "WARNING Calculated flow delay for X at Y for Z". 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 | "proof-of-work" 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 "WORKDELAY" in the | ||
92 | "nse" section of | ||
93 | your configuration file to a higher value. The default is "5 ms". | ||
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 "Transport Next Generation [TNG]") | ||
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 "gnunet-service-namestore" 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 ("critical") DNS records between DNS resolvers | ||
457 | of participating domains to provide "better availability, lower query | ||
458 | resolution times, and faster update propagation". 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 ".pin" 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 "legitimate" | ||
489 | domain owner. Any user can claim any name (as his preferred name or | ||
490 | "pseudonym") 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 "private". 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 "infinite" 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 "globally" 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 ".onion" | ||
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 | "_Service._Proto" syntax, converts "Service" to the | ||
684 | corresponding port number and "Proto" 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 "BOX" 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 "WARNING Calculated flow delay for X at Y for Z". 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 "owner" 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> | ||
8 | Many 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> | ||
10 | and 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> | ||
12 | and 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>. | ||
14 | Here, 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> | ||
17 | GNUnet 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> | ||
20 | The 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> | ||
23 | If 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> | ||
26 | If kill wins the race, the signal would be lost and the hypervisor would wait 'forever' for the child to terminate. | ||
27 | </p> | ||
28 | <p> | ||
29 | The 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> | ||
32 | In 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> | ||
35 | Currently, 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> | ||
40 | I 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 | |||
44 | The signal handler in the hypervisor then does this: | ||
45 | <br> | ||
46 | <code class="block"> | ||
47 | if getpid() == hypervisor_pid<br> | ||
48 | kill_all_children_and_exit();<br> | ||
49 | else<br> | ||
50 | exit();<br> | ||
51 | </code> | ||
52 | |||
53 | In 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> | ||
55 | Thomas" | ||
56 | <br> | ||
57 | Thanks for the suggestion! | ||
58 | </p> | ||
59 | <p> | ||
60 | Thomas'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> | ||
8 | We 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. | ||
10 | The 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 | ||
12 | networks. | ||
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> | ||
8 | When 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> | ||
10 | We 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/> | ||
14 | The 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'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'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'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 "gnunet-arm -s". GNUnet should be stopped using "gnunet-arm -e". | ||
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ünger, Nils Gillmann, Philipp | ||
96 | Tölke, Florian Dold, Руслан | ||
97 | Ижбулатов, | ||
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é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ünger, ng0, | ||
61 | Philipp Tölke, Florian Dold, Руслан Ижбулатов, 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ü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ü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ü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ü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ü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'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 & 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é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@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> | ||
83 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
84 | the <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> | ||
5 | Continuing to "release early / release often", we present | ||
6 | GNUnet 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> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early 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> | ||
39 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
40 | the <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> | ||
45 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
46 | Christian 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>, | ||
6 | the <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> | ||
19 | DISSENS makes the case that what is urgently needed are fundamentally different, user-centric and privacy-friendly alternatives to the above. | ||
20 | Self-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. | ||
21 | In 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> | ||
24 | To 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. | ||
25 | DISSENS 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> | ||
28 | This 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> | ||
32 | The 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> | ||
36 | At 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> | ||
40 | Finally, 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> | ||
43 | The 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. | ||
44 | The 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. | ||
45 | It 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> | ||
49 | GNUnet 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 | ||
50 | work on the low-level transport rewrite as it is a core component of GNS which | ||
51 | in 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 | – | ||
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><insert other identity provider service here> ?</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> | ||
10 | Today, 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. | ||
11 | Sharing 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. | ||
12 | Abuse of this power is theoretically limited by local laws and regulations. | ||
13 | But, 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. | ||
14 | We 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/> | ||
23 | It emerged from research conducted by the research group "Secure | ||
24 | Applications and Services" at the <a href="https://www.aisec.fraunhofer.de/de/fields-of-expertise/projekte/reclaim.html">Fraunhofer AISEC</a> research institute.<br/> | ||
25 | A scientific, peer-reviewed paper on the theoretical foundations of re:claimID | ||
26 | was 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 | ||
28 | primarily developed in the | ||
29 | <a href="https://git.gnunet.org/gnunet.git/tree/src/reclaim">GNUnet source tree</a>. | ||
30 | Accompanying 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 %} | ||
31 | Users regularly publish fresh, up-to-date attributes which can be retrieved and | ||
32 | read 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=<client_id>&redirect_uri=<redirect_uri>&response_type=code&scope=email%20full_name&nonce=1234<br/> | ||
28 | <br/> | ||
29 | Registered Clients:<br/> | ||
30 | -------------------<br/> | ||
31 | name: myclient<br/> | ||
32 | client_id: <client_id><br/> | ||
33 | client_secret: <client_secret><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 | ≤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 | >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 %} |