[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[www] branch stable updated (7a88712 -> 960a4c3)
From: |
gnunet |
Subject: |
[www] branch stable updated (7a88712 -> 960a4c3) |
Date: |
Wed, 24 Jun 2020 14:41:57 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a change to branch stable
in repository www.
from 7a88712 fix line break
add 5f50f53 install: move OpenWrt to section for binary distributions
add 30fe1ab install-on-openwrt: some fixes
add 9196b43 added user to adduser command
add 8c6bbe3 removed outdated information
add 3c131ac add timeline css; add roadmap; modify news
add f9e83fa align better
add 57eafb1 shorter newstext
add e070b90 sync roadmap and news
add 68af6c2 update inc submodule
add 623e4e4 update inc submodule
add 8a72461 move roadmap into development
add 188d102 style error
add 041283c move applications
add 38b0818 update fontpage
add 65f3ab1 applications; copyright
add 0265f9d added patch by GNUmoon.
add d646b82 Merge branch 'master' of git+ssh://gnunet.org/www
add ffdc1c7 add logos
add b604070 fixed links to lsd0001 and matrix archive
add 0b17f9b update pictures/roadmap
add fe61e06 remove GNS from Development section
add 81c243f add specification link to gns page
add aa208ff fix links
add 8bfce90 -fix build
add 960a4c3 remove roadmap link for now
No new revisions were added by this update.
Summary of changes:
common/footer.j2.inc | 2 +-
common/navigation.j2.inc | 8 +-
inc | 2 +-
make_site.py | 2 +-
news/2020-01-GNSSpec2.html.j2 | 4 +-
news/index.html.j2 | 6 +-
static/images/logo-2018-dold.svg | 87 +++++++++++++++
static/images/peplogo.svg | 21 ++++
static/images/reclaim_logo.png | Bin 0 -> 14337 bytes
static/images/secushare-0444.png | Bin 0 -> 26484 bytes
static/styles.css | 42 +++++++-
template/applications.html.j2 | 160 +++++++++++++++++++++++++++
template/contact.html.j2 | 4 +-
template/gns.html.j2 | 4 +
template/index.html.j2 | 208 +++++++-----------------------------
template/install-on-openwrt.html.j2 | 8 +-
template/install.html.j2 | 4 +-
template/roadmap.html.j2 | 44 ++++++++
template/use.html.j2 | 191 ++++++++++++++++-----------------
19 files changed, 510 insertions(+), 287 deletions(-)
create mode 100644 static/images/logo-2018-dold.svg
create mode 100644 static/images/peplogo.svg
create mode 100644 static/images/reclaim_logo.png
create mode 100644 static/images/secushare-0444.png
create mode 100644 template/applications.html.j2
create mode 100644 template/roadmap.html.j2
diff --git a/common/footer.j2.inc b/common/footer.j2.inc
index 68a3b6d..07bd219 100644
--- a/common/footer.j2.inc
+++ b/common/footer.j2.inc
@@ -27,7 +27,7 @@
<p>
Copyright ©
<a href="{{ url_localized('ev.html') }}">GNUnet e.V.</a>
- 2001 — 2019.
+ 2001 — 2020.
<a href="https://git.gnunet.org/www.git">{{ _("Source code of this
site.") }}</a>
<a href="{{ url_localized('contact.html') }}">{{ _("Report issues with
this website.") }}</a>
</p>
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc
index 5e288a9..3950c4d 100644
--- a/common/navigation.j2.inc
+++ b/common/navigation.j2.inc
@@ -37,6 +37,7 @@
<ul class="navbar-nav mr-auto nav">
<li class="nav-link"><a href="{{ url_localized('about.html') }}">{{
_("About") }}</a></li>
<li class="nav-link"><a href="{{ url_localized('news/index.html') }}">{{
_("News") }}</a></li>
+ <li class="nav-link"><a href="{{ url_localized('applications.html')
}}">{{ _("Applications") }}</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown"
role="button" aria-haspopup="true" aria-expanded="false">
@@ -58,13 +59,16 @@
</a>
<ul class="dropdown-menu" aria-labelledby="navbarMain">
<li><a class="dropdown-item" href="{{
url_localized('architecture.html') }}">{{ _("System Architecture") }}</a></li>
+
+<!-- TODO fill with content
+
+ <li><a class="dropdown-item" href="{{ url_localized('roadmap.html')
}}">{{ _("Roadmap") }}</a></li>-->
<li><a class="dropdown-item" href="https://bugs.gnunet.org"
target="_blank">{{ _("Bug Tracker") }}</a></li>
<li><a class="dropdown-item" href="https://git.gnunet.org"
target="_blank">{{ _("Source Code") }}</a></li>
<li><a class="dropdown-item" target="_blank"
href="https://docs.gnunet.org/doxygen/">{{ _("Source Code Documentation")
}}</a></li>
<li><a class="dropdown-item" href="https://buildbot.gnunet.org/"
target="_blank">{{ _("Continuous Integration") }}</a></li>
<li><a class="dropdown-item" target="_blank"
href="https://docs.gnunet.org/tutorial/gnunet-tutorial.html">{{ _("Development
Tutorial") }}</a></li>
- <li><a class="dropdown-item" href="{{ url_localized('gnurl.html')
}}">libgnurl</a></li>
- <li><a class="dropdown-item" href="{{ url_localized('gns.html')
}}">GNS</a></li>
+ <li><a class="dropdown-item" href="{{ url_localized('gnurl.html')
}}">libgnurl</a></li>
</ul>
</li>
<li class="nav-item dropdown">
diff --git a/inc b/inc
index bdef602..5b8718e 160000
--- a/inc
+++ b/inc
@@ -1 +1 @@
-Subproject commit bdef602fcbd13d59aef971307b3730247a8b9c56
+Subproject commit 5b8718e28143b2b68eb65fba2de14972fedf9160
diff --git a/make_site.py b/make_site.py
index 16a67b9..b27c7cc 100755
--- a/make_site.py
+++ b/make_site.py
@@ -43,7 +43,7 @@ def main():
# rm_rf("rendered")
x = gen_site(DEBUG)
conf = x.load_config("www.yml")
- x.gen_abstract(conf, "newsposts", "abstract", "page", 1000)
+ x.gen_abstract(conf, "newsposts", "abstract", "page", 500)
# for lang in conf["langs_full"]:
# x.gen_newspost_content(conf, "newsposts", "content", "page", lang)
x.gen_newspost_content(conf, "newsposts", "content", "page", "en")
diff --git a/news/2020-01-GNSSpec2.html.j2 b/news/2020-01-GNSSpec2.html.j2
index eecd16b..e673d35 100644
--- a/news/2020-01-GNSSpec2.html.j2
+++ b/news/2020-01-GNSSpec2.html.j2
@@ -11,8 +11,8 @@
</p>
<ul>
<li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li>
- <li><a
href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">Link to
TXT version</a></li>
- <li><a
href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.html">Link to
HTML version</a></li>
+ <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to
TXT version</a></li>
+ <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to
HTML version</a></li>
</ul>
<p>
As already announced on the <a
href="https://lists.gnu.org/archive/html/gnunet-developers/2020-01/msg00000.html">mailing
list</a>,
diff --git a/news/index.html.j2 b/news/index.html.j2
index bdb716d..9d9f9ff 100644
--- a/news/index.html.j2
+++ b/news/index.html.j2
@@ -16,11 +16,13 @@
</div>
</div>
<div class="row">
+ <ul class="timeline">
{% for item in newsdata %}
- <div class="col-lg-4">
+ <li>
{{ news.newspreview(item) }}
- </div>
+ </li>
{% endfor %}
+ </ul>
</div>
</article>
</div>
diff --git a/static/images/logo-2018-dold.svg b/static/images/logo-2018-dold.svg
new file mode 100644
index 0000000..ddb8425
--- /dev/null
+++ b/static/images/logo-2018-dold.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ viewBox="0 0 180 40"
+ version="1.1"
+ id="svg14"
+ sodipodi:docname="logo-2018-dold.svg"
+ inkscape:version="0.92.2 2405546, 2018-03-11">
+ <metadata
+ id="metadata20">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs18" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1916"
+ inkscape:window-height="1041"
+ id="namedview16"
+ showgrid="false"
+ inkscape:zoom="1.8833333"
+ inkscape:cx="91.061947"
+ inkscape:cy="20"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="text12" />
+ <style
+ id="style2">
+ .ts1 { fill: #aa3939; letter-spacing:0; }
+ .ts2 { letter-spacing:0; }
+ </style>
+ <g
+ aria-label="❬Taler❭"
+ style="color:#ff0000;font-weight:bold;font-size:36px;font-family:'Lucida
Console', Monaco, monospace;letter-spacing:0.2em"
+ id="text12">
+ <path
+ d="M 15.978516,31.285156 H 12.234375 L 5.6953125,18.154297
12.234375,5.0058594 h 3.744141 L 9.4042969,18.154297 Z"
+ style="letter-spacing:0;fill:#aa3939"
+ id="path3725" />
+ <path
+ d="M 35.085937,29 H 29.900391 V 7.2910156 h -6.66211 V 2.7558594 h
18.509766 v 4.5351562 h -6.66211 z"
+ style=""
+ id="path3727" />
+ <path
+ d="m 62.817188,19.753906 q -2.882812,0 -4.02539,0.738281
-1.142578,0.738282 -1.142578,2.53125 0,1.335938 0.791015,2.126954
0.791016,0.791015 2.144531,0.791015 2.039063,0 3.164063,-1.529297
1.125,-1.546875 1.125,-4.30664 v -0.351563 z m 7.171875,-1.986328 V 29 h
-5.115234 v -2.197266 q -0.931641,1.300782 -2.390625,2.003907
-1.458984,0.703125 -3.216797,0.703125 -3.357422,0 -5.238281,-1.775391
-1.863281,-1.775391 -1.863281,-4.957031 0,-3.445313 2.232421,-5.080078
2.232422,-1.652344 6 [...]
+ style=""
+ id="path3729" />
+ <path
+ d="M 86.171486,20.791016 V 5.6035156 H 80.950783 V 1.6484375 H
91.321877 V 20.791016 q 0,2.320312 0.720703,3.287109 0.720703,0.966797
2.443359,0.966797 H 98.59922 V 29 h -5.554687 q -3.673828,0 -5.273438,-1.898438
-1.599609,-1.898437 -1.599609,-6.310546 z"
+ style=""
+ id="path3731" />
+ <path
+ d="m 127.59609,28.033203 q -1.79297,0.738281 -3.65625,1.107422
-1.86328,0.369141 -3.9375,0.369141 -4.93945,0 -7.55859,-2.636719
-2.60156,-2.654297 -2.60156,-7.628906 0,-4.816407 2.51367,-7.611328
2.51367,-2.7949224 6.85547,-2.7949224 4.37695,0 6.78515,2.6015624
2.42578,2.583985 2.42578,7.294922 v 2.091797 h -13.34179 q 0.0176,2.320312
1.37109,3.46289 1.35352,1.142579 4.04297,1.142579 1.77539,0 3.49805,-0.509766
1.72265,-0.509766 3.60351,-1.617188 z m -4.35937,-11.074219 q -0.0352, [...]
+ style=""
+ id="path3733" />
+ <path
+ d="m 157.31367,14.744141 q -0.84375,-0.773438 -1.98632,-1.160157
-1.125,-0.386718 -2.47852,-0.386718 -1.63476,0 -2.86523,0.580078
-1.21289,0.5625 -1.88086,1.652344 -0.42188,0.667968 -0.59766,1.617187
-0.1582,0.949219 -0.1582,2.882812 V 29 h -5.15039 V 9.3125 h 5.15039 v 3.058594
q 0.75586,-1.6875 2.32031,-2.6015627 1.56445,-0.9316407 3.65625,-0.9316407
1.05469,0 2.05664,0.2636719 1.01953,0.2460938 1.93359,0.7382813 z"
+ style="letter-spacing:0"
+ id="path3735" />
+ <path
+ d="m 164.43282,31.285156 6.55664,-13.130859 -6.53907,-13.1484376 h
3.72657 l 6.53906,13.1484376 -6.53906,13.130859 z"
+ style="letter-spacing:0;fill:#aa3939"
+ id="path3737" />
+ </g>
+</svg>
diff --git a/static/images/peplogo.svg b/static/images/peplogo.svg
new file mode 100644
index 0000000..f70c4f2
--- /dev/null
+++ b/static/images/peplogo.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version:
6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="704.556px" height="317.204px" viewBox="0 0 704.556 317.204"
enable-background="new 0 0 704.556 317.204"
+ xml:space="preserve">
+<g>
+ <path fill="#03AA4B"
d="M16.244,48.699c0-8.535-0.388-13.19-1.164-31.811h36.854l0.776,32.199
+
c18.233-30.647,50.432-35.302,66.337-35.302c41.897,0,81.855,28.708,81.855,100.865c0,72.544-42.285,104.355-88.838,104.355
+ c-28.319,0-49.269-12.026-59.743-29.096v96.597H16.244V48.699z
M105.858,192.237c9.311,0,28.708-1.94,41.122-19.01
+
c13.966-19.009,15.906-46.94,15.906-60.906c0-34.915-10.475-71.381-53.536-71.381c-58.19,0-58.19,61.683-58.19,79.14
+ C51.159,143.744,54.65,192.237,105.858,192.237z"/>
+ <path fill="#03AA4B" d="M239.708,94.082h206.138v26.836H239.708V94.082z
M239.792,16.852h206.136v26.834H239.792V16.852z
+ M239.792,171.5h206.136v26.834H239.792V171.5z"/>
+ <path fill="#03AA4B"
d="M497.676,48.699c0-8.535-0.389-13.19-1.164-31.811h36.854l0.777,32.199
+
c18.232-30.647,50.432-35.302,66.338-35.302c41.896,0,81.854,28.708,81.854,100.865c0,72.544-42.285,104.355-88.838,104.355
+ c-28.318,0-49.268-12.026-59.742-29.096v96.597h-36.078V48.699z
M587.289,192.237c9.311,0,28.709-1.94,41.123-19.01
+
c13.965-19.009,15.904-46.94,15.904-60.906c0-34.915-10.475-71.381-53.535-71.381c-58.191,0-58.191,61.683-58.191,79.14
+ C532.59,143.744,536.082,192.237,587.289,192.237z"/>
+</g>
+</svg>
diff --git a/static/images/reclaim_logo.png b/static/images/reclaim_logo.png
new file mode 100644
index 0000000..b955553
Binary files /dev/null and b/static/images/reclaim_logo.png differ
diff --git a/static/images/secushare-0444.png b/static/images/secushare-0444.png
new file mode 100644
index 0000000..51f55b3
Binary files /dev/null and b/static/images/secushare-0444.png differ
diff --git a/static/styles.css b/static/styles.css
index 3806ac1..7901d23 100644
--- a/static/styles.css
+++ b/static/styles.css
@@ -50,7 +50,6 @@ code {
code.block {
display: block; }
-
a.btn {
text-decoration: none !important;
color: white !important;
@@ -60,6 +59,11 @@ a.btn:link, a.btn:visited {
color: white !important;
}
+a.btn.frontpage {
+ font-size: 2em;
+ width: 100%;
+}
+
.bluebox a:link, .bluebox a:visited {
text-decoration: underline !important;
color: #f4f4f4 !important;
@@ -277,6 +281,11 @@ header {
margin-top: 30px;
margin-bottom: 50px; }
+.timeline header {
+ text-align: left;
+ margin-bottom: 5px;
+}
+
.alert {
display: flex;
overflow: hidden;
@@ -319,3 +328,34 @@ a.subnav-anchor {
.item-date {
font-size: 0.9em; }
+
+ul.timeline {
+ list-style-type: none;
+ position: relative;
+}
+ul.timeline:before {
+ content: ' ';
+ background: #d4d9df;
+ display: inline-block;
+ position: absolute;
+ left: 29px;
+ width: 2px;
+ height: 100%;
+ z-index: 400;
+}
+ul.timeline > li {
+ margin: 20px 0;
+ padding-left: 20px;
+}
+ul.timeline > li:before {
+ content: ' ';
+ background: white;
+ display: inline-block;
+ position: absolute;
+ border-radius: 50%;
+ border: 3px solid #22c0e8;
+ left: 20px;
+ width: 20px;
+ height: 20px;
+ z-index: 400;
+}
diff --git a/template/applications.html.j2 b/template/applications.html.j2
new file mode 100644
index 0000000..eb0acb8
--- /dev/null
+++ b/template/applications.html.j2
@@ -0,0 +1,160 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="container-fluid">
+ <div class="container">
+ <div class="row">
+ <div class="container text-center">
+ <h1>{{ _("Applications provided by GNUnet") }}</h1>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("The GNU Name System") }}</h3>
+ <p>
+ {% trans %}
+ The <a href="gns.html">GNU Name System (GNS)</a>
+ is a fully decentralized replacement
+ for the Domain Name System (DNS). Instead of using a
+ hierarchy, GNS uses a directed graph. Naming conventions
+ are similar to DNS, but queries and replies are private even
+ with respect to peers providing the answers. The integrity of
+ records and privacy of look-ups is cryptographically secured.
+ <!-- Too technical: GNS integrates
+ a robust, efficient and instant key revocation mechanism. -->
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ <div class="col-lg-4">
+ <center><img style="width: 14em" src="{{
url_static('images/gns-logo.png') }}" alt="GNS" /></center>
+ </div>
+
+ </div>
+ <hr/>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("Self-sovereign, decentralized identity provider") }}</h3>
+ <p>
+ {% trans %}
+ <a href="https://reclaim-identity.io/">re:claimID</a>
+ is a decentralized Identity Provider (IdP) service built in top of the
+ GNU Name System. It allows users to securely share personal information
+ with websites using standardized protocols (OpenID Connect).
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ <div class="col-lg-4">
+ <center><img style="width: 20em" src="{{
url_static('images/reclaim_logo.png') }}" alt="re:claimID" /></center>
+ </div>
+ </div>
+ <hr/>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("Filesharing (Alpha)") }}</h3>
+ <p>
+ {% trans %}
+ GNUnet <a href="use.html#fs">filesharing</a>
+ is an application that aims to provide
+ censorship-resistant, anonymous filesharing. The publisher is
+ empowered to make a gradual choice between performance and anonymity.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ </div>
+ <hr/>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("Conversation (Pre-Alpha)") }}</h3>
+ <p>
+ {% trans %}
+ GNUnet conversation is an application that provides secure
+ voice communication in a fully decentralized way by employing
+ GNUnet for routing and transport.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="container-fluid">
+ <div class="container">
+ <div class="row">
+ <div class="container text-center">
+ <h1>{{ _("Applications utilizing GNUnet") }}</h1>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("GNU Taler (Alpha)") }}</h3>
+ <p>
+ {% trans %}
+ <a href="https://taler.net/">GNU Taler</a>
+ is a new privacy-preserving electronic payment system.
+ Payments are cryptographically
+ secured and are confirmed within milliseconds with
+ extremely low transaction costs.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ <div class="col-lg-4">
+ <center><img style="width: 20em" src="{{
url_static('images/logo-2018-dold.svg') }}" alt="Taler" /></center>
+ </div>
+
+ </div>
+ <hr/>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("secushare") }}</h3>
+ <p>
+ {% trans %}
+ <a href="https://secushare.org/">secushare</a>
+ is creating a decentralized social networking
+ application on top of GNUnet. Using overlay
+ multicast and the extensible PSYC protocol, notifications are
+ distributed end-to-end encrypted to authorized recipients only.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ <div class="col-lg-4">
+ <center><img style="width: 14em" src="{{
url_static('images/secushare-0444.png') }}" alt="secushare" /></center>
+ </div>
+
+ </div>
+ <hr/>
+ <div class="row">
+ <div class="col-lg-6">
+ <section>
+ <h3>{{ _("pretty Easy privacy") }}</h3>
+ <p>
+ {% trans %}
+ <a href="https://pep.foundation/">pretty Easy privacy</a> (p≡p)
+ is creating a usable end-to-end encrypted e-mail solution using
+ opportunistic key exchange.
+ p≡p will use GNUnet to protect metadata and exploit new
+ cryptographic protocols to verify keys.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ <div class="col-lg-4">
+ <center><img style="width: 14em" src="{{ url_static('images/peplogo.svg')
}}" alt="re:claimID" /></center>
+ </div>
+
+ </div>
+ </div>
+ </div>
+</div>
+
+{% endblock body_content %}
diff --git a/template/contact.html.j2 b/template/contact.html.j2
index 32040e0..8f32050 100644
--- a/template/contact.html.j2
+++ b/template/contact.html.j2
@@ -26,8 +26,8 @@
<tt>#gnunet</tt> is reachable via
<a href="https://freenode.net">irc.freenode.net</a>.
There is also an
- <a href="https://old.gnunet.org/bot/log/gnunet">archive</a>
- available (currently unavailable, we are working on restoring
access to it).
+ <a
href="https://view.matrix.org/room/!IjaAfLiruzjxFFzKAV:matrix.org/">archive</a>
+ available.
{% endtrans %}
</p>
</div>
diff --git a/template/gns.html.j2 b/template/gns.html.j2
index 9ac34ad..114e0d2 100644
--- a/template/gns.html.j2
+++ b/template/gns.html.j2
@@ -54,6 +54,10 @@ GNS is designed to provide:
Videos giving an overview of most of the GNS and the motivations behind it is
available in our <a href="{{ url_localized('video.html') }}">videos
section</a>.<br/>
Read more about GNS in the respective section of our <a
href="https://docs.gnunet.org/handbook/gnunet.html#GNU-Name-System-_0028GNS_0029"
target="_blank">handbook</a>.
</p>
+ <p>
+ For protocol details, we maintain a <a
href="https://lsd.gnunet.org/lsd0001">technical specification</a> which can be
used to implement resolvers
+ for GNS.
+ </p>
</div>
</div>
diff --git a/template/index.html.j2 b/template/index.html.j2
index 365ac67..f8d86de 100644
--- a/template/index.html.j2
+++ b/template/index.html.j2
@@ -3,51 +3,22 @@
{% import 'inc/news.macro.j2' as news %}
<!-- Jumbotron -->
<div class="jumbotron">
- <div class="container">
- <div class="row">
- <div class="col-lg-6">
- <center><img src="{{ url_static('images/gnunet-logo-dark-text.png')
}}" alt="GNUnet" /></center>
+ <div class="container text-center">
+ <div>
+ <img src="{{ url_static('images/gnunet-logo-dark-text.png') }}"
alt="GNUnet" />
</div>
- <div class="col-lg-6">
<p>
{% trans %}
GNUnet is a new network protocol stack for building secure,
- distributed, and privacy-preserving applications. With
+ distributed, and privacy-preserving applications.<br/>
+ With
strong roots in
<a href="https://bib.gnunet.org">academic research</a>, our
goal is to replace the
<a href="https://secushare.org/broken-internet">old insecure
Internet</a>
protocol stack.
{% endtrans %}
- <br><br>
- {% trans %}
- GNUnet is typically run as an
- <a href="https://en.wikipedia.org/wiki/Overlay_network">overlay
network</a>
- on top of the existing Internet infrastructure forming the basis of
a hybrid
- <a href="architecture.html">peer-to-peer mesh and relay backbone</a>
- for applications to run on. It could just as well be run
independently of the Internet,
- over <a
href="https://en.wikipedia.org/wiki/Physical_layer">dedicated radio and
cable</a>.
- {% endtrans %}
- <br><br>
- {% trans %}
- GNUnet is made for a free and open society: It's a
self-organizing network and it
- is <a href="http://www.gnu.org/philosophy/free-sw.html">free
software</a>
- as in freedom. GNUnet puts you in control of your data.
- You determine which data to share with whom, and you're not
- pressured to accept compromises.
- {% endtrans %}
</p>
- </div>
- </div>
- </div>
- <div class="container text-center">
- <p>
- <a class="btn btn-primary btn-lg" href="{{ url_localized('#about')
}}">{{ _("About") }}</a>
-
- <a class="btn btn-primary btn-lg" href="{{ url_localized('install.html')
}}">{{ _("Install") }}</a>
-
- <a class="btn btn-primary btn-lg" href="{{ url_localized('engage.html')
}}">{{ _("Engage") }}</a>
- </p>
</div>
</div>
@@ -202,160 +173,53 @@
</div>
<div class="col-lg-4">
<section>
- <h3>{{ _("Learn more about GNUnet") }}</h3>
+ <h3>{{ _("Enter the GNUnet") }}</h3>
<p>
- {% trans %}
- If you want to know more about the GNUnet please continue reading
- the <a href="about.html">about page</a>. There are much more
resources,
- such as the <a href="https://docs.gnunet.org">main handbook /
- reference manual</a>, a <a
href="https://bib.gnunet.org/">bibliography</a>
- and <a href="https://gnunet.org/en/video.html">videos</a>.
- {% endtrans %}
+ {% trans %}
+ GNUnet is typically run as an
+ <a href="https://en.wikipedia.org/wiki/Overlay_network">overlay
network</a>
+ on top of the existing Internet infrastructure forming the basis of
a hybrid
+ <a href="architecture.html">peer-to-peer mesh and relay backbone</a>
+ for applications to run on. It could just as well be run
independently of the Internet,
+ over <a
href="https://en.wikipedia.org/wiki/Physical_layer">dedicated radio and
cable</a>.
+ {% endtrans %}
</p>
<p>
- {% trans %}
- You are very welcome to <a href="https://gnunet.org/en/engage.html">
- get engaged into the conversation</a>,
- <a href="https://gnunet.org/en/install.html">install GNUnet</a>,
- <a href="https://gnunet.org/en/use.html">use it</a> and
- <a href="https://gnunet.org/en/engage.html">contribute</a>. <br>
- Be aware that this project is still in an early alpha stage when it
comes
- to software – it is not an easy task to rewrite the whole
Internet!
- {% endtrans %}
+ {% trans %}
+ GNUnet is made for a free and open society: It's a
self-organizing network and it
+ is <a href="http://www.gnu.org/philosophy/free-sw.html">free
software</a>
+ as in freedom. GNUnet puts you in control of your data.
+ You determine which data to share with whom, and you're not
+ pressured to accept compromises.
+ {% endtrans %}
</p>
</section>
</div>
</div>
</div>
</div>
-
-
-
<div class="container-fluid">
<div class="container">
<div class="row">
- <div class="container text-center">
- <h1>{{ _("Featured Applications") }}</h1>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <section>
- <h3>{{ _("GNU Taler (Alpha)") }}</h3>
- <p>
- {% trans %}
- <a href="https://taler.net/">GNU Taler</a>
- is a new privacy-preserving electronic payment system.
- Payments are cryptographically
- secured and are confirmed within milliseconds with
- extremely low transaction costs.
- {% endtrans %}
- </p>
- </section>
- </div>
- <div class="col-lg-4">
- <section>
- <h3>{{ _("The GNU Name System") }}</h3>
-
- <p>
- {% trans %}
- The <a href="https://gnunet.org/en/gns.html">GNU Name System
(GNS)</a>
- is a fully decentralized replacement
- for the Domain Name System (DNS). Instead of using a
- hierarchy, GNS uses a directed graph. Naming conventions
- are similar to DNS, but queries and replies are private even
- with respect to peers providing the answers. The integrity of
- records and privacy of look-ups is cryptographically secured.
- <!-- Too technical: GNS integrates
- a robust, efficient and instant key revocation mechanism. -->
- {% endtrans %}
- </p>
- </section>
- </div>
- <div class="col-lg-4">
- <section>
- <h3>{{ _("re:claimID") }}</h3>
- <p>
- {% trans %}
- <a href="https://reclaim-identity.io/">re:claimID</a>
- is a decentralized Identity Provider (IdP) service built in top of the
- GNU Name System. It allows users to securely share personal information
- with websites using standardized protocols (OpenID Connect).
- {% endtrans %}
- </p>
- </section>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <section>
- <h3>{{ _("Filesharing (Alpha)") }}</h3>
- <p>
- {% trans %}
- GNUnet <a href="use.html#fs">filesharing</a>
- is an application that aims to provide
- censorship-resistant, anonymous filesharing. The publisher is
- empowered to make a gradual choice between performance and anonymity.
- {% endtrans %}
- </p>
- </section>
- </div>
- <div class="col-lg-4">
- <section>
- <h3>{{ _("Conversation (Pre-Alpha)") }}</h3>
- <p>
- {% trans %}
- GNUnet conversation is an application that provides secure
- voice communication in a fully decentralized way by employing
- GNUnet for routing and transport.
- {% endtrans %}
- </p>
- </section>
- </div>
- </div>
- </div>
-</div>
-
-<div class="container-fluid c_acronym link-white bluebox">
- <div class="container">
- <div class="row">
- <div class="container text-center">
- <h1>{{ _("Upcoming Applications") }}</h1>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-6">
- <section>
- <h3>{{ _("secushare") }}</h3>
- <p>
- {% trans %}
- <a href="https://secushare.org/">secushare</a>
- is creating a decentralized social networking
- application on top of GNUnet. Using overlay
- multicast and the extensible PSYC protocol, notifications are
- distributed end-to-end encrypted to authorized recipients only.
- {% endtrans %}
- </p>
- </section>
+ <div class="col-lg-3">
+ <a class="frontpage btn btn-primary btn-lg" href="{{
url_localized('about.html') }}">{{ _("Learn more") }}</a>
</div>
- <div class="col-lg-6">
- <section>
- <h3>{{ _("pretty Easy privacy") }}</h3>
- <p>
- {% trans %}
- <a href="https://pep.foundation/">pretty Easy privacy</a> (p≡p)
- is creating a usable end-to-end encrypted e-mail solution using
- opportunistic key exchange.
- p≡p will use GNUnet to protect metadata and exploit new
- cryptographic protocols to verify keys.
- {% endtrans %}
- </p>
- </section>
+ <div class="col-lg-3">
+ <a class="frontpage btn btn-primary btn-lg" href="{{
url_localized('applications.html') }}">{{ _("Applications") }}</a>
</div>
+ <div class="col-lg-3">
+ <a class="frontpage btn btn-primary btn-lg" href="{{
url_localized('engage.html') }}">{{ _("Engage") }}</a>
+ </div>
+ <div class="col-lg-3">
+ <a class="frontpage btn btn-primary btn-lg" href="{{
url_localized('install.html') }}">{{ _("Get started") }}</a>
+ </div>
</div>
</div>
</div>
-<div class="container-fluid">
+
+
+
+<!--<div class="container-fluid">
<div class="container">
<div class="row">
<div class="container text-center">
@@ -378,5 +242,5 @@
</div>
</div>
</div>
-
+-->
{% endblock body_content %}
diff --git a/template/install-on-openwrt.html.j2
b/template/install-on-openwrt.html.j2
index b49104a..7ea7f7a 100644
--- a/template/install-on-openwrt.html.j2
+++ b/template/install-on-openwrt.html.j2
@@ -14,12 +14,12 @@
<h2>{{ _("Installation") }}</h2>
- <p>To run GNUnet in meaningful way, you will need a system with at least 16MB
+ <p>To run GNUnet in a meaningful way, you will need a system with at least
16MB
of flash storage and at least 64MB of RAM (128MB of more recommended).</p>
- <p>OpenWrt ships with up-to-date packages GNUnet, so you can install it right
- from the OpenWrt packages repository without having to build things
- yourself.</p>
+ <p>OpenWrt ships with up-to-date packages of GNUnet, so you can install it
right
+ from the OpenWrt packages repository without having to build things from
source
+ by yourself.</p>
<p>GNUnet has been split into a high number of small packages, allowing to
select
anything between the most simple setup supporting GNS and gnunet-vpn:
<p><code>
diff --git a/template/install.html.j2 b/template/install.html.j2
index 8948166..dd252f3 100644
--- a/template/install.html.j2
+++ b/template/install.html.j2
@@ -35,6 +35,7 @@ If you have any queries about the installation or the usage,
please <a href="eng
<li><a
href="https://pkgs.alpinelinux.org/package/edge/testing/x86_64/gnunet">Alpine</a></li>
<li><a
href="https://copr.fedorainfracloud.org/coprs/yosl/gnunet/">Fedora
(Copr)</a></li>
<li><a
href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li>
+ <li><a href="install-on-openwrt.html">OpenWrt</a></li>
</ul>
If GNUnet is available for your Operating System and it is missing,
send us feedback so that we can add it to this list. Furthermore, if
@@ -62,7 +63,6 @@ If you have any queries about the installation or the usage,
please <a href="eng
<a href="install-on-debian9.html">Debian 9</a>,
<a href="install-on-macos.html">Mac OS</a>,
<a href="install-on-netbsd.html">NetBSD</a>,
- <a href="install-on-openwrt.html">OpenWrt</a>,
<a href="install-on-ubuntu1804.html">Ubuntu 1804</a>.
Be aware that not all of them might be totally up-to-date! Please <a
href="engage.html">ask us</a>
if you get stuck.
@@ -107,7 +107,7 @@ If you have any queries about the installation or the
usage, please <a href="eng
</p>
<code class="block">
# addgroup gnunetdns <br>
- # adduser --system --home "/var/lib/gnunet" --group gnunet --shell
/bin/sh<br>
+ # adduser --system --home "/var/lib/gnunet" --group gnunet --shell /bin/sh
gnunet<br>
# usermod -a -G gnunet <username>
</code>
<p>
diff --git a/template/roadmap.html.j2 b/template/roadmap.html.j2
new file mode 100644
index 0000000..bb27158
--- /dev/null
+++ b/template/roadmap.html.j2
@@ -0,0 +1,44 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="container">
+ <div class="row">
+ <div class="container text-center">
+ <h1>{{ _("Roadmap") }}</h1>
+ <section>
+ <p>
+ This is our roadmap.
+ </p>
+ </section>
+ </div>
+ <ul class="timeline">
+ <li>
+ <section class="item-preview">
+ <header>
+ <h3>0.13.0</h3>
+ <p class="item-date">
+ 2020
+ </p>
+ </header>
+ <!--<p class="item-abstract">
+ </p>-->
+ </section>
+
+ </li>
+ <li>
+ <section class="item-preview">
+ <header>
+ <h3>0.14.0</h3>
+ <p class="item-date">
+ 2021
+ </p>
+ </header>
+<!-- <p class="item-abstract">
+ This release will include...
+ </p>-->
+ </section>
+ </li>
+ </ul>
+ </div>
+</div>
+
+{% endblock body_content %}
diff --git a/template/use.html.j2 b/template/use.html.j2
index 32b3783..75c7c52 100644
--- a/template/use.html.j2
+++ b/template/use.html.j2
@@ -23,15 +23,15 @@
<div class="col">
<section>
<p>
- This document is just a brief intro on what can be done with GNUnet.
Find much more in our <a ref="https://docs.gnunet.org/">documentation</a>, e.g.
in the section <a
href="https://docs.gnunet.org/handbook/gnunet.html#toc-Using-GNUnet-1">"using
GNUnet"</a> in the handbook.
+ This document is just a brief introduction on what can be done with
GNUnet. Find out much more in our <a
ref="https://docs.gnunet.org/">documentation</a>, e.g. in the section <a
href="https://docs.gnunet.org/handbook/gnunet.html#toc-Using-GNUnet-1">"using
GNUnet"</a> in the handbook.
- The configuration in the handbook is done with the UI interface
gnunet-gtk.
+ Please note that the handbook / reference manual uses the graphical
user interface (UI) gnunet-gtk to configure GNUnet. In this introduction, we
use the command line interface (CLI).
</p>
</section>
<section>
- <h3>{{ _("Get on GNUnet") }}</h3>
+ <h3>{{ _("Accessing GNUnet") }}</h3>
<p>
Now we can start it with the command line tool
@@ -75,7 +75,7 @@
vpn (gnunet-service-vpn)
</code>
- <h3>{{ _("Get off GNUnet") }}</h3>
+ <h3>{{ _("Leaving GNUnet") }}</h3>
<p>
For stopping GNUnet again we can use the `-e` option; e=end.
</p>
@@ -97,6 +97,8 @@
Tue Oct 30 19:58:48 2018: connection established 7WRD (timeout
in 299 s)<br>
Tue Oct 30 19:58:48 2018: connection established 5WBG (timeout
in 299 s)<br>
</code>
+
+ <p>Overtime the list will change as new peers connect or drop out,
this is normal.</p>
</p>
There are much more options to see if you are connected and how. E.g.
'gnunet-peerinfo' shows you all peers your peer knows, or with "tail -f
~/.cache/gnunet/*" you'll get to see what's going on with your node.
</section>
@@ -104,7 +106,7 @@
<section>
<h3>{{ _("... and play around with it.") }}</h3>
<p>
- So let's try out some of GNUnet's use cases. Please mind that
some should be done in a particular order, one after another:
+ So let's try out some of GNUnet's most common use-cases to
illustrate it's power. Please be mindful that some should be done in a
particular order, one after another:
</p>
<ul>
@@ -139,7 +141,7 @@
</code>
</p>
<p>
- Finding the file by keyword works with `gnunet-search`.
+ GNUnet users can find the file by using the
<code>gnunet-search</code> command.
</p>
<p>
<code>
@@ -149,22 +151,21 @@
</code>
</p>
<p>
- It gives us the command line call to download the file (and store it
as
- ostrom.pdf)!
+ <code>gnunet-search</code> returns the command line call to download
the file (and store it as ostrom.pdf)!
</p>
<p>
- <p>
- It's recommended for filesharing that you increase your bandwidth
restrictions
- from the actually pretty low defaults. The example below sets the WAN
- and LAN limits to the value "unlimited".
- </p>
+ <p>
+ It's recommended for filesharing that you increase GNUnet's
bandwidth restrictions
+ from the actually pretty low defaults. The example below sets the
WAN
+ and LAN limits to the value "unlimited".
+ </p>
- <code>
- $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
- $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
- $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
- $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
- </code>
+ <code>
+ $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
+ $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
+ $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
+ $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
+ </code>
</p>
<p>
Please note that it might take some time (up to some hours) till
your peers can see your freshly uploaded files.
@@ -174,38 +175,41 @@
</section>
-
-
<section>
-
<h3><a name="cadet" class="subnav-anchor"></a>{{ _("CADET (and Chat)")
}}</h3>
+ <p>The CADET subsystem is at the heart of the GNUnet project because
it is responsible for secure end-to-end communications between peers (nodes) in
the GNUnet overlay network.</p>
<p>
- We can use the `gnunet-cadet` command line tool to open a port and
from
- another machine connect to this port and chat or transfer data.
First we need
- our <b>peer ID</b> of the GNUnet peer opening the port.
- </p>
+ Users can chat and send files to each other on the GNUnet network
using a simple CADET tool. We use the `gnunet-cadet` command line tool to open
a port on our local machine and from another peer on the network connect to
this port. Users can then chat or transfer files.
+ </p>
+
+ <p>
+ In the following example, Alice will create a CADET session on her
laptop. Bob will then connect to Alice from his desktop. Alice will first need
her <b>peer ID</b> of the GNUnet and provide it to Bob.
+ </p>
<p>
<code>
- $ gnunet-peerinfo -s<br>
+ alice@laptop $ gnunet-peerinfo -s<br>
I am peer `P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG'.
</code>
</p>
<p>
- Now we open the port (it can be any string!):
+ Now Alice will open a port using the -o option, giving it a name, in
this case Alice calls it 'my-secret-port' (it can be any string!):
</p>
<p>
<code>
- $ gnunet-cadet -o my-secret-port
+ alice@laptop $ gnunet-cadet -o my-secret-port
</code>
</p>
- <p>On the other machine we can connect using the peer ID and the port
and start chatting! "Other machine can be a friend's one which has GNUnet
running, but it can also just be another shell on your machine.</p>
+ <p>On Bob's machine he can connect to Alice using her <b>peer ID</b>
and the port name. Once connected they can start chatting.</p>
<p>
<code>
- $ gnunet-cadet P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG
my-secret-port
+ bob@desktop $ gnunet-cadet
P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG my-secret-port
</code>
</p>
+
+ <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>
+
<p>
- If you are interested into CADET in detail, please have a look
in the <a
href="https://docs.gnunet.org/handbook/gnunet.html#CADET-Subsystem">chapter
"Cadet-Subsystem" in our handbook</a>. The CADET subsystem is responsible for
secure end-to-end communications between nodes in the GNUnet overlay network;
as transport protocol it's somewhat of the heart of the project.
+ 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>.
</p>
</section>
@@ -214,25 +218,25 @@
<section>
<h3><a name="groupchat" class="subnav-anchor"></a>{{ _("Chatting with
a (simple) client") }}</h3>
<p>
- To chat a tiny bit prettier, we can install and compile
additional software.
- If you join the chat mentioned below and no one is there, feel
free to ping on
- IRC/freenode #gnunet and ask if someone can join to test with
you! (But we are
- trying to be there as often as possible).
+ To make chatting a tiny bit easier and prettier, we need to install
and compile additional software.
+ If you join the chat mentioned below and no one is there, feel free
to ping on
+ IRC/freenode #gnunet and ask if someone can join in to test with
you! (But we are
+ trying to be there as often as possible).
</p>
<p>
- First we have to install Nim. Please refer to their <a
href="https://nim-lang.org/install.html">project site</a> for further details.
The preferred method is using our package manager, e.g. for Debian it would
look like this:
+ First we have to install the Nim programming language. Please refer
to their <a href="https://nim-lang.org/install.html">project site</a> for
further details. The preferred method is using you distributions package
manager, e.g. for Debian it would look like this:
</p>
<code>
$ sudo apt install nim<br>
$ nim --version<br>
- Nim Compiler Version 0.20.2 [Linux: amd64]<br>
- Compiled at 2019-07-17<br>
- Copyright (c) 2006-2019 by Andreas Rumpf<br>
+ Nim Compiler Version 1.2.2 [Linux: amd64]<br>
+ Compiled at 2020-06-16<br>
+ Copyright (c) 2006-2020 by Andreas Rumpf<br>
<br>
active boot switches: -d:release -d:nativeStackTrace<br>
</code>
<p>
- If the displayed version is <b>0.19.0 or newer</b>, we have a
compatible version and can continue downloading and compiling the groupchat. If
the version is older (like on Ubuntu 18.04) we can install Nim using a tool
called <i>choosenim</i>:
+ If the displayed version is <b>1.2.2 or newer</b>, we have a compatible
version and can continue downloading and compiling the groupchat. If the
version is older (like on Ubuntu 18.04) we can install Nim using a tool called
<i>choosenim</i>:
</p>
<code>
$ curl https://nim-lang.org/choosenim/init.sh -sSf | sh
@@ -243,11 +247,11 @@
<p>In the onscreen instructions you'll be ask to add a line to your
bashrc - once you've done that, re-read your bash environment to make the
change active:
</p>
<code>
- source ~/.bashrc
+ $ source ~/.bashrc
</code>
<p>
- After we have installed (and maybe upgraded) Nim we download and
compile the groupchat application:
+ After we have installed (and maybe upgraded) Nim we download and
compile the GNUnet groupchat application:
</p>
<p>
<code>
@@ -257,65 +261,55 @@
</code>
<p>
<p>
- Fine! We can now try to enter a chat server running on another
GNUnet node.
+ We can now try to enter a chat server running on another GNUnet
node using the command:
</p>
<p>
<code>
$ LD_LIBRARY_PATH=/path/to/gnunetlibs ./groupchat
--config=/path/to/gnunet.conf
--server=88RXABKJNMT426FY81N2DXN0M2X37SW5Q1NR005YPDZ1Q7A22CHG --port=t3ss
--nick=YOURNICK<br>
</code>
<p>
- (or as alternative server
"QYYZ9S0GMRS5GJGA415YEFB29RM1E4NJ4NX8DG0T8GYFDJVYHNJ0" and port "welcome")
- </p>
- <p>
- The peer and port in this example should work in real, because
that peer is almost always online and running groupchat on that port.
- <p>
- You should now see something like this:
- </p>
- <p>
- <code>
- > 2018-10-30 19:50:10 Welcome 8Q2T! participants: @[]<br>
- Hello GNUnet!<br>
- 2018-10-30 19:52:53 [8Q2T] Hello GNUnet!<br>
- </code>
- <p>
+ The peer key and port name given in this example should work as
they are almost always online and running groupchat on port "t3ss".
<p>
- Here we have typed "Hello gnunet!" to standard in which is then
written out to standard out after having been sent back from GNUnet.
- </p>
</section>
<section>
<h3><a name="gns_cli" class="subnav-anchor"></a>{{ _("Name resolution
using GNS on the command line") }}</h3>
- <p>GNS is the GNU name service, a fully decentralized alternatice to
DNS. We'll publish an IP address in a GNS record try to resolve it on the
command line. First we need an identity which is the
- equivalent to a zone in DNS. We'll call it "myself" and create it
using the
- `gnunet-identity` command line tool. Instead of "myself" you can
surely use your
- nick or any other name. </p>
+ <p>The GNU Name Service (GNS) is a fully decentralized alternative to
the Domain Name System (DNS). Where GNS does not suffer the same major <a
href="https://en.wikipedia.org/wiki/Domain_Name_System#Security_issues">security
flaws as DNS</a>.
+ </p>
+
+ <p>
+ In this example, Alice will save the IP address (195.54.164.39) of the
Chaos Computer Club e.V. (CCC) homepage into a GNUnet namestore record and then
try to resolve it using GNUnet GNS.
+
+
+ <p> First Alice needs to create a GNUnet identity which is the
equivalent to a zone in a DNS. We'll call it "myself" and create it using the
`gnunet-identity` command line tool. Instead of "myself" you can use your
nickname, or any other name. </p>
+
<p>
<code>
- $ gnunet-identity -C myself
+ alice@laptop $ gnunet-identity -C myself
</code>
</p>
- <p>We can check if it worked using the same tool. We expect the name
of our identity and the corresponding public key to be displayed.</p>
+
+ <p>Alice can check to see if it worked using the same tool. The name
of her identity and the corresponding public key are displayed.</p>
<p>
<code>
- $ gnunet-identity -d<br>
+ alice@laptop $ gnunet-identity -d<br>
myself - HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG
</code>
</p>
<p>
- Now we add a public `A` record to our zone. It has the name "ccc", a
value
- of "195.54.164.39" and it expires after one day.
+ Now Alice adds a public `A` record to the zone. We'll call it
"ccc" with the value "195.54.164.39" and it expires after one day.
</p>
<p>
<code>
- $ gnunet-namestore -z myself -a -e "1 d" -p -t A -n ccc -V
195.54.164.39
+ alice@laptop $ gnunet-namestore -z myself -a -e "1 d" -p -t A -n ccc
-V 195.54.164.39
</code>
</p>
- <p>Now we can query that record using the command line tool
`gnunet-gns`.</p>
+ <p>Now the GNS can be queried using the command line tool
`gnunet-gns`.</p>
<p>
<code>
- $ gnunet-gns -t A -u ccc.myself<br>
+ alice@laptop $ gnunet-gns -t A -u ccc.myself<br>
ccc.myself:<br>
Got `A' record: 195.54.164.39
</code>
@@ -328,13 +322,13 @@
</p>
<p>
<code>
- $ gnunet-namestore -z myself -a -e never -p -t PKEY -n alice -V
HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG
+ bob@desktop $ gnunet-namestore -z myself -a -e never -p -t PKEY -n
alice -V HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG
</code>
</p>
<p>
- Our identity in Bobs namestore is a public record (-p) and never
+ Alices identity in Bobs namestore is a public record (-p) and never
expires (-e never). Now Bob (let's assume he has called his
- identity myself, too) should be able to resolve our "ccc" record,
+ identity myself, too) should be able to resolve Alice's "ccc" record,
too!
</p>
<p>
@@ -346,9 +340,9 @@
</p>
<p>
It can continue like this. A friend of Bob would be able to
- resolve our records too because Bob published our identity in a
+ resolve Alice's records too because Bob published her identity in a
public record. Bobs friend would simply use "ccc.alice.bob.myself"
- to resolve our "ccc" record.
+ to resolve Alice's "ccc" record.
</p>
<p>
See the <a
href="https://docs.gnunet.org/handbook/gnunet.html#First-steps-_002d-Using-the-GNU-Name-System">chapter
"Using the GNU Name System" in our handbook</a> for a more detailed
documentation.
@@ -361,18 +355,25 @@
<h3><a name="gns_browser" class="subnav-anchor"></a>{{ _("Name
resolution using GNS with a browser") }}</h3>
<p>
- In the previous use case "Name resolution using GNS on the command
line" we got an idea
- about what GNS is about, but now let's use it with a browser, to
make it actually useful. Currently Firefox and Chromium are known to work.
+ In the previous use-case "Name resolution using GNS on the command
line" we saw how we could retrieve a value (e.g. an IP address) associated with
a given named record (e.g. a web address).
+ Now we'll see how GNS can be used with a browser, making it actually
useful. Currently Firefox and Chromium are known to work with GNS.
</p>
<p>
- Many websites enforce HTTPS and thus provide certificates for
- their hostnames (and not our GNS names). Browsers don't like wrong
- hostnames in certificates and will present error messages. So GNUnet
- has to trick them by generating own certificates for our GNS
- names. This means we need to create our own certificate authority
- and tell our browser about it. Luckily there's a script for it:
+ Many websites enforce HTTPS by providing TLS certificates for
+ their hostnames, with the aim of encrypting the web page content
between the clients browser and the hostname server, and authenticating the
server and client to each other. This is so
+ that a 3rd party cannot see what is being communicated between the
client (browser) and server (website host). This is important, for example, if
you are using online banking where you don't want anyone seeing your customer
ID and password.
</p>
+
+ <p>
+ Unfortunately, if a browser resolves a hostname through the GNS, the
TLS certificates will have the original hostname and the browser will present
an error message. In the previous example, we resolved "ccc.myself" to
195.54.164.39 but the hostname's TLS certificate refers to the actual hostname
as "https://www.ccc.de/"
+
+ So GNUnet has to trick the browser by generating it's own
certificates for the hostnames GNS
+ resolves. This means we need to create our own certificate authority
+ and tell our browser to use this instead. Luckily there's a script
to fix this problem:
+ </p>
+
+
<p>
<code>
$ gnunet-gns-proxy-setup-ca
@@ -386,18 +387,19 @@
names with GNS first and forward the rest of the DNS traffic to
the system's DNS resolver. It will also take care of the HTTP
traffic, so the browser gets valid certificates and the web server
- will not be confused by our GNS hostnames. Our GNS namestore
- doesn't know about any DNS hostnames yet, so we have to store
- them, too. For our "ccc" A record, we have to store a LEHO (legacy
- hostname) record, too. It must contain the website's original DNS
+ will not be confused by the hostnames resolved by GNS instead of the
DNS. The GNS namestore
+ does not know about any DNS hostnames yet, so we have to store
+ them, too. For our "ccc" A record, we have to store a LEHO (LEgacy
+ HOstname) record, too. It must contain the website's original DNS
hostname:
</p>
+
<p>
<code>
$ gnunet-namestore -z myself -a -e "1 d" -p -t LEHO -n ccc -V
www.ccc.de
</code>
</p>
- <p>Now let's start gnunet-gns-proxy.</p>
+ <p>Now lets start gnunet-gns-proxy.</p>
<p>
<code>
$ /usr/lib/gnunet/libexec/gnunet-gns-proxy
@@ -537,7 +539,7 @@
</p>
<code>
- gnunet-peerinfo -p <string>
+ $ gnunet-peerinfo -p <string>
</code>
<p>
@@ -566,9 +568,4 @@
</div>
</div>
</article>
-{% endblock body_content %}
-
-
-
-
-
+{% endblock body_content %}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [www] branch stable updated (7a88712 -> 960a4c3),
gnunet <=