aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-12-08 11:00:28 +0000
committerng0 <ng0@n0.is>2019-12-08 11:00:28 +0000
commit9975d6f250dee9a4d599d2c144b3700646290ca3 (patch)
treed64aac0ce4e15c370319c05d636d07fca8d8a312
parenteda66aa43040d9196b61a1a7e0bad7e7c5dee693 (diff)
parent2b9a55a928876e5d3ae3baa2908a99269880383a (diff)
downloadwww-9975d6f250dee9a4d599d2c144b3700646290ca3.tar.gz
www-9975d6f250dee9a4d599d2c144b3700646290ca3.zip
Merge branch 'master' into stable
-rw-r--r--.gitignore9
-rw-r--r--.gitmodules10
-rw-r--r--.mailmap2
-rw-r--r--FIXME2
-rw-r--r--GNUmakefile41
-rw-r--r--Makefile24
-rw-r--r--README6
-rwxr-xr-xbootstrap5
m---------build-system/taler-build-scripts0
-rw-r--r--common/base.j26
-rw-r--r--common/footer.j2.inc5
-rw-r--r--common/header.j2.inc5
-rw-r--r--common/navigation.j2.inc2
-rw-r--r--common/news.j27
-rwxr-xr-xconfigure1
-rw-r--r--guix-env.scm128
m---------help0
-rw-r--r--i18nfix.py41
m---------inc0
-rw-r--r--inc/news.macro.j213
-rw-r--r--locale/de/LC_MESSAGES/messages.po2063
-rw-r--r--locale/en/LC_MESSAGES/messages.po1927
-rw-r--r--locale/es/LC_MESSAGES/messages.po1978
-rw-r--r--locale/fr/LC_MESSAGES/messages.po1928
-rw-r--r--locale/it/LC_MESSAGES/messages.po1928
-rwxr-xr-xmake_site.py76
-rwxr-xr-xmake_sitemap.sh74
-rw-r--r--news/2017-10.html.j27
-rw-r--r--news/2018-08.html.j240
-rw-r--r--news/index.html.j22
-rwxr-xr-xrssg220
-rw-r--r--static/favicon.ico (renamed from favicon.ico)bin1467 -> 1467 bytes
-rw-r--r--static/images/gns-logo.pngbin0 -> 36087 bytes
-rw-r--r--static/images/gnunet-logo.svg801
-rw-r--r--static/pdf/flyer2017.pdfbin941424 -> 0 bytes
-rw-r--r--static/scroll.css49
-rw-r--r--static/scroll.js12
-rw-r--r--static/styles.css317
-rw-r--r--static/styles.sass334
-rwxr-xr-xtemplate.py304
-rw-r--r--template/engage.html.j214
-rw-r--r--template/gns.html.j263
-rw-r--r--template/gsoc-2018-gnunet-webui.html.j274
-rw-r--r--template/index.html.j259
-rw-r--r--template/install-on-netbsd.html.j2262
-rw-r--r--template/install.html.j28
-rw-r--r--template/use.html.j214
-rw-r--r--template/video.html.j212
-rw-r--r--templates/feed-atom.py4
-rw-r--r--templates/feed.atom.j212
-rw-r--r--templates/feed.xml15
-rw-r--r--www.yml113
52 files changed, 1508 insertions, 11509 deletions
diff --git a/.gitignore b/.gitignore
index f5d1cb1f..a5b4b5cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
1./*.html 1./*.html
2common/*.inc 2common/*.inc
3 3
4old/
5
4*.mo 6*.mo
5locale/*/ 7locale/*/
6locale/messages.pot 8locale/messages.pot
@@ -19,9 +21,8 @@ ru/
19__pycache__ 21__pycache__
20*.pyc 22*.pyc
21 23
22static/styles.css
23
24sitemap.html 24sitemap.html
25sitemap.xml
25 26
26*~ 27*~
27\#*\# 28\#*\#
@@ -30,3 +31,7 @@ futility_engine_loader.sh
30config.mk 31config.mk
31 32
32*.core 33*.core
34
35.style.yapf
36help/
37configure
diff --git a/.gitmodules b/.gitmodules
index d21ef0d6..1cb35121 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,9 @@
1[submodule "help"]
2 path = help
3 url = git://taler.net/help
4 branch = master
5 ignore = dirty
6[submodule "build-system/taler-build-scripts"] 1[submodule "build-system/taler-build-scripts"]
7 path = build-system/taler-build-scripts 2 path = build-system/taler-build-scripts
8 url = git://git.taler.net/build-common 3 url = git://git.taler.net/build-common
9 ignore = dirty 4 ignore = dirty
5[submodule "inc"]
6 path = inc
7 url = https://git.gnunet.org/www_shared.git
8 branch = default
9 ignore = dirty
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 00000000..017cc9a6
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,2 @@
1ng0 <ng0@n0.is>
2ng0 <ng0@n0.is> Nils Gillmann <gillmann@infotropique.org>
diff --git a/FIXME b/FIXME
deleted file mode 100644
index f088a2eb..00000000
--- a/FIXME
+++ /dev/null
@@ -1,2 +0,0 @@
1.well-known/security.txt
2# nothing at all, test
diff --git a/GNUmakefile b/GNUmakefile
index 381118f0..ffe9c281 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -19,18 +19,16 @@
19 19
20include config.mk 20include config.mk
21 21
22all: css locale template 22all: locale template
23 ($(cp) -R dist rendered/)
24 ($(cp) -R static rendered/)
25 ($(cp) rendered/static/robots.txt rendered/robots.txt) 23 ($(cp) rendered/static/robots.txt rendered/robots.txt)
26 ($(cp) rendered/static/stage.robots.txt rendered/stage.robots.txt) 24 ($(cp) rendered/static/stage.robots.txt rendered/stage.robots.txt)
27 ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) 25 ($(cp) rendered/static/robots.txt rendered/dist/robots.txt)
28 (for lang in en de es fr it ; do \ 26 (for lang in en de es fr it ; do \
29 $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt ; \ 27 $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt ; \
30 done) 28 done)
31 ($(cp) favicon.ico rendered/favicon.ico) 29 ($(python) inc/make_sitemap.py -i rendered)
32 ($(sh) make_sitemap.sh) 30 ($(cp) sitemap.xml rendered/sitemap.xml)
33 ($(cp) rendered/sitemap.xml rendered/en/sitemap.xml) 31 ($(cp) sitemap.xml rendered/en/sitemap.xml)
34 ($(cp) static/moved.html rendered/frontpage.html) 32 ($(cp) static/moved.html rendered/frontpage.html)
35 (cd rendered; $(ln) -fs frontpage.html frontpage) 33 (cd rendered; $(ln) -fs frontpage.html frontpage)
36 ($(cp) static/moved_gsoc.html rendered/gsoc.html) 34 ($(cp) static/moved_gsoc.html rendered/gsoc.html)
@@ -43,14 +41,8 @@ all: css locale template
43 (cd rendered ; $(ln) -fs about.html philosophy) 41 (cd rendered ; $(ln) -fs about.html philosophy)
44 (cd rendered; \ 42 (cd rendered; \
45 for lang in en de es fr it; do \ 43 for lang in en de es fr it; do \
46 $(sh) ../rssg $$lang/news/index.html 'GNUnet.org' > $$lang/news/rss.xml; \ 44 $(cp) $$lang/rss.xml $$lang/news/rss.xml; \
47 done) 45 done)
48 (cd rendered/en ; $(ln) -fs news/rss.xml rss.xml)
49 (cd rendered/de ; $(ln) -fs news/rss.xml rss.xml)
50 (cd rendered/es ; $(ln) -fs news/rss.xml rss.xml)
51 (cd rendered/fr ; $(ln) -fs news/rss.xml rss.xml)
52 (cd rendered/it ; $(ln) -fs news/rss.xml rss.xml)
53
54 46
55# Extract translateable strings from jinja2 templates. 47# Extract translateable strings from jinja2 templates.
56# Because of the local i18nfix extractor module we need 48# Because of the local i18nfix extractor module we need
@@ -60,25 +52,16 @@ locale/messages.pot: common/*.j2.inc template/*.j2
60 52
61# Update translation (.po) files with new strings. 53# Update translation (.po) files with new strings.
62locale-update: locale/messages.pot 54locale-update: locale/messages.pot
63 $(msgmerge) -q -U -m --previous locale/en/LC_MESSAGES/messages.po locale/messages.pot 55 (for lang in en de es fr it; do \
64 $(msgmerge) -q -U -m --previous locale/de/LC_MESSAGES/messages.po locale/messages.pot 56 $(msgmerge) -q -U -m --previous locale/$$lang/LC_MESSAGES/messages.po locale/messages.pot ; \
65 $(msgmerge) -q -U -m --previous locale/fr/LC_MESSAGES/messages.po locale/messages.pot 57 done)
66 $(msgmerge) -q -U -m --previous locale/es/LC_MESSAGES/messages.po locale/messages.pot
67 $(msgmerge) -q -U -m --previous locale/it/LC_MESSAGES/messages.po locale/messages.pot
68
69 if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi 58 if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi
70 59
71# sass preprocessor
72css:
73 $(sassc) static/styles.sass static/styles.css
74
75# Compile translation files for use. 60# Compile translation files for use.
76locale-compile: 61locale-compile:
77 $(pybabel) -q compile -d locale -l en --use-fuzzy 62 (for lang in en de fr it es; do \
78 $(pybabel) -q compile -d locale -l de --use-fuzzy 63 $(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \
79 $(pybabel) -q compile -d locale -l fr --use-fuzzy 64 done)
80 $(pybabel) -q compile -d locale -l it --use-fuzzy
81 $(pybabel) -q compile -d locale -l es --use-fuzzy
82 65
83# Process everything related to gettext translations. 66# Process everything related to gettext translations.
84locale: locale-update locale-compile 67locale: locale-update locale-compile
@@ -86,7 +69,7 @@ locale: locale-update locale-compile
86# Run the jinja2 templating engine to expand templates to HTML 69# Run the jinja2 templating engine to expand templates to HTML
87# incorporating translations. 70# incorporating translations.
88template: locale-compile 71template: locale-compile
89 $(python) ./template.py 72 $(python) ./make_site.py
90 73
91it: template 74it: template
92 75
diff --git a/Makefile b/Makefile
index 1f65b352..4cb7a99b 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ DESTDIR=$(prefix)
12_LOCALELIST= en de fr it es 12_LOCALELIST= en de fr it es
13_DIRLIST= dist static 13_DIRLIST= dist static
14 14
15.PHONY: all run locale-compile locale install clean css 15.PHONY: all run locale-compile locale install clean
16 16
17.OBJDIR=rendered 17.OBJDIR=rendered
18 18
@@ -20,20 +20,16 @@ _DIRLIST= dist static
20 20
21# All: build HTML pages in all languages and compile the 21# All: build HTML pages in all languages and compile the
22# TypeScript logic in web-common. 22# TypeScript logic in web-common.
23all: css locale template 23all: locale template
24.for _dir in ${_DIRLIST}
25 $(cp) -R ${_dir} rendered/
26.endfor
27.for _lang in ${_LOCALELIST} 24.for _lang in ${_LOCALELIST}
28 ($(cp) rendered/static/robots.txt rendered/${_lang}) 25 ($(cp) rendered/static/robots.txt rendered/${_lang})
29 ($(cp) rendered/static/stage.robots.txt rendered/${_lang}) 26 ($(cp) rendered/static/stage.robots.txt rendered/${_lang})
30.endfor 27.endfor
31 ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) 28 ($(cp) rendered/static/robots.txt rendered/dist/robots.txt)
32 ($(cp) favicon.ico rendered/) 29 # ($(cp) favicon.ico rendered/)
33 $(sh) make_sitemap.sh 30 # $(sh) make_sitemap.sh
34.for _lang in ${_LOCALELIST} 31 ($(cp) sitemap.xml rendered/sitemap.xml)
35 ($(cp) rendered/sitemap.xml rendered/${_lang}) 32 ($(cp) rendered/sitemap.xml rendered/en/sitemap.xml)
36.endfor
37 ($(cp) static/moved.html rendered/frontpage.html) 33 ($(cp) static/moved.html rendered/frontpage.html)
38 (cd rendered; $(ln) -fs frontpage.html frontpage) 34 (cd rendered; $(ln) -fs frontpage.html frontpage)
39 ($(cp) static/moved_gsoc.html rendered/gsoc.html) 35 ($(cp) static/moved_gsoc.html rendered/gsoc.html)
@@ -44,9 +40,6 @@ all: css locale template
44 (cd rendered/node ; $(ln) -fs about.html 397) 40 (cd rendered/node ; $(ln) -fs about.html 397)
45 ($(cp) static/moved_about.html rendered/about.html) 41 ($(cp) static/moved_about.html rendered/about.html)
46 (cd rendered ; $(ln) -fs about.html philosophy) 42 (cd rendered ; $(ln) -fs about.html philosophy)
47.for _lang in ${_LOCALELIST}
48 (cd rendered; $(sh) ../rssg ${_lang}/news/index.html 'GNUnet News' > ${_lang}/news/rss.xml)
49.endfor
50 43
51# Extract translateable strings from jinja2 templates. 44# Extract translateable strings from jinja2 templates.
52locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc 45locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc
@@ -74,10 +67,7 @@ locale: locale-update locale-compile
74# Run the jinja2 templating engine to expand templates to HTML 67# Run the jinja2 templating engine to expand templates to HTML
75# incorporating translations. 68# incorporating translations.
76template: locale-compile 69template: locale-compile
77 $(python) ./template.py 70 $(python) ./make_site.py -vvvv
78
79css:
80 $(sassc) static/styles.sass static/styles.css
81 71
82run: 72run:
83.if defined(browser) && !empty(DESTDIR) && !empty(python) 73.if defined(browser) && !empty(DESTDIR) && !empty(python)
diff --git a/README b/README
index 5e160039..9857ac6a 100644
--- a/README
+++ b/README
@@ -76,7 +76,7 @@ If you intend to write a new post, read this carefully.
76 This can change in the future. The first h1 is what gets 76 This can change in the future. The first h1 is what gets
77 assigned as the title for the rss feed item for this post. 77 assigned as the title for the rss feed item for this post.
78 78
79* Every news post must get added as an dict to the newspost list 79* Every news post must get added as a dict to the newspost list
80 in template.py. If you are not sure what those words mean, search 80 in template.py. If you are not sure what those words mean, search
81 "newsposts" in template.py. There you will find a structure where 81 "newsposts" in template.py. There you will find a structure where
82 you have to add a new member including the "," at the end. 82 you have to add a new member including the "," at the end.
@@ -95,13 +95,13 @@ If you intend to write a new post, read this carefully.
95 * title can be any title but preferable equal to the title (<h1>) 95 * title can be any title but preferable equal to the title (<h1>)
96 in the file. 96 in the file.
97 97
98* If you use website internal links in your post, do not use plain 98* If you use website-internal links in your post, do not use plain
99 href targets. Read template.py and grep for *url* to see what can 99 href targets. Read template.py and grep for *url* to see what can
100 be used and grep the rest of the pages for examples how to use 100 be used and grep the rest of the pages for examples how to use
101 these functions. 101 these functions.
102 102
103* Last but least build the website locally and check if the news 103* Last but least build the website locally and check if the news
104 post renderes correctly. 104 post renders correctly.
105 105
106Developing with GNU Guix 106Developing with GNU Guix
107======================== 107========================
diff --git a/bootstrap b/bootstrap
index 82700e1b..7630c337 100755
--- a/bootstrap
+++ b/bootstrap
@@ -11,4 +11,7 @@ if ! git --version >/dev/null; then
11fi 11fi
12 12
13git submodule update --init 13git submodule update --init
14cp build-system/taler-build-scripts/configure ./configure 14git submodule update --recursive --remote
15git submodule sync
16cp build-system/taler-build-scripts/configure ./configure || true
17cp build-system/taler-build-scripts/conf/.style.yapf .style.yapf || true
diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts
Subproject ff59117f2814c866e45ef8b3265b8596264d4eb Subproject 1915a74bbb4cd2ae9bc541a382dfebc37064a2f
diff --git a/common/base.j2 b/common/base.j2
index 70034222..f82e4f27 100644
--- a/common/base.j2
+++ b/common/base.j2
@@ -10,7 +10,11 @@
10 <body id="mybody"> 10 <body id="mybody">
11 {% include "common/navigation.j2.inc" %} 11 {% include "common/navigation.j2.inc" %}
12 <div id="body_content" class="bg-near-white"> 12 <div id="body_content" class="bg-near-white">
13 {% block body_content %}{% endblock %} 13 <!-- jump to top, TODO: the link does not cover all of the button -->
14 <a href="#" id="jump-top" role="button">
15 <i class="fas fa-chevron-up"></i>
16 </a>
17 {% block body_content %}{% endblock %}
14 </div> 18 </div>
15 {% include "common/footer.j2.inc" %} 19 {% include "common/footer.j2.inc" %}
16 </body> 20 </body>
diff --git a/common/footer.j2.inc b/common/footer.j2.inc
index 6d4614b3..68a3b6de 100644
--- a/common/footer.j2.inc
+++ b/common/footer.j2.inc
@@ -31,5 +31,10 @@
31 <a href="https://git.gnunet.org/www.git">{{ _("Source code of this site.") }}</a> 31 <a href="https://git.gnunet.org/www.git">{{ _("Source code of this site.") }}</a>
32 <a href="{{ url_localized('contact.html') }}">{{ _("Report issues with this website.") }}</a> 32 <a href="{{ url_localized('contact.html') }}">{{ _("Report issues with this website.") }}</a>
33 </p> 33 </p>
34 <noscript>
35 <p>
36 <a href="#">back to top</a>
37 </p>
38 </noscript>
34 </div> 39 </div>
35</footer> 40</footer>
diff --git a/common/header.j2.inc b/common/header.j2.inc
index 9301948c..2f809854 100644
--- a/common/header.j2.inc
+++ b/common/header.j2.inc
@@ -44,6 +44,11 @@
44 <script src="{{ url_dist('js/bootstrap.min.js') }}"></script> 44 <script src="{{ url_dist('js/bootstrap.min.js') }}"></script>
45 <link href="{{ url_static('navbar.css') }}" rel="stylesheet"> 45 <link href="{{ url_static('navbar.css') }}" rel="stylesheet">
46 46
47 <link href="{{ url_dist('font-awesome/css/all.css') }}" rel="stylesheet">
48
49 <link href="{{ url_static('scroll.css') }}" rel="stylesheet">
50 <script src="{{ url_static('scroll.js') }}"></script>
51
47 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 52 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
48 <!--[if lt IE 9]> 53 <!--[if lt IE 9]>
49 <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> 54 <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc
index a353fd13..dd7bb86d 100644
--- a/common/navigation.j2.inc
+++ b/common/navigation.j2.inc
@@ -15,7 +15,7 @@
15 } 15 }
16 </style> 16 </style>
17</noscript> 17</noscript>
18<nav class="navbar sticky-top navbar-expand-md bg-near-black"> 18<nav class="navbar top navbar-expand-md bg-near-black">
19 <a class="navbar-brand" href="{{ url_localized('index.html') }}"> 19 <a class="navbar-brand" href="{{ url_localized('index.html') }}">
20 <img src="{{ url_static('images/gnunet-logo-dark-only-text.png') }}" alt="GNUnet" height="25px" /> 20 <img src="{{ url_static('images/gnunet-logo-dark-only-text.png') }}" alt="GNUnet" height="25px" />
21 </a> 21 </a>
diff --git a/common/news.j2 b/common/news.j2
index cdc124ba..71400760 100644
--- a/common/news.j2
+++ b/common/news.j2
@@ -10,17 +10,18 @@
10 <body id="mybody"> 10 <body id="mybody">
11 {% include "common/navigation.j2.inc" %} 11 {% include "common/navigation.j2.inc" %}
12 <div id="body_content" class="bg-near-white"> 12 <div id="body_content" class="bg-near-white">
13 <a href="#" id="jump-top" role="button">
14 <i class="fas fa-chevron-up"></i>
15 </a>
13 <div class="container-fluid"> 16 <div class="container-fluid">
14 <div class="container text-center"> 17 <div class="container text-center">
15 <h1>News</h1> 18 <h1>News</h1>
16 </div> 19 </div>
17 </div> 20 </div>
18 <div class="container"> 21 <div class="container">
19 <!--BEGIN--> 22 <article id="newspost-content">
20 <article>
21 {% block body_content %}{% endblock %} 23 {% block body_content %}{% endblock %}
22 </article> 24 </article>
23 <!--END-->
24 </div> 25 </div>
25 </div> 26 </div>
26 {% include "common/footer.j2.inc" %} 27 {% include "common/footer.j2.inc" %}
diff --git a/configure b/configure
index e2be5fac..7749566c 100755
--- a/configure
+++ b/configure
@@ -32,7 +32,6 @@
32 32
33# we invoke configure not as a symlink but as a copy, 33# we invoke configure not as a symlink but as a copy,
34# so we have to use a fixed location for the repository! 34# so we have to use a fixed location for the repository!
35# dir=$(dirname "$(readlink -f -- "$0")")/build-system/taler-build-scripts
36dir=$(dirname "$(readlink -- "$0")")/build-system/taler-build-scripts 35dir=$(dirname "$(readlink -- "$0")")/build-system/taler-build-scripts
37. $dir/sh/lib.sh/existence.sh 36. $dir/sh/lib.sh/existence.sh
38. $dir/sh/lib.sh/existence_python.sh 37. $dir/sh/lib.sh/existence_python.sh
diff --git a/guix-env.scm b/guix-env.scm
deleted file mode 100644
index 92a7845a..00000000
--- a/guix-env.scm
+++ /dev/null
@@ -1,128 +0,0 @@
1;;; This file is part of GNUnet.
2;;; Copyright (C) 2017, 2018 GNUnet e.V.
3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published
6;;; by the Free Software Foundation; either version 3, or (at your
7;;; option) any later version.
8;;;
9;;; GNUnet is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;;; General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with GNUnet; see the file COPYING. If not, write to the
16;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17;;; Boston, MA 02110-1301, USA.
18
19(use-modules
20 (ice-9 popen)
21 (ice-9 match)
22 (ice-9 rdelim)
23 (guix packages)
24 (guix build-system gnu)
25 (guix gexp)
26 ((guix build utils) #:select (with-directory-excursion))
27 (guix git-download)
28 (guix utils) ; current-source-directory
29 (gnu packages)
30 (gnu packages aidc)
31 (gnu packages autotools)
32 (gnu packages backup)
33 (gnu packages base)
34 (gnu packages compression)
35 (gnu packages curl)
36 (gnu packages check)
37 (gnu packages databases)
38 (gnu packages file)
39 (gnu packages gettext)
40 (gnu packages less)
41 (gnu packages glib)
42 (gnu packages gnome)
43 (gnu packages gnunet)
44 (gnu packages gnupg)
45 (gnu packages gnuzilla)
46 (gnu packages groff)
47 (gnu packages gstreamer)
48 (gnu packages gtk)
49 (gnu packages guile)
50 (gnu packages image)
51 (gnu packages image-viewers)
52 (gnu packages libidn)
53 (gnu packages libunistring)
54 (gnu packages linux)
55 (gnu packages maths)
56 (gnu packages multiprecision)
57 (gnu packages perl)
58 (gnu packages pkg-config)
59 (gnu packages pulseaudio)
60 (gnu packages python)
61 (gnu packages tex)
62 (gnu packages texinfo)
63 (gnu packages tex)
64 (gnu packages tls)
65 (gnu packages upnp)
66 (gnu packages openstack)
67 (gnu packages video)
68 (gnu packages web)
69 (gnu packages version-control)
70 (gnu packages xiph)
71 ((guix licenses) #:prefix license:))
72
73(define %source-dir (dirname (current-filename)))
74
75(define gnunet-website-git
76 (let* ((revision "2"))
77 (package
78 (name "gnunet-website-git")
79 (version (string-append "0.0.0-" revision "." "dev"))
80 (source
81 (local-file %source-dir
82 #:recursive? #t))
83 ;; FIXME: Switch to python-build-system!
84 (build-system gnu-build-system)
85 (inputs
86 `(("python-jinja2" ,python-jinja2)
87 ("python-babel" ,python-babel)
88 ("python-pylint" ,python-pylint)
89 ("python-oslo.i18n" ,python-oslo.i18n)
90 ("python-future" ,python-future)
91 ("gettext-minimal" ,gettext-minimal)
92 ("python" ,python)
93 ("coreutils" ,coreutils)
94 ("which" ,which)
95 ("less" ,less)
96 ("git" ,git)
97 ("automake" ,automake)
98 ("autoconf" ,autoconf-wrapper)))
99 (arguments
100 `(#:phases
101 (modify-phases %standard-phases
102 (add-after 'unpack 'po-file-chmod
103 (lambda _
104 ;; Make sure 'msgmerge' can modify the PO files.
105 (for-each (lambda (po)
106 (chmod po #o666))
107 (find-files "." "\\.po$"))))
108 ;; (replace 'configure
109 ;; (lambda* (#:key outputs inputs #:allow-other-keys)
110 ;; (let ((pystore (assoc-ref inputs "python"))
111 ;; (pyver ,(version-major+minor (package-version python))))
112 ;; (substitute* "Makefile"
113 ;; (("env PYTHONPATH=\".\"")
114 ;; (string-append
115 ;; "env PYTHONPATH=\""
116 ;; (getenv "PYTHONPATH")
117 ;; ":"
118 ;; "."
119 ;; "\""))))))
120 ;; FIXME: Implement small testsuite.
121 (delete 'check))))
122 (synopsis "GNUnet website generation")
123 (description
124 "GNUnet-website builds the website.")
125 (license #f)
126 (home-page "https://gnunet.org"))))
127
128gnunet-website-git
diff --git a/help b/help
deleted file mode 160000
Subproject 1ca9f1b35b286625b05672feea1c16a4de368ed
diff --git a/i18nfix.py b/i18nfix.py
deleted file mode 100644
index 7f326ba6..00000000
--- a/i18nfix.py
+++ /dev/null
@@ -1,41 +0,0 @@
1#!/usr/bin/env python3
2#
3# Copyright (C) 2017, 2018 GNUnet e.V.
4#
5# Copying and distribution of this file, with or without modification,
6# are permitted in any medium without royalty provided the copyright
7# notice and this notice are preserved. This file is offered as-is,
8# without any warranty.
9
10"""
11Extract translations from a Jinja2 template, stripping leading newlines.
12
13@author Florian Dold
14"""
15
16import re
17import jinja2.ext
18
19
20def normalize(message):
21 message = message.strip()
22 # collapse whitespaces (including newlines) into one space.
23 message = re.sub("\s+", " ", message)
24 return message
25
26
27def babel_extract(fileobj, keywords, comment_tags, options):
28 res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options)
29 for lineno, funcname, message, comments in res:
30 message = normalize(message)
31 yield lineno, funcname, message, comments
32
33
34def wrap_gettext(f):
35 """
36 Call gettext with whitespace normalized.
37 """
38 def wrapper(message):
39 message = normalize(message)
40 return f(message)
41 return wrapper
diff --git a/inc b/inc
new file mode 160000
Subproject 46295bc38988c16a9a6c8c0cf8930abd20193a0
diff --git a/inc/news.macro.j2 b/inc/news.macro.j2
deleted file mode 100644
index 0ed9972b..00000000
--- a/inc/news.macro.j2
+++ /dev/null
@@ -1,13 +0,0 @@
1{% macro newspreview(name) -%}
2 <section class="item-preview">
3 <header>
4 <h3>{{ name['title']|e }}</h3>
5 <p class="item-date">
6 {{ name['date'] }}
7 </p>
8 </header>
9 <p class="item-abstract">
10 {{ name['abstract'] }} [<a href="{% if kwargs|length > 0 %}{{ kwargs['prefix'] }}{% endif %}{{ name['page'] }}" title="{{ name['date']}}">{{ _("read more") }}</a>]
11 </p>
12 </section>
13{% endmacro -%}
diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po
index 07130146..bef9c6d6 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -17,1975 +17,284 @@ msgstr ""
17"Language: de\n" 17"Language: de\n"
18"Generated-By: Babel 2.4.0\n" 18"Generated-By: Babel 2.4.0\n"
19 19
20#: common/base.j2:5 common/news.j2:5 20#~ msgid "GNUnet"
21msgid "GNUnet" 21#~ msgstr "GNUnet"
22msgstr "GNUnet"
23 22
24#: common/base.j2:6 common/news.j2:6 23#~ msgid "GNU's framework for secure p2p networking"
25msgid "GNU's framework for secure p2p networking" 24#~ msgstr "GNU's Architektur für sichere p2p Netzwerke"
26msgstr "GNU's Architektur für sichere p2p Netzwerke"
27 25
28#: common/footer.j2.inc:7 26#~ msgid "Contact"
29msgid "Contact" 27#~ msgstr "Kontakt"
30msgstr "Kontakt"
31 28
32#: common/footer.j2.inc:8 common/navigation.j2.inc:48 29#~ msgid "GNUnet e.V."
33msgid "GNUnet e.V." 30#~ msgstr "GNUnet e.V."
34msgstr "GNUnet e.V."
35 31
36#: common/footer.j2.inc:9 template/about.html.j2:6 32#~ msgid "About GNUnet"
37msgid "About GNUnet" 33#~ msgstr "Über GNUnet"
38msgstr "Über GNUnet"
39 34
40#: common/footer.j2.inc:14 common/navigation.j2.inc:61 35#~ msgid "Bug Tracker"
41msgid "Bug Tracker" 36#~ msgstr "Fehlerdatenbank"
42msgstr "Fehlerdatenbank"
43 37
44#: common/footer.j2.inc:19 template/copyright.html.j2:6 38#~ msgid "Copyright Assignment"
45msgid "Copyright Assignment" 39#~ msgstr "Copyright Übertragung"
46msgstr "Copyright Übertragung"
47 40
48#: common/footer.j2.inc:20 common/navigation.j2.inc:89 41#~ msgid "Bibliography"
49#: template/developers.html.j2:24 42#~ msgstr "Bibliografie"
50msgid "Bibliography"
51msgstr "Bibliografie"
52 43
53#: common/footer.j2.inc:31 44#~ msgid "About"
54msgid "Source code of this site." 45#~ msgstr "Über GNUnet"
55msgstr ""
56
57#: common/footer.j2.inc:32
58msgid "Report issues with this website."
59msgstr ""
60 46
61#: common/navigation.j2.inc:38 template/index.html.j2:51 47#~ msgid "News"
62msgid "About" 48#~ msgstr "Neues"
63msgstr "Über GNUnet"
64 49
65#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 50#~ msgid "Community"
66msgid "News" 51#~ msgstr "Community"
67msgstr "Neues"
68 52
69#: common/navigation.j2.inc:43 53#~ msgid "Engage"
70msgid "Community" 54#~ msgstr "Mach mit!"
71msgstr "Community"
72 55
73#: common/navigation.j2.inc:46 template/index.html.j2:55 56#~ msgid "GSoC Projects"
74msgid "Engage" 57#~ msgstr "GSoC Projekte"
75msgstr "Mach mit!"
76 58
77#: common/navigation.j2.inc:47 59#~ msgid "Copyright for Contributors"
78msgid "GSoC Projects" 60#~ msgstr "Copyright für Mitwirkende"
79msgstr "GSoC Projekte"
80 61
81#: common/navigation.j2.inc:49 62#~ msgid "IRC Archive"
82msgid "Copyright for Contributors" 63#~ msgstr "IRC Archiv"
83msgstr "Copyright für Mitwirkende"
84 64
85#: common/navigation.j2.inc:50 65#~ msgid "Development"
86msgid "IRC Archive" 66#~ msgstr "Entwicklung"
87msgstr "IRC Archiv"
88 67
89#: common/navigation.j2.inc:57 68#~ msgid "System Architecture"
90msgid "Development" 69#~ msgstr "Systemarchitektur"
91msgstr "Entwicklung"
92 70
93#: common/navigation.j2.inc:60 71#~ msgid "Source Code"
94msgid "System Architecture" 72#~ msgstr "Quellkode"
95msgstr "Systemarchitektur"
96 73
97#: common/navigation.j2.inc:62 template/gnurl.html.j2:147
98msgid "Source Code"
99msgstr "Quellkode"
100
101#: common/navigation.j2.inc:63
102#, fuzzy 74#, fuzzy
103#| msgid "Documentation" 75#~| msgid "Documentation"
104msgid "Source Code Documentation" 76#~ msgid "Source Code Documentation"
105msgstr "Dokumentation" 77#~ msgstr "Dokumentation"
106 78
107#: common/navigation.j2.inc:66 79#~ msgid "Continuous Integration"
108msgid "Continuous Integration" 80#~ msgstr "Kontinuierliche Integration"
109msgstr "Kontinuierliche Integration"
110 81
111#: common/navigation.j2.inc:68
112#, fuzzy 82#, fuzzy
113#| msgid "Development" 83#~| msgid "Development"
114msgid "Development Tutorial" 84#~ msgid "Development Tutorial"
115msgstr "Entwicklung" 85#~ msgstr "Entwicklung"
116
117#: common/navigation.j2.inc:79
118msgid "Documentation"
119msgstr "Dokumentation"
120 86
121#: common/navigation.j2.inc:82 template/index.html.j2:53 87#~ msgid "Documentation"
122#: template/install.html.j2:6 88#~ msgstr "Dokumentation"
123msgid "Install"
124msgstr "Installieren"
125 89
126#: common/navigation.j2.inc:83 90#~ msgid "Install"
127msgid "Use" 91#~ msgstr "Installieren"
128msgstr "Nutzen"
129 92
130#: common/navigation.j2.inc:84 93#~ msgid "Use"
131msgid "Videos" 94#~ msgstr "Nutzen"
132msgstr "Videos"
133 95
134#: common/navigation.j2.inc:85 template/glossary.html.j2:6 96#~ msgid "Videos"
135msgid "Glossary" 97#~ msgstr "Videos"
136msgstr "Glossar"
137 98
138#: common/navigation.j2.inc:86 99#~ msgid "Glossary"
139msgid "Handbook" 100#~ msgstr "Glossar"
140msgstr "Handbuch"
141 101
142#: common/navigation.j2.inc:87 102#~ msgid "Handbook"
143msgid "REST API" 103#~ msgstr "Handbuch"
144msgstr "REST API"
145 104
146#: common/navigation.j2.inc:88 105#~ msgid "REST API"
147msgid "FAQ" 106#~ msgstr "REST API"
148msgstr "FAQ"
149 107
150#: inc/news.macro.j2:10 108#~ msgid "FAQ"
151msgid "read more" 109#~ msgstr "FAQ"
152msgstr ""
153 110
154#: template/about.html.j2:11
155#, fuzzy 111#, fuzzy
156#| msgid "About GNUnet" 112#~| msgid "About GNUnet"
157msgid "What is GNUnet?" 113#~ msgid "What is GNUnet?"
158msgstr "Über GNUnet" 114#~ msgstr "Über GNUnet"
159
160#: template/about.html.j2:13
161msgid ""
162"GNUnet is an alternative network stack for building secure, decentralized "
163"and privacy-preserving distributed applications. Our goal is to replace the "
164"old insecure Internet protocol stack. Starting from an application for "
165"secure publication of files, it has grown to include all kinds of basic "
166"protocol components and applications towards the creation of a GNU internet."
167msgstr ""
168
169#: template/about.html.j2:23
170msgid ""
171"Today, the actual use and thus the social requirements for a global network "
172"differs widely from those goals of 1970. While the Internet remains suitable "
173"for military use, where the network equipment is operated by a command "
174"hierarchy and when necessary isolated from the rest of the world, the "
175"situation is less tenable for civil society."
176msgstr ""
177
178#: template/about.html.j2:32
179msgid ""
180"Due to fundamental Internet design choices, Internet traffic can be "
181"misdirected, intercepted, censored and manipulated by hostile routers on the "
182"network. And indeed, the modern Internet has evolved exactly to the point "
183"where, as Matthew Green put it, <a href=\"https://blog."
184"cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the "
185"network is hostile\"</a>."
186msgstr ""
187 115
188#: template/about.html.j2:41 116#~ msgid "Current funding"
189msgid "" 117#~ msgstr "Aktuelle Finanzierung"
190"We believe liberal societies need a network architecture that uses the anti-"
191"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
192"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
193"Software realization of this ideal."
194msgstr ""
195
196#: template/about.html.j2:49
197msgid ""
198"Specifically, GNUnet tries to follow the following design principles, in "
199"order of importance:"
200msgstr ""
201
202#: template/about.html.j2:56
203msgid ""
204"GNUnet must be implemented as <a href=\"https://www.gnu.org/philosophy/free-"
205"sw.html\">Free Software</a>."
206msgstr ""
207
208#: template/about.html.j2:60
209msgid ""
210"GNUnet must minimize the amount of personally identifiable information "
211"exposed."
212msgstr ""
213
214#: template/about.html.j2:61
215msgid ""
216"GNUnet must be fully distributed and resilient to external attacks and rogue "
217"participants."
218msgstr ""
219
220#: template/about.html.j2:62
221msgid ""
222"GNUnet must be self-organizing and not depend on administrators or "
223"centralized infrastructure."
224msgstr ""
225
226#: template/about.html.j2:63
227msgid ""
228"GNUnet must inform the user which other participants have to be trusted when "
229"establishing private communications."
230msgstr ""
231
232#: template/about.html.j2:64
233msgid "GNUnet must be open and permit new peers to join."
234msgstr ""
235
236#: template/about.html.j2:65
237msgid "GNUnet must support a diverse range of applications and devices."
238msgstr ""
239 118
240#: template/about.html.j2:66
241msgid "GNUnet must use compartmentalization to protect sensitive information."
242msgstr ""
243
244#: template/about.html.j2:67
245msgid "The GNUnet architecture must be resource efficient."
246msgstr ""
247
248#: template/about.html.j2:68
249msgid ""
250"GNUnet must provide incentives for peers to contribute more resources than "
251"they consume."
252msgstr ""
253
254#: template/about.html.j2:72
255msgid ""
256"To get know and learn more, please check our <a href=\"https://docs.gnunet."
257"org/handbook/gnunet.html\">handbook</a>, especially the <a href=\"https://"
258"docs.gnunet.org/handbook/gnunet.html#Key-Concepts\">chapter on \"Key Concepts"
259"\"</a>, explaining the fundamental concepts of GNUnet: <ul> <li><a href="
260"\"https://docs.gnunet.org/handbook/gnunet.html#Authentication"
261"\">Authentication</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
262"gnunet.html#Accounting-to-Encourage-Resource-Sharing\">Accounting to "
263"Encourage Resource Sharing</a></li> <li><a href=\"https://docs.gnunet.org/"
264"handbook/gnunet.html#Confidentiality\">Confidentiality</a></li> <li><a href="
265"\"https://docs.gnunet.org/handbook/gnunet.html#Anonymity\">Anonymity</a></"
266"li> <li><a href=\"https://docs.gnunet.org/handbook/gnunet.html#Deniability"
267"\">Deniability</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
268"gnunet.html#Peer-Identities\">Peer Identities</a></li> <li><a href=\"https://"
269"docs.gnunet.org/handbook/gnunet.html#Zones-in-the-GNU-Name-System-_0028GNS-"
270"Zones_0029\">Zones in the GNU Name System (GNS Zones)</a></li> <li><a href="
271"\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos</a></li> </ul>"
272msgstr ""
273
274#: template/about.html.j2:88
275msgid "More Resources"
276msgstr ""
277
278#: template/about.html.j2:90
279msgid ""
280"There are many more resources to learn about GNUnet besides the <a href="
281"\"https://docs.gnunet.org/handbook/gnunet.html\">handbook</a>, such as the "
282"<a href=\"https://bib.gnunet.org/\">bibliography</a> with papers covering "
283"the various layers, many <a href=\"https://gnunet.org/en/video.html"
284"\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html"
285"\">glossary</a>."
286msgstr ""
287
288#: template/about.html.j2:95
289msgid ""
290"You are most welcome to <a href=\"engage.html\">get engaged into the "
291"conversation</a>, <a href=\"install.html\">install GNUnet</a>, <a href=\"use."
292"html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
293"in various ways."
294msgstr ""
295
296#: template/about.html.j2:100
297msgid ""
298"Please be aware that this project is (despite of it's age) still in an early "
299"alpha stage when it comes to software &#8211; its not an easy task to "
300"rewrite the whole Internet!"
301msgstr ""
302
303#: template/about.html.j2:105
304msgid "Current funding"
305msgstr "Aktuelle Finanzierung"
306
307#: template/about.html.j2:110
308msgid ""
309"We're receiving funding from NLnet's Next Generation Internet funding line "
310"to document and implement the GNU Name System protocol in a way suitable for "
311"the IETF standardization process."
312msgstr ""
313
314#: template/about.html.j2:123
315#, fuzzy 119#, fuzzy
316#| msgid "We are grateful for past funding from the following organizations:" 120#~| msgid "We are grateful for past funding from the following organizations:"
317msgid "" 121#~ msgid ""
318"We are grateful for free hosting offered by the following organizations:" 122#~ "We are grateful for free hosting offered by the following organizations:"
319msgstr "" 123#~ msgstr ""
320"Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " 124#~ "Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere "
321"Unterstützung:" 125#~ "Unterstützung:"
322 126
323#: template/about.html.j2:132 127#~ msgid "Past funding"
324msgid "Past funding" 128#~ msgstr "Frühere Finanzierung"
325msgstr "Frühere Finanzierung"
326 129
327#: template/about.html.j2:134 130#~ msgid "We are grateful for past funding from the following organizations:"
328msgid "We are grateful for past funding from the following organizations:" 131#~ msgstr ""
329msgstr "" 132#~ "Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere "
330"Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " 133#~ "Unterstützung:"
331"Unterstützung:"
332 134
333#: template/architecture.html.j2:6 135#~ msgid "GNUnet System Architecture"
334msgid "GNUnet System Architecture" 136#~ msgstr "GNUnet Systemarchitektur"
335msgstr "GNUnet Systemarchitektur"
336 137
337#: template/architecture.html.j2:15 138#~ msgid "Foundations"
338msgid "Legend" 139#~ msgstr "Grundlagen"
339msgstr ""
340 140
341#: template/architecture.html.j2:55 141#~ msgid ""
342msgid "Foundations" 142#~ "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-"
343msgstr "Grundlagen" 143#~ "like end-to-end encrypted messaging layer (CADET), a public key "
144#~ "infrastructure (GNS) and a pluggable transport system (TRANSPORT).<br> "
145#~ "Using public keys for addresses and self-organized decentralized routing "
146#~ "algorithms, these subsystems replace the traditional TCP/IP stack."
147#~ msgstr ""
148#~ "GNUnet basiert auf einer verteilten Hashtabelle (R5N), einem SCTP "
149#~ "ähnlichen ende-zu-ende verschlüsselter Nachrichtenübertragung (CADET), "
150#~ "einer Public-Key-Infrastruktur (GNS) und einem erweiterbaren "
151#~ "Transportsystem (TRANSPORT).<br> Öffentliche Schlüssel werden als "
152#~ "Addressen für selbstorganizierte decentralizierte Routingalgorithmen "
153#~ "benutzt. Diese Komponenten ersetzen das traditionelle Internet (TCP/IP)."
344 154
345#: template/architecture.html.j2:57 155#~ msgid "Security"
346msgid "" 156#~ msgstr "Sicherheit"
347"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
348"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
349"(GNS) and a pluggable transport system (TRANSPORT).<br> Using public keys "
350"for addresses and self-organized decentralized routing algorithms, these "
351"subsystems replace the traditional TCP/IP stack."
352msgstr ""
353"GNUnet basiert auf einer verteilten Hashtabelle (R5N), einem SCTP ähnlichen "
354"ende-zu-ende verschlüsselter Nachrichtenübertragung (CADET), einer Public-"
355"Key-Infrastruktur (GNS) und einem erweiterbaren Transportsystem (TRANSPORT)."
356"<br> Öffentliche Schlüssel werden als Addressen für selbstorganizierte "
357"decentralizierte Routingalgorithmen benutzt. Diese Komponenten ersetzen das "
358"traditionelle Internet (TCP/IP)."
359
360#: template/architecture.html.j2:70
361msgid "Security"
362msgstr "Sicherheit"
363
364#: template/architecture.html.j2:73
365msgid ""
366"GNUnet is implemented using a multi-process architecture. Each subsystem "
367"runs as a separate process, providing fault-isolation and enabling tight "
368"permissions to be granted to each subsystem. Naturally, the implementation "
369"is a <a href=\"https://www.gnu.org/\">GNU</a> package, and will always "
370"remain free software."
371msgstr ""
372 157
373#: template/architecture.html.j2:87
374#, fuzzy 158#, fuzzy
375#| msgid "System Architecture" 159#~| msgid "System Architecture"
376msgid "System architecture" 160#~ msgid "System architecture"
377msgstr "System Architekture" 161#~ msgstr "System Architekture"
378 162
379#: template/architecture.html.j2:93
380msgid "Subsystems"
381msgstr ""
382
383#: template/architecture.html.j2:102
384#, fuzzy 163#, fuzzy
385#| msgid "libgnurl" 164#~| msgid "libgnurl"
386msgid "libgnunetutil" 165#~ msgid "libgnunetutil"
387msgstr "libgnurl" 166#~ msgstr "libgnurl"
388
389#: template/architecture.html.j2:108
390msgid "APIs"
391msgstr ""
392
393#: template/contact.html.j2:6
394msgid "Contact information"
395msgstr "Kontaktinformation"
396
397#: template/contact.html.j2:11
398msgid "The mailing list"
399msgstr "Die Mailingliste"
400
401#: template/contact.html.j2:13
402msgid ""
403"An archived, public mailing list for GNUnet is hosted at <a href=\"https://"
404"lists.gnu.org/mailman/listinfo/gnunet-developers\">https://lists.gnu.org/"
405"mailman/listinfo/gnunet-developers</a>. You can send messages to the list at "
406"<a href=\"mailto:gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
407msgstr ""
408
409#: template/contact.html.j2:23
410msgid "The IRC channel"
411msgstr "Der IRC Kanal"
412
413#: template/contact.html.j2:25
414msgid ""
415"<tt>#gnunet</tt> is reachable via <a href=\"https://freenode.net\">irc."
416"freenode.net</a>. There is also an <a href=\"https://old.gnunet.org/bot/log/"
417"gnunet\">archive</a> available (currently unavailable, we are working on "
418"restoring access to it)."
419msgstr ""
420
421#: template/contact.html.j2:38
422msgid "Contacting individuals"
423msgstr "Individuelle Kontaktaufname"
424
425#: template/contact.html.j2:40
426msgid ""
427"GNUnet developers are generally reachable at either <tt>PSEUDONYM@gnunet."
428"org</tt> or <tt>LASTNAME@gnunet.org</tt>. Most of us support receiving GnuPG "
429"encrypted Emails."
430msgstr ""
431
432#: template/contact.html.j2:50
433msgid "Reporting bugs"
434msgstr "Fehler melden"
435
436#: template/contact.html.j2:52
437msgid ""
438"We track open feature requests and bugs for projects within GNUnet in our <a "
439"href=\"https://bugs.gnunet.org/\">Bug tracker</a>. You can also report bugs "
440"or feature requests to the <a href=\"https://lists.gnu.org/mailman/listinfo/"
441"bug-gnunet\">bug-gnunet</a> mailing list. The mailinglist requires no "
442"subscription."
443msgstr ""
444
445#: template/copyright.html.j2:11
446msgid ""
447"<p> Contributors to GNUnet with Git access must sign the <a href=\"/static/"
448"pdf/copyright.pdf\">copyright assignment</a> to ensure that the <a href="
449"\"https://git.gnunet.org/gnunet-ev.git/tree/gnunet_taler_agreement.tex"
450"\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative "
451"development</a> of the GNUnet and GNU Taler projects is satisfied. </p>"
452msgstr ""
453
454#: template/copyright.html.j2:22
455msgid ""
456"<p>The agreements ensure that the code will continue to be made available "
457"under free software licenses, but gives developers the freedom to move code "
458"between GNUnet and GNU Taler without worrying about licenses and to give the "
459"company the ability to dual-license (for example, so that we can distribute "
460"via App-stores that are hostile to free software).</p>"
461msgstr ""
462
463#: template/copyright.html.j2:30
464msgid ""
465"<p>Minor contributions (basically, anyone without Git access) do not require "
466"copyright assignment. Pseudonymous contributions are accepted, in this case "
467"simply sign the agreement with your pseudonym. Scanned copies are "
468"sufficient, but snail mail is preferred.</p>"
469msgstr ""
470
471#: template/developers.html.j2:5
472msgid "GNUnet for developers"
473msgstr "GNUNet für Entwickeler"
474
475#: template/developers.html.j2:13
476msgid "Repositories"
477msgstr "Quellcode"
478
479#: template/developers.html.j2:16
480msgid ""
481"A list of our Git repositories can be found on our our <a href=\"https://git."
482"gnunet.org/\">Git Server</a>."
483msgstr ""
484
485#: template/developers.html.j2:27
486msgid ""
487"Technical papers can be found in our <a href=\"https://old.gnunet.org/"
488"bibliography\">bibliography</a>."
489msgstr ""
490 167
491#: template/developers.html.j2:34 168#~ msgid "Contact information"
492msgid "Discussion" 169#~ msgstr "Kontaktinformation"
493msgstr "Diskussion"
494 170
495#: template/developers.html.j2:37 171#~ msgid "The mailing list"
496msgid "" 172#~ msgstr "Die Mailingliste"
497"We have a mailing list for developer discussions. You can subscribe to or "
498"read the list archive at <a href=\"http://lists.gnu.org/mailman/listinfo/"
499"gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
500"a>."
501msgstr ""
502 173
503#: template/developers.html.j2:47 174#~ msgid "The IRC channel"
504msgid "Regression Testing" 175#~ msgstr "Der IRC Kanal"
505msgstr "Regressionstests"
506 176
507#: template/developers.html.j2:50 177#~ msgid "Contacting individuals"
508msgid "" 178#~ msgstr "Individuelle Kontaktaufname"
509"We have <a href=\"https://buildbot.net/\">Buildbot</a> automation tests to "
510"detect regressions and check for portability at <a href=\"https://old.gnunet."
511"org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
512msgstr ""
513 179
514#: template/developers.html.j2:59 180#~ msgid "Reporting bugs"
515msgid "Code Coverage Analysis" 181#~ msgstr "Fehler melden"
516msgstr "Codeabdeckungsanalyse"
517 182
518#: template/developers.html.j2:62 183#~ msgid "GNUnet for developers"
519msgid "" 184#~ msgstr "GNUNet für Entwickeler"
520"We use <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\">LCOV</a> to "
521"analyze the code coverage of our tests, the results are available at <a href="
522"\"https://old.gnunet.org/coverage/\">https://old.gnunet.org/coverage/</a>."
523msgstr ""
524 185
525#: template/developers.html.j2:72 186#~ msgid "Repositories"
526msgid "Performance Analysis" 187#~ msgstr "Quellcode"
527msgstr "Leistungsanalyse"
528 188
529#: template/developers.html.j2:75 189#~ msgid "Discussion"
530msgid "" 190#~ msgstr "Diskussion"
531"We use <a href=\"https://old.gnunet.org/gauger\">Gauger</a> for performance "
532"regression analysis of the exchange backend at <a href=\"https://old.gnunet."
533"org/gauger/\">https://old.gnunet.org/gauger/</a>."
534msgstr ""
535 191
536#: template/download.html.j2:7 template/gnurl.html.j2:169 192#~ msgid "Regression Testing"
537msgid "Downloads" 193#~ msgstr "Regressionstests"
538msgstr "Herunterladen"
539 194
540#: template/download.html.j2:11 195#~ msgid "Code Coverage Analysis"
541msgid "" 196#~ msgstr "Codeabdeckungsanalyse"
542"Here you can download releases of our software and find links to the various "
543"versions."
544msgstr ""
545
546#: template/download.html.j2:17
547msgid "0.11.x series"
548msgstr ""
549
550#: template/download.html.j2:18
551msgid "tarball"
552msgstr ""
553
554#: template/download.html.j2:20
555msgid ""
556"The tarball of the latest version can be obtained from GNU FTP and its "
557"mirrors."
558msgstr ""
559
560#: template/download.html.j2:30
561msgid "git"
562msgstr ""
563 197
564#: template/download.html.j2:32 198#~ msgid "Performance Analysis"
565msgid "" 199#~ msgstr "Leistungsanalyse"
566"You can fetch the git tag of version 0.11.x from our development server:"
567msgstr ""
568 200
569#: template/engage.html.j2:6 201#~ msgid "Downloads"
570msgid "Engage!" 202#~ msgstr "Herunterladen"
571msgstr ""
572 203
573#: template/ev.html.j2:6 204#~ msgid "Verein zur F&ouml;rderung von GNUnet e.V."
574msgid "Verein zur F&ouml;rderung von GNUnet e.V." 205#~ msgstr "Verein zur Förderung von GNUnet e.V."
575msgstr "Verein zur Förderung von GNUnet e.V."
576 206
577#: template/ev.html.j2:11
578#, fuzzy 207#, fuzzy
579#| msgid "About GNUnet" 208#~| msgid "About GNUnet"
580msgid "About GNUnet e.V." 209#~ msgid "About GNUnet e.V."
581msgstr "Über GNUnet" 210#~ msgstr "Über GNUnet"
582
583#: template/ev.html.j2:13
584msgid ""
585"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
586"\"Verein zur F&ouml;rderung von GNUnet e.V.\", an association under German "
587"law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
588"the association on the 7th of March under VR 205287."
589msgstr ""
590
591#: template/ev.html.j2:22
592msgid ""
593"The association is officially dedicated to supporting research, development "
594"and education in the area of secure decentralized networking in general, and "
595"GNUnet specifically. This is the official website for the association."
596msgstr ""
597
598#: template/ev.html.j2:31
599msgid "Becoming a Member of GNUnet e.V."
600msgstr "Ein Mitglied von GNUnet e.V. werden"
601
602#: template/ev.html.j2:33
603msgid ""
604"GNUnet developers with git (write) access can become members to participate "
605"in the decision process and formally support GNUnet e.V. For this, all you "
606"have to do is update the <tt>members.txt</tt> file in the <a href=\"https://"
607"git.gnunet.org/gnunet-ev.git/\">gnunet-ev</a> repository. There are no "
608"membership dues; however, members are required to support GNUnet e.V. and in "
609"particularly contribute to the technical development within their means. For "
610"further details, we refer to the <a href=\"https://git.gnunet.org/gnunet-ev."
611"git/\">Satzung</a> (currently only available in German, translations "
612"welcome)."
613msgstr ""
614
615#: template/ev.html.j2:52
616msgid "Governance"
617msgstr "Führung"
618
619#: template/ev.html.j2:54
620msgid ""
621"You can find our \"Satzung\", and the list of members under <a href="
622"\"https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex\">https://git.gnunet."
623"org/gnunet-ev.git/tree/satzung.tex</a>. The current board consists of: "
624"<dl><dt>Vorsitz</dt> <dd><a href=\"https://grothoff.org/christian/"
625"\">Christian Grothoff</a></dd> <dt>stellvertretender Vorsitz</dt> <dd>xrs</"
626"dd> <dt>Kassenwart</dt> <dd>Florian Dold</dd> <dt>Beisitzer</dt> <dd>Lurchi</"
627"dd> </dl>"
628msgstr ""
629
630#: template/ev.html.j2:71
631msgid "Official Meeting Notes"
632msgstr "Offizielle Protokolle"
633
634#: template/ev.html.j2:84
635msgid "Support Us!"
636msgstr "Unterstützung anbieten!"
637 211
638#: template/ev.html.j2:86 212#~ msgid "Becoming a Member of GNUnet e.V."
639msgid "" 213#~ msgstr "Ein Mitglied von GNUnet e.V. werden"
640"Everybody is welcome to support us via donations. For financial "
641"contributions, Europeans are able to donate via SEPA. We hope to setup "
642"accounts in other major currency areas in the future. You can also donate "
643"via Bitcoin, routing details are given below. Please note that we are unable "
644"to provide receipts for your donations. If you are planning to donate a "
645"significant amount of money, please contact us first as it might be better "
646"to come to a custom arrangement. <dl><dt>BitCoin</dt> "
647"<dd>1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh</dd> <dt>SEPA/IBAN</dt> "
648"<dd>DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)</dd> </dl>"
649msgstr ""
650
651#: template/faq.html.j2:12
652msgid ""
653"I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. "
654"Should I worry?"
655msgstr ""
656
657#: template/faq.html.j2:14
658msgid ""
659"A: Right now, this is expected and a known cause for high latency in GNUnet. "
660"We have started a major rewrite to address this and other problems, but "
661"until the Transport Next Generation (TNG) is ready, these warnings are "
662"expected."
663msgstr ""
664
665#: template/faq.html.j2:23
666msgid "Is there a graphical user interface?"
667msgstr "Gibt es eine Graphische Benutzeroberfläche?"
668
669#: template/faq.html.j2:25
670msgid ""
671"A: gnunet-gtk is a separate download. The package contains various GTK+ "
672"based graphical interfaces, including a graphical tool for configuration."
673msgstr ""
674 214
675#: template/glossary.html.j2:12 215#~ msgid "Governance"
676msgid "Ego" 216#~ msgstr "Führung"
677msgstr "Ego"
678 217
679#: template/glossary.html.j2:14 218#~ msgid "Official Meeting Notes"
680msgid "" 219#~ msgstr "Offizielle Protokolle"
681"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
682"multiple unlinkable identities, in the sense of alter egos. The ability to "
683"have more than one identity is crucial, as we may want to keep our egos for "
684"business separate from those we use for political activities or romance.<br> "
685"Egos in GNUnet are technically equivalent to identities (and the code does "
686"not distinguish between them). We simply sometimes use the term \"ego\" to "
687"stress that you can have more than one."
688msgstr ""
689 220
690#: template/glossary.html.j2:27 221#~ msgid "Support Us!"
691msgid "Identity" 222#~ msgstr "Unterstützung anbieten!"
692msgstr "Identität"
693 223
694#: template/glossary.html.j2:29 224#~ msgid "Is there a graphical user interface?"
695msgid "" 225#~ msgstr "Gibt es eine Graphische Benutzeroberfläche?"
696"In GNUnet users are identified via a public key, and that public key is then "
697"often referred to as the \"Identity\" of the user. However, the concept is "
698"not as draconian as it often is in real life where many are forced to have "
699"one name, one passport and one unique identification number. <br> As long as "
700"identities in GNUnet are simply public keys, users are free to create any "
701"number of identities, and we call those egos to emphasize the difference. "
702"Even though users can create such egos freely, it is possible to have an ego "
703"certified by some certification authority, resulting in something that more "
704"closely resembles the traditional concept of an identity.<br> For example, a "
705"university may certify the identities of its students such that they can "
706"prove that they are studying. Students may keep their (certified) student "
707"identity separate from other egos that they use for other activities in life."
708msgstr ""
709 226
710#: template/glossary.html.j2:50 227#~ msgid "Ego"
711msgid "Pseudonym" 228#~ msgstr "Ego"
712msgstr "Pseudonym"
713 229
714#: template/glossary.html.j2:52 230#~ msgid "Identity"
715msgid "" 231#~ msgstr "Identität"
716"A pseudonym is an ego that is specifically intended to not be linked to "
717"one's real name. GNUnet users can create many egos, and thus also many "
718"pseudonyms. <br> Repeated uses of the same pseudonym are linkable by "
719"definition, as they involve the same public key. Anonymity requires the use "
720"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
721"neutral element on the elliptic curve) or a throw-away pseudonym that is "
722"only used once."
723msgstr ""
724 232
725#: template/glossary.html.j2:71 233#~ msgid "Pseudonym"
726msgid "Namespaces" 234#~ msgstr "Pseudonym"
727msgstr "Namensraum"
728 235
729#: template/glossary.html.j2:73 236#~ msgid "Namespaces"
730msgid "" 237#~ msgstr "Namensraum"
731"The GNU Name System allows every ego (or identity) to securely and privately "
732"associate any number of label-value pairs with an ego. The values are called "
733"record sets following the terminology of the Domain Name System (DNS). The "
734"mapping of labels to record sets for a given ego is called a namespace. <br> "
735"If records are made public and thus published, it is possible for other "
736"users to lookup the record given the ego's public key and the label. Here, "
737"not only the label can thus act as a passphrase but also the public key -- "
738"which despite its name may not be public knowledge and is never disclosed by "
739"the GNS protocol itself."
740msgstr ""
741 238
742#: template/glossary.html.j2:89
743msgid "Peer"
744msgstr ""
745
746#: template/glossary.html.j2:91
747msgid ""
748"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
749"network addresses. Technically, it is possible to run multiple peers on the "
750"same host, but this only makes sense for testing. <br> By design GNUnet "
751"supports multiple users to share the same peer, just as UNIX is a multi-user "
752"system. A \"peer\" typically consists of a set of foundational GNUnet "
753"services running as the \"gnunet\" user and allowing all users in the "
754"\"gnunet\" group to utilize the API. On multi-user systems, additional "
755"\"personalized\" services may be required per user. <br> While peers are "
756"also identified by public keys, these public keys are completely unrelated "
757"to egos or identities. Namespaces cannot be associated with a peer, only "
758"with egos."
759msgstr ""
760
761#: template/gnurl.html.j2:20
762msgid ""
763"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
764"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
765"ensure a small footprint and uniform experience for developers regardless of "
766"how libcurl was compiled.<br> Our main usecase is for GNUnet, but it might "
767"be usable for others, hence we're releasing the code to the general public."
768"<br> libgnurl is released under the same license as libcurl. Please read the "
769"README for instructions, as you must supply the correct options to configure "
770"to get a proper build of libgnurl."
771msgstr ""
772
773#: template/gnurl.html.j2:35
774#, fuzzy 239#, fuzzy
775#| msgid "About" 240#~| msgid "About"
776msgid "About gnurl" 241#~ msgid "About gnurl"
777msgstr "Über GNUnet" 242#~ msgstr "Über GNUnet"
778 243
779#: template/gnurl.html.j2:37 244#~ msgid "Motivation"
780msgid "" 245#~ msgstr "Motivation"
781"Large parts of the following 6 paragraphs are old and need to be rewritten."
782msgstr ""
783 246
784#: template/gnurl.html.j2:43 247#~ msgid "Rename to fix"
785msgid "Motivation" 248#~ msgstr "Umbenenung als Lösung"
786msgstr "Motivation"
787 249
788#: template/gnurl.html.j2:45 250#~ msgid "Using libgnurl"
789msgid "" 251#~ msgstr "Benutzung von libgnurl"
790"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
791"other variants are used by some distributions. Supporting other crypto "
792"backends would again expose us to a wider array of security issues, may "
793"create licensing issues and most importantly introduce new bugs as some "
794"crypto backends are known to introduce subtle runtime issues. While it is "
795"possible to have two versions of libcurl installed on the same system, this "
796"is error-prone, especially as if we are linked against the wrong version, "
797"the bugs that arise might be rather subtle."
798msgstr ""
799 252
800#: template/gnurl.html.j2:58 253#~ msgid "Gotchas"
801msgid "" 254#~ msgstr "Aufgepasst!"
802"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
803"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
804"one links cURL against this version of GnuTLS? Well, first one would install "
805"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
806"it just fine, but the linker will eventually complain bitterly. The reason "
807"is that cURL also links against a bunch of other system libraries (gssapi, "
808"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
809"which --- as they are part of the distribution --- were linked against an "
810"older version of GnuTLS. As a result, the same binary would be linked "
811"against two different versions of GnuTLS. That is typically a recipe for "
812"disaster. Thus, in order to avoid updating a dozen system libraries (and "
813"having two versions of those installed), it is necessary to disable all of "
814"those cURL features that GNUnet does not use, and there are many of those. "
815"For GNUnet, the more obscure protocols supported by cURL are close to dead "
816"code --- mostly harmless, but not useful. However, as some application may "
817"use one of those features, distributions are typically forced to enable all "
818"of those features, and thus including security issues that might arise from "
819"that code."
820msgstr ""
821 255
822#: template/gnurl.html.j2:82
823msgid ""
824"So to use a modern version of GnuTLS, a sane approach is to disable all of "
825"the \"optional\" features of cURL that drag in system libraries that link "
826"against the older GnuTLS. That works, except that one should then NEVER "
827"install that version of libcurl in say /usr or /usr/local, as that may break "
828"other parts of the system that might depend on these features that we just "
829"disabled. Libtool versioning doesn't help here, as it is not intended to "
830"deal with libraries that have optional features. Naturally, installing cURL "
831"somewhere else is also problematic, as we now need to be really careful that "
832"the linker will link GNUnet against the right version. Note that none of "
833"this can really be trivially fixed by the cURL developers."
834msgstr ""
835
836#: template/gnurl.html.j2:97
837msgid "Rename to fix"
838msgstr "Umbenenung als Lösung"
839
840#: template/gnurl.html.j2:99
841#, python-format
842msgid ""
843"How does forking fix it? Easy. First, we can get rid of all of the "
844"compatibility issues --- if you use libgnurl, you state that you don't need "
845"anything but HTTP/HTTPS. Those applications that need more, should stick "
846"with the original cURL. Those that do not, can choose to move to something "
847"simpler. As the library gets a new name, we do not have to worry about tons "
848"of packages breaking as soon as one rebuilds it. So renaming itself and "
849"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" "
850"fixes 99%% of the problems that darkened my mood. Note that this pretty much "
851"CANNOT be done without a fork, as renaming is an essential part of the fix. "
852"Now, there might be creative solutions to achieve the same thing within the "
853"standard cURL build system, but I'm not happy to wait for a decade for "
854"Daniel to review the patches. The changes libgnurl makes to curl are "
855"miniscule and can easily be applied again and again whenever libcurl makes a "
856"new release."
857msgstr ""
858
859#: template/gnurl.html.j2:118
860msgid "Using libgnurl"
861msgstr "Benutzung von libgnurl"
862
863#: template/gnurl.html.j2:120
864msgid ""
865"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
866"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
867"That's it. No changes to the source code should be required, as libgnurl "
868"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
869"cURL. We might add new features relating to this core subset if they are "
870"proposed, but so far we have kept our changes minimal and no additions to "
871"the original curl source have been written."
872msgstr ""
873
874#: template/gnurl.html.j2:133
875msgid "Gotchas"
876msgstr "Aufgepasst!"
877
878#: template/gnurl.html.j2:135
879msgid ""
880"libgnurl and gnurl are not intended to be used as a replacement for curl for "
881"users. Since no conflicts in filenames should occur you are not expected to "
882"remove curl to make use of gnurl and viceversa."
883msgstr ""
884
885#: template/gnurl.html.j2:149
886msgid "You can get the gnurl git repository using:"
887msgstr ""
888
889#: template/gnurl.html.j2:162
890msgid "The versions are checked in as (signed) git tags."
891msgstr ""
892
893#: template/gnurl.html.j2:171
894msgid ""
895"Releases are published on <a href=\"https://ftpmirror.gnu.org/gnu/gnunet/"
896"\">ftpmirror.gnu.org/gnu/gnunet</a>. gnurl is available from within a "
897"variety of distributions and package managers. Package Managers which "
898"include gnurl are: <a href=\"https://www.gnu.org/software/guix/\">GNU Guix</"
899"a> (available as \"gnurl\"), <a href=\"https://gentoo.org\">Gentoo</a> "
900"through the collaborative ebuild collection <a href=\"https://git.gnunet.org/"
901"youbroketheinternet-overlay.git/\">youbroketheinternet</a>, <a href="
902"\"https://nixos.org/nix/\">Nix</a>, and as www/gnurl in <a href=\"https://"
903"pkgsrc.org\">pkgsrc</a>."
904msgstr ""
905
906#: template/gnurl.html.j2:188
907#, fuzzy 256#, fuzzy
908#| msgid "Using libgnurl" 257#~| msgid "Using libgnurl"
909msgid "Building gnurl" 258#~ msgid "Building gnurl"
910msgstr "Benutzung von libgnurl" 259#~ msgstr "Benutzung von libgnurl"
911
912#: template/gnurl.html.j2:190
913msgid ""
914"We suggest to closely follow release announcements, as they might indicate "
915"changes in how gnurl is to be build. <br> If your package manager provides a "
916"binary build or build instructions to build gnurl from source automated and "
917"integrated with your environment, we strongly suggest to use this binary "
918"build. <br> There are two ways to build gnurl. The first one builds from the "
919"most recent git tag, the second one uses the distributed tarball. "
920"Distributors generally are supposed to build from the tarball, but we "
921"describe both methods here. Both methods are written with a NetBSD 9 "
922"userland in mind, substitute tools as necessary. <br> You should <b>avoid</"
923"b> building gnurl from the tip of the default git branch, as only tags are "
924"considered to be stable and approved builds."
925msgstr ""
926
927#: template/gnurl.html.j2:211
928msgid "Building from the distributed tarball (prefered method)"
929msgstr ""
930
931#: template/gnurl.html.j2:213
932msgid ""
933"If you want to verify the signature, install an OpenPGP compatible tool such "
934"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
935msgstr ""
936
937#: template/gnurl.html.j2:227
938msgid "Fetch the signature key from"
939msgstr ""
940
941#: template/gnurl.html.j2:231
942msgid "or via commandline with gnupg2."
943msgstr ""
944 260
945#: template/gnurl.html.j2:236 261#~ msgid "Reporting Bugs"
946msgid "" 262#~ msgstr "Fehler melden"
947"Fetch the release, the signature, the checksum file as well as its signature:"
948msgstr ""
949
950#: template/gnurl.html.j2:255
951msgid ""
952"verify the signatures, and verify the checksums against the checksums in "
953"the .sum.txt file."
954msgstr ""
955
956#: template/gnurl.html.j2:261
957msgid "unpack the tarball:"
958msgstr ""
959
960#: template/gnurl.html.j2:271
961msgid "Change into the directory"
962msgstr ""
963 263
964#: template/gnurl.html.j2:281
965msgid "Now you can either run"
966msgstr ""
967
968#: template/gnurl.html.j2:291
969msgid "directly (and read configure-gnurl before you do so) or invoke"
970msgstr ""
971
972#: template/gnurl.html.j2:301
973msgid ""
974"and pass additional parameters such as a custom PREFIX location. Further "
975"reference can be the"
976msgstr ""
977
978#: template/gnurl.html.j2:306
979msgid "Now run"
980msgstr ""
981
982#: template/gnurl.html.j2:316
983msgid "(this is optional)"
984msgstr ""
985
986#: template/gnurl.html.j2:325
987msgid "and you are done."
988msgstr ""
989
990#: template/gnurl.html.j2:329
991msgid "Building from a tagged git commit"
992msgstr ""
993
994#: template/gnurl.html.j2:331
995msgid ""
996"Follow the steps above, but instead of downloading the tarball, clone the "
997"git tag you want to build from."
998msgstr ""
999
1000#: template/gnurl.html.j2:342
1001msgid "Reporting Bugs"
1002msgstr "Fehler melden"
1003
1004#: template/gnurl.html.j2:344
1005msgid ""
1006"You can report bugs on our bug tracker: <a href=\"https://bugs.gnunet.org/"
1007"\">bugs.gnunet.org</a>. Alternatively you can use our bug mailinglist, but "
1008"we prefer to track bugs on the bugtracker."
1009msgstr ""
1010
1011#: template/gnurl.html.j2:354
1012msgid "Maintainer and Cryptographic signatures"
1013msgstr ""
1014
1015#: template/gnurl.html.j2:356
1016msgid ""
1017"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP "
1018"Key <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, with the key "
1019"fingerprint <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>."
1020msgstr ""
1021
1022#: template/gsoc-2018-gnunet-webui.html.j2:7
1023msgid "GSoC 2018: GNUnet WebUI"
1024msgstr ""
1025
1026#: template/gsoc-2018-gnunet-webui.html.j2:11
1027msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
1028msgstr ""
1029
1030#: template/gsoc-2018-gnunet-webui.html.j2:17
1031msgid ""
1032"<strong>What was done?</strong><br /> In the context of Google Summer of "
1033"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and "
1034"extending the REST API of GNUnet. Currently, we mirrored the functionality "
1035"of following commands:"
1036msgstr ""
1037
1038#: template/gsoc-2018-gnunet-webui.html.j2:32
1039msgid ""
1040"Additionally, we developed a website with the Javascript framework Angular 6 "
1041"and the design framework iotaCSS to use the new REST API. The REST API of "
1042"GNUnet is now documented with Sphinx."
1043msgstr ""
1044
1045#: template/gsoc-2018-gnunet-webui.html.j2:40
1046msgid ""
1047"<strong>Why did we create a REST API?</strong><br /> ... when you can use "
1048"the command line tools?<br /> We need to keep in mind, that everyone has the "
1049"right to stay secure and private but not everyone feels comfortable using a "
1050"terminal. The further developed REST access to GNUnet APIs in addition to "
1051"the new web application allows new users to interact with GNUnet over a well "
1052"known tool: their browsers. This addition to the C API and the command line "
1053"tools may attract new users and developers."
1054msgstr ""
1055
1056#: template/gsoc-2018-gnunet-webui.html.j2:52
1057msgid ""
1058"<strong>How can we use it?</strong><br /> 1. The REST API developed in "
1059"GNUnet<br /> The REST API is already merged into the gnunet.git repository "
1060"(<a href=\"https://gnunet.org/git/gnunet.git/\">GNUnet Main Git</a>).<br /> "
1061"To use the new features, clone the repository and follow the <a href="
1062"\"https://gnunet.org/en/install.html\">Installation</a> on gnunet.org. Then, "
1063"start the rest service with \"gnunet-arm -i rest\"."
1064msgstr ""
1065
1066#: template/gsoc-2018-gnunet-webui.html.j2:63
1067msgid ""
1068"2. The Web Application<br /> The web application is available under the "
1069"gnunet-webui.git repository (<a href=\"https://gnunet.org/git/gnunet-webui."
1070"git/\">GNUnet WebUI Git</a>).<br /> You need to install the newest version "
1071"of 'node' and 'yarn'. Dependent on your system, you may need to download "
1072"newer versions and install them manually and not over your packet manager. "
1073"After the installation succeeded, you need to clone the repository. Then, "
1074"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To "
1075"deploy the website (keep in mind, that this website communicates with "
1076"another localhost instance) use \"yarn build\" for building the web "
1077"application and use the output in the 'dist' directory."
1078msgstr ""
1079
1080#: template/gsoc-2018-gnunet-webui.html.j2:80
1081msgid ""
1082"3. The Documentation<br /> The documentation is available under the gnunet-"
1083"rest-api.git repository (<a href=\"https://gnunet.org/git/gnunet-rest-api."
1084"git/\">GNUnet REST API Docmentation Git</a>).<br /> Clone the repository and "
1085"\"make html\". Then open the 'index.html' under 'build/html/'."
1086msgstr ""
1087
1088#: template/gsoc-2018-gnunet-webui.html.j2:91
1089msgid ""
1090"Please, give it a try and contact me, if you find any bugs or unintentional "
1091"features. ;)"
1092msgstr ""
1093
1094#: template/gsoc-2018-gnunet-webui.html.j2:97
1095msgid ""
1096"<strong>What can be improved?</strong><br /> Right now, the build process of "
1097"the web application may be a little too complex for a casual user. We may be "
1098"able to solve this by using docker.<br /> Additionally, the web application "
1099"does not prevent wrong inputs but responds with error messages. Adding "
1100"GNUnet Records is currently only usable for people, who know how a GNS "
1101"Record looks like. This can be adapted to each record type.<br /> Last but "
1102"not least, additional features, design changes, etc..."
1103msgstr ""
1104
1105#: template/gsoc-2018-gnunet-webui.html.j2:111
1106msgid "Thanks for reading."
1107msgstr ""
1108
1109#: template/gsoc.html.j2:6
1110msgid "GNUnet's Google Summer of Code projects"
1111msgstr ""
1112
1113#: template/gsoc.html.j2:12 template/gsoc.html.j2:28
1114#, fuzzy 264#, fuzzy
1115#| msgid "GSoC Projects" 265#~| msgid "GSoC Projects"
1116msgid "Current projects" 266#~ msgid "Current projects"
1117msgstr "GSoC Projekte" 267#~ msgstr "GSoC Projekte"
1118
1119#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
1120msgid "Past projects"
1121msgstr ""
1122
1123#: template/gsoc.html.j2:14 template/gsoc.html.j2:553
1124msgid "Finished projects"
1125msgstr ""
1126
1127#: template/gsoc.html.j2:21
1128msgid ""
1129"As a GNU project, GNUnet has participated in the Google Summer of Code "
1130"(GSoC) for a number of years. This page lists all current, past, and "
1131"finished projects."
1132msgstr ""
1133
1134#: template/gsoc.html.j2:37
1135msgid ""
1136"It is time for GNUnet to run properly on Android. Note that GNUnet is "
1137"written in C, and this is not about rewriting GNUnet in Java, but about "
1138"getting the C code to run on Android."
1139msgstr ""
1140
1141#: template/gsoc.html.j2:44
1142msgid ""
1143"<strong>Mentors:</strong> <a href=\"https://www.goebel-consult.de/\">Hartmut "
1144"Goebel</a>"
1145msgstr ""
1146
1147#: template/gsoc.html.j2:53
1148msgid ""
1149"There is a push for migrating our CI to Gitlab. The CI should eventually not "
1150"just run \"make check\" on various platforms, but also perform tests with "
1151"multiple peers running in different VMs with specific network topologies (i."
1152"e. NAT) between them being simulated. The CI should also be integrated with "
1153"Gauger for performance regression analysis. Running jobs only when "
1154"dependencies have changed and scripting more granular triggers or ideally "
1155"automatic dependency discovery (as done by the autotools) is also important."
1156msgstr ""
1157
1158#: template/gsoc.html.j2:65
1159msgid "<strong>Mentors:</strong> TBD"
1160msgstr ""
1161
1162#: template/gsoc.html.j2:74
1163msgid ""
1164"reclaimID is a decentralized identity system build on top of the GNU Name "
1165"System. Upon authorization, the user provides a requesting party (RP) such "
1166"as a website with an authorization ticket (e.g. piggybacked in an OpenID "
1167"authorization code). The RP uses information contained in this ticket to "
1168"<ol> <li> Retrieve the decryption key from GNS</li> <li> Retrieve the user "
1169"attributes from GNS</li> </ol> The GNS lookups ensure that the RP receives "
1170"up-to-date attributes and functional decryption keys. However, in particular "
1171"the RP-specific encryption key resolution can be slow and even fail "
1172"depending on the network topology. We propose that in an initial exchange, "
1173"in particular OpenID authorization code flows, we try to incorporate key and "
1174"maybe even an attribute set in the ticket exchange. In order to mitigate "
1175"this issue, this project is meant to investigate and implement how... <ol> "
1176"<li> ... decryption keys can be added to an initial exchange in OpenID.</li> "
1177"<li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> </"
1178"ol> <br/> <strong>Mentors:</strong> Martin Schanzenbach"
1179msgstr ""
1180
1181#: template/gsoc.html.j2:105
1182msgid ""
1183"re:claimID is a decentralized identity system build on top of the GNU Name "
1184"System. The initial design and implementation of re:claimID includes an "
1185"attribute-based encryption module in order to prevent unauthorized access to "
1186"attributes in the name system. Our motivation for re:claimID was for it to "
1187"be name system agnostic, which means the design theoretically also works for "
1188"other name systems such as namecoin. Other name systems often do not have "
1189"built-in mechanisms in order to do this. Hence, we implemented an ABE access "
1190"control layer. Our ABE implementation requires two third party libraries: "
1191"libpbc and libgabe. While we could merge libgabe into the gnunet service "
1192"implementation of re:claimID, libpbc is a rather large, third party library "
1193"which lacks packaging in distributions and for platforms. On the other hand, "
1194"GNS supports record data encryption using symmetric keys as labels. If we "
1195"make the access control layer of re:claimID more generic in order to support "
1196"both ABE and GNS encryption, we could reduce the required depenencies. This "
1197"would result in gnunet packages to include re:claimID by default. In short, "
1198"the goals are to... <ol> <li> ... improve performance by reducing encryption "
1199"overhead.</li> <li> ... reduce dependencies.</li> </ol> <br/> "
1200"<strong>Mentors:</strong> Martin Schanzenbach"
1201msgstr ""
1202
1203#: template/gsoc.html.j2:140
1204msgid ""
1205"One great problem of the current Internet is the lack of disintermediation. "
1206"When people want to talk they need a chat service. When they want to share "
1207"files they need a file transfer service. Although GNUnet already possesses "
1208"quite advanced integration into Linux networking, a little extra work is "
1209"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
1210"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
1211"Once people have added a person to their GNS they can immediately message, "
1212"exchange files and suchlike directly, with nothing but the GNUnet in the "
1213"middle, using applications that have been distributed with unix systems ever "
1214"since the 1980's. We can produce an OS distribution where these things work "
1215"out of the box with the nicknames of people instead of cloud services. For "
1216"more information and context, read"
1217msgstr ""
1218
1219#: template/gsoc.html.j2:161
1220msgid "<strong>Mentors:</strong> lynX &amp; dvn"
1221msgstr ""
1222
1223#: template/gsoc.html.j2:169
1224msgid ""
1225"There are a variety of GNUNet APIs that should be exposed in the Rust "
1226"wrappers. Implementing these will require extending the port of GNUNet utils "
1227"written by Andrew Cann and Kelong Cong."
1228msgstr ""
1229
1230#: template/gsoc.html.j2:177
1231msgid ""
1232"As an introduction to the code base, we suggest that the student and Jeff "
1233"Burdges together update the asynchronous IO system from gjio to futures-rs "
1234"or another layer built upon it. Jeff Burdges is expected to concurrently be "
1235"implementing a GNUNet API for his own mix network work."
1236msgstr ""
1237
1238#: template/gsoc.html.j2:187 template/gsoc.html.j2:211
1239#: template/gsoc.html.j2:265 template/gsoc.html.j2:295
1240#: template/gsoc.html.j2:539
1241msgid "<strong>Mentors:</strong> Jeff Burdges"
1242msgstr ""
1243
1244#: template/gsoc.html.j2:192
1245msgid "Required Skills: Rust"
1246msgstr ""
1247
1248#: template/gsoc.html.j2:197
1249msgid "Difficulty level: low"
1250msgstr ""
1251
1252#: template/gsoc.html.j2:205
1253msgid ""
1254"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
1255msgstr ""
1256
1257#: template/gsoc.html.j2:216
1258msgid ""
1259"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
1260"using GNS over Tor too, but currently that's on hold until folks think more "
1261"about how names should be moved around the local system. We're calling this "
1262"more collaborative approach NSS2 for now."
1263msgstr ""
1264
1265#: template/gsoc.html.j2:225 template/gsoc.html.j2:399
1266#: template/gsoc.html.j2:439 template/gsoc.html.j2:469
1267msgid "Required Skills: C"
1268msgstr ""
1269
1270#: template/gsoc.html.j2:230 template/gsoc.html.j2:474
1271#: template/gsoc.html.j2:619
1272msgid "Difficulty level: medium"
1273msgstr ""
1274
1275#: template/gsoc.html.j2:238
1276msgid ""
1277"Design and implementation of <a href=\"http://jsonapi.org/\">REST APIs</a> "
1278"that expose the <a href=\"https://docs.gnunet.org/doxygen/modules.html"
1279"\">GNUnet API</a> so that easy, hands-on development is possible. Also, "
1280"browser-based UIs will be much easier to create on top of REST APIs."
1281msgstr ""
1282
1283#: template/gsoc.html.j2:249 template/gsoc.html.j2:609
1284msgid "<strong>Mentors:</strong> Martin Schanzenbach"
1285msgstr ""
1286
1287#: template/gsoc.html.j2:257
1288msgid ""
1289"Improve the Rust implementation of GNUnet utils, possibly including adding "
1290"support for asynchronous IO using mio, or perhaps a higher level "
1291"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
1292"gj."
1293msgstr ""
1294
1295#: template/gsoc.html.j2:273
1296msgid ""
1297"Implement rudimentary Android compatibility for GNUnet, in part by porting "
1298"the GNUnet utils scheduler to act as a thin wrapper over libuv."
1299msgstr ""
1300
1301#: template/gsoc.html.j2:280
1302msgid "<strong>Mentors:</strong> Jeff Burdges and Christian Grothoff"
1303msgstr ""
1304
1305#: template/gsoc.html.j2:288 template/gsoc.html.j2:532
1306msgid ""
1307"Implementation of a replacement for PANDA (see Pond) with better security, "
1308"and maybe integration with the GNU Name System for key exchange."
1309msgstr ""
1310
1311#: template/gsoc.html.j2:300
1312msgid "Required Skills: Rust or C, crypto"
1313msgstr ""
1314
1315#: template/gsoc.html.j2:305 template/gsoc.html.j2:362
1316#: template/gsoc.html.j2:404 template/gsoc.html.j2:444
1317msgid "Difficulty level: high"
1318msgstr ""
1319
1320#: template/gsoc.html.j2:313
1321msgid ""
1322"Implement different place types and file sharing by creating a new place for "
1323"the shared content."
1324msgstr ""
1325
1326#: template/gsoc.html.j2:319
1327msgid "Place types to be implemented:"
1328msgstr ""
1329
1330#: template/gsoc.html.j2:323
1331msgid ""
1332"<ul> <li>File: generic file with comments</li> <li>Image: display an image "
1333"with comments referencing a region of the image</li> <li>Sound: play a sound "
1334"file with comments referencing a timestamp</li> <li>Directory/Album: "
1335"pointers to File / Image / Sound places</li> <li>Event: with RSVP</li> "
1336"<li>Survey: ask your social neighborhood questions in a structured form</li> "
1337"</ul>"
1338msgstr ""
1339
1340#: template/gsoc.html.j2:334
1341msgid "Also provide the following UI functionality:"
1342msgstr ""
1343
1344#: template/gsoc.html.j2:338
1345msgid ""
1346"<ul> <li>Fork existing channels, reorganize people into new chatrooms or "
1347"channels.</li> <li>Share a post (edit and repost something elsewhere, on a "
1348"fan page for example).</li> <li>Edit a previously published post + offer "
1349"edit history to readers.</li> <li>Control expiry of channel history.</li> </"
1350"ul>"
1351msgstr ""
1352
1353#: template/gsoc.html.j2:347
1354msgid ""
1355"See also <a href=\"http://secushare.org/features\">http://secushare.org/"
1356"features</a>"
1357msgstr ""
1358
1359#: template/gsoc.html.j2:352
1360msgid "<strong>Mentors:</strong> lynX"
1361msgstr ""
1362
1363#: template/gsoc.html.j2:357
1364msgid "Required Skills: C/C++"
1365msgstr ""
1366
1367#: template/gsoc.html.j2:370
1368msgid ""
1369"Implement aggregation of distributed state from various channels in order to "
1370"provide for a powerful social graph API capable of producing social network "
1371"profiles, dashboards, a calendar out of upcoming event invitations (if "
1372"available), social search functionality and most of all to make it easy for "
1373"users to adopt cryptographic identities of their contacts/friends simply by "
1374"finding them in the social graph of their existing contacts (\"This is "
1375"Linda. You have 11 contacts in common with her. [ADD]\")."
1376msgstr ""
1377
1378#: template/gsoc.html.j2:388
1379msgid ""
1380"Related to <a href=\"http://secushare.org/rendezvous\">secushare.org/"
1381"rendezvous</a>"
1382msgstr ""
1383
1384#: template/gsoc.html.j2:394 template/gsoc.html.j2:434
1385msgid "<strong>Mentors:</strong> t3sserakt, lynX"
1386msgstr ""
1387
1388#: template/gsoc.html.j2:411
1389msgid ""
1390"<ul> <li> Emulate IMAP/SMTP protocols as necessary to transform traditional "
1391"mail clients into secushare user interfaces. </li> <li> Think of ways to map "
1392"e-mail addresses to secushare identities. </li> <li> Encode or translate "
1393"various e-mail features into secushare equivalents. </li> <li> Parts of "
1394"secushare are currently written in Rust, therefore Rust is preferred for "
1395"this task but it is not an requirement. </li> </ul>"
1396msgstr ""
1397
1398#: template/gsoc.html.j2:452
1399msgid ""
1400"Implementation of the GNUnet auction system described in Chapter 3 of <a "
1401"href=\"https://grothoff.org/christian/teich2017ms.pdf\">this thesis</a>. "
1402"Specific tasks are adding smart contract creation and round time enforcement "
1403"to libbrandt as well as creating the GNUnet auction service, library and the "
1404"three user interface programs create, info and join."
1405msgstr ""
1406
1407#: template/gsoc.html.j2:464
1408msgid "<strong>Mentors:</strong> mate, cg"
1409msgstr ""
1410
1411#: template/gsoc.html.j2:482
1412msgid ""
1413"Implementation of additional transports to make GNUnet communication more "
1414"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
1415"over-DNS"
1416msgstr ""
1417
1418#: template/gsoc.html.j2:489 template/gsoc.html.j2:503
1419msgid "<strong>Mentors:</strong> Matthias Wachs"
1420msgstr ""
1421
1422#: template/gsoc.html.j2:497
1423msgid ""
1424"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
1425"punching, better STUN support)"
1426msgstr ""
1427
1428#: template/gsoc.html.j2:511
1429msgid ""
1430"<strong>Mentors:</strong> Matthias Wachs, Christian Grothoff, Jeff Burdges"
1431msgstr ""
1432
1433#: template/gsoc.html.j2:519
1434msgid ""
1435"Improving libaboss to make computation on shared secrets (including repeated "
1436"multiplication) based on <a href=\"https://dl.acm.org/citation.cfm?"
1437"doid=62212.62213\">Ben-Or et al.</a> if possible. This in particular means "
1438"moving libaboss to bignums (gcry_mpi)."
1439msgstr ""
1440
1441#: template/gsoc.html.j2:547
1442msgid ""
1443"Please refer to the description for this project listed under GNU Guix "
1444"project ideas."
1445msgstr ""
1446
1447#: template/gsoc.html.j2:559
1448msgid ""
1449"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
1450"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
1451"around python-zbar, which itself wraps libzbar. The goal of this project is "
1452"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
1453"(see also <a href=\"https://bugs.gnunet.org/view.php?id=5562\">#5562</a>)."
1454msgstr ""
1455
1456#: template/gsoc.html.j2:569
1457msgid "<strong>Mentors:</strong> Christian Grothoff"
1458msgstr ""
1459
1460#: template/gsoc.html.j2:574
1461msgid "Required Skills:"
1462msgstr ""
1463
1464#: template/gsoc.html.j2:579
1465msgid "Difficulty level:"
1466msgstr ""
1467
1468#: template/gsoc.html.j2:584
1469msgid "Report:"
1470msgstr ""
1471
1472#: template/gsoc.html.j2:589
1473msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
1474msgstr ""
1475
1476#: template/gsoc.html.j2:599
1477msgid ""
1478"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
1479"to be determined framework such as Angular2. This includes the design and "
1480"implementation of not yet existing <a href=\"http://jsonapi.org/\">REST "
1481"APIs</a> that expose the <a href=\"https://docs.gnunet.org/doxygen/modules."
1482"html\">GNUnet API</a>."
1483msgstr ""
1484
1485#: template/gsoc.html.j2:614
1486msgid "Required Skills: C, JavaScript, CSS"
1487msgstr ""
1488
1489#: template/gsoc.html.j2:624
1490msgid ""
1491"Report: <a href=\"gsoc-2018-gnunet-webui.html\">GSoC 2018: GNUnet WebUI</a>"
1492msgstr ""
1493
1494#: template/index.html.j2:19
1495msgid ""
1496"GNUnet is a new network protocol stack for building secure, distributed, and "
1497"privacy-preserving applications. With strong roots in <a href=\"https://bib."
1498"gnunet.org\">academic research</a>, our goal is to replace the <a href="
1499"\"https://secushare.org/broken-internet\">old insecure Internet</a> protocol "
1500"stack."
1501msgstr ""
1502
1503#: template/index.html.j2:29
1504msgid ""
1505"GNUnet is typically run as an <a href=\"https://en.wikipedia.org/wiki/"
1506"Overlay_network\">overlay network</a> on top of the existing Internet "
1507"infrastructure forming the basis of a hybrid <a href=\"architecture.html"
1508"\">peer-to-peer mesh and relay backbone</a> for applications to run on. It "
1509"could just as well be run independently of the Internet, over <a href="
1510"\"https://en.wikipedia.org/wiki/Physical_layer\">dedicated radio and cable</"
1511"a>."
1512msgstr ""
1513
1514#: template/index.html.j2:38
1515msgid ""
1516"GNUnet is made for a free and open society: It&#39;s a self-organizing "
1517"network and it is <a href=\"http://www.gnu.org/philosophy/free-sw.html"
1518"\">free software</a> as in freedom. GNUnet puts you in control of your data. "
1519"You determine which data to share with whom, and you&#39;re not pressured to "
1520"accept compromises."
1521msgstr ""
1522
1523#: template/index.html.j2:89
1524msgid "The Internet of tomorrow needs GNUnet today"
1525msgstr ""
1526
1527#: template/index.html.j2:95
1528msgid "Imagine..."
1529msgstr ""
1530
1531#: template/index.html.j2:97
1532msgid ""
1533"The conventional Internet is currently like a system of roads with deep "
1534"potholes and highwaymen all over the place. Even if you still can use the "
1535"roads (e.g. send emails, or browse websites) your vehicle might get "
1536"hijacked, damaged, or long arms might reach into its back and steal your "
1537"items (data) to use it against you and sell it to others - while you can&#39;"
1538"t even notice the thievery nor accuse and hold the scroungers accountable. "
1539"<!-- Proposal from Fabian Gerlach: The conventional Internet is currently "
1540"like a system of roads with deep potholes and surveillance cameras all over "
1541"the place. Even if you still can use the roads (e.g. send emails, or browse "
1542"websites) your vehicle might gets damaged. And the surveillance cameras will "
1543"create a movement profile about your life: They recognize your car license "
1544"plate, track you everywhere you drive, and save this information in a "
1545"central data base. -->"
1546msgstr ""
1547
1548#: template/index.html.j2:121
1549msgid "The Internet is broken"
1550msgstr ""
1551
1552#: template/index.html.j2:123
1553msgid ""
1554"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: "
1555"protecting against address forgery, routers learning metadata, or choosing "
1556"trustworthy CAs is nontrivial and sometimes impossible. <!-- Proposal from "
1557"Fabian Gerlach: The Internet is not designed with security in mind: The "
1558"network generally learns too much about users; it has insecure defaults and "
1559"high complexity; and it is centralized. That makes it very vulnerable for "
1560"multiple attacks massively threatening our freedom. -->"
1561msgstr ""
1562
1563#: template/index.html.j2:137
1564msgid ""
1565"GNUnet provides <a href=\"https://www.w3.org/2014/strint/papers/65.pdf"
1566"\">privacy by design</a>, improving addressing, routing, naming and content "
1567"distribution in a technically robust manner - as opposed to ad-hoc designs "
1568"in place today. <!-- Proposal from fabian gerlach: GNUnet is built <a href="
1569"\"https://www.w3.org/2014/strint/papers/65.pdf\">\"privacy by design\"</a> "
1570"and \"distributed by design\". This improves addressing, routing, naming and "
1571"content distribution in a technically robust manner. -->"
1572msgstr ""
1573
1574#: template/index.html.j2:155
1575msgid "Decentralization is hard"
1576msgstr ""
1577
1578#: template/index.html.j2:158
1579msgid ""
1580"<!-- replaced with Proposal from Fabian Gerlach: It seems as if every other "
1581"distributed or P2P project develops its own library stack, covering "
1582"transports, stream muxing, discovery and others. This divides effort and "
1583"multiplies bug count. --> Instead of sharing common components and tools for "
1584"building P2P systems, every P2P project seems to re-invent the wheel. <!-- "
1585"TODO: rework this sentence. --> This heightens the effort and increases the "
1586"potential number of vulnerabilities."
1587msgstr ""
1588
1589#: template/index.html.j2:174
1590msgid ""
1591"GNUnet is a metadata-preserving foundation for your application, covering "
1592"areas from addressing to reliable bidirectional Axolotl-encrypted channels, "
1593"with advanced routing. Our work is based on continuous research spanning "
1594"almost two decades."
1595msgstr ""
1596
1597#: template/index.html.j2:188
1598msgid "Metadata is exposed"
1599msgstr ""
1600
1601#: template/index.html.j2:190
1602msgid ""
1603"Your metadata is just as revealing as the actual content; and it gets "
1604"exposed on the Internet.<br> Even though transport encryption is "
1605"increasingly being deployed on the Internet, it still reveals data that can "
1606"threaten democracy: the identities of senders and receivers, the times, "
1607"frequency and the volume of communication are all still revealed.<br> <!-- "
1608"Looks like a weak argumentation to me: which <a href=\"https://www.freehaven."
1609"net/anonbib/cache/websitefingerprinting-pets2016.pdf\">enables reverse-"
1610"engineering pages visited via website fingerprinting</a>. --> GNUnet <a href="
1611"\"https://secushare.org/anonymity\">addresses</a> these concerns with "
1612"perfect forward secrecy via ephemeral public key addressing, fixed packet "
1613"size to hinder traffic analysis, layered encryption, Sybil-resistant "
1614"routing, and more."
1615msgstr ""
1616
1617#: template/index.html.j2:213
1618msgid "Freedoms are not respected"
1619msgstr ""
1620
1621#: template/index.html.j2:215
1622msgid ""
1623"Today, monitoring increasingly centralized infrastructure, proprietary "
1624"implementations, traffic shapers and firewalls restrict all of the <a href="
1625"\"https://www.gnu.org/philosophy/free-sw.html\">essential freedoms</a> to "
1626"various degrees."
1627msgstr ""
1628
1629#: template/index.html.j2:224
1630msgid ""
1631"GNUnet gives users freedoms to securely access information (\"run\" the "
1632"network), to study all aspects of the network&#39;s operation (\"access the "
1633"code\"), to distribute information (\"copy\"), as well as the freedom to "
1634"deploy new applications (\"modify\")."
1635msgstr ""
1636 268
1637#: template/index.html.j2:236
1638#, fuzzy 269#, fuzzy
1639#| msgid "About GNUnet" 270#~| msgid "About GNUnet"
1640msgid "Learn more about GNUnet" 271#~ msgid "Learn more about GNUnet"
1641msgstr "Über GNUnet" 272#~ msgstr "Über GNUnet"
1642 273
1643#: template/index.html.j2:238
1644msgid ""
1645"If you want to know more about the GNUnet please continue reading the <a "
1646"href=\"about.html\">about page</a>. There are much more resources, such as "
1647"the <a href=\"https://docs.gnunet.org\">main handbook / reference manual</"
1648"a>, a <a href=\"https://bib.gnunet.org/\">bibliography</a> and <a href="
1649"\"https://gnunet.org/en/video.html\">videos</a>."
1650msgstr ""
1651
1652#: template/index.html.j2:247
1653msgid ""
1654"You are very welcome to <a href=\"https://gnunet.org/en/engage.html\"> get "
1655"engaged into the conversation</a>, <a href=\"https://gnunet.org/en/install."
1656"html\">install GNUnet</a>, <a href=\"https://gnunet.org/en/use.html\">use "
1657"it</a> and <a href=\"https://gnunet.org/en/engage.html\">contribute</a>. "
1658"<br> Be aware that this project is still in an early alpha stage when it "
1659"comes to software &#8211; it is not an easy task to rewrite the whole "
1660"Internet!"
1661msgstr ""
1662
1663#: template/index.html.j2:269
1664msgid "Featured Applications"
1665msgstr ""
1666
1667#: template/index.html.j2:275
1668msgid "GNU Taler (Alpha)"
1669msgstr ""
1670
1671#: template/index.html.j2:277
1672msgid ""
1673"<a href=\"https://taler.net/\">GNU Taler</a> is a new privacy-preserving "
1674"electronic payment system. Payments are cryptographically secured and are "
1675"confirmed within milliseconds with extremely low transaction costs."
1676msgstr ""
1677
1678#: template/index.html.j2:289
1679msgid "The GNU Name System"
1680msgstr ""
1681
1682#: template/index.html.j2:292
1683msgid ""
1684"<!-- The <a href=\"use.html#gns\">GNU Name System (GNS)</a> --> The <a href="
1685"\"https://docs.gnunet.org/handbook/gnunet.html#The-GNU-Name-System\">GNU "
1686"Name System (GNS)</a> is a fully decentralized replacement for the Domain "
1687"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. "
1688"Naming conventions are similar to DNS, but queries and replies are private "
1689"even with respect to peers providing the answers. The integrity of records "
1690"and privacy of look-ups is cryptographically secured. <!-- Too technical: "
1691"GNS integrates a robust, efficient and instant key revocation mechanism. -->"
1692msgstr ""
1693
1694#: template/index.html.j2:309
1695msgid "re:claimID"
1696msgstr ""
1697
1698#: template/index.html.j2:311
1699msgid ""
1700"<a href=\"https://reclaim-identity.io/\">re:claimID</a> is a decentralized "
1701"Identity Provider (IdP) service built in top of the GNU Name System. It "
1702"allows users to securely share personal information with websites using "
1703"standardized protocols (OpenID Connect)."
1704msgstr ""
1705
1706#: template/index.html.j2:324
1707msgid "Filesharing (Alpha)"
1708msgstr ""
1709
1710#: template/index.html.j2:326
1711msgid ""
1712"GNUnet <a href=\"use.html#fs\">filesharing</a> is an application that aims "
1713"to provide censorship-resistant, anonymous filesharing. The publisher is "
1714"empowered to make a gradual choice between performance and anonymity."
1715msgstr ""
1716
1717#: template/index.html.j2:337
1718#, fuzzy 274#, fuzzy
1719#| msgid "Motivation" 275#~| msgid "Motivation"
1720msgid "Conversation (Pre-Alpha)" 276#~ msgid "Conversation (Pre-Alpha)"
1721msgstr "Motivation" 277#~ msgstr "Motivation"
1722
1723#: template/index.html.j2:339
1724msgid ""
1725"GNUnet conversation is an application that provides secure voice "
1726"communication in a fully decentralized way by employing GNUnet for routing "
1727"and transport."
1728msgstr ""
1729
1730#: template/index.html.j2:355
1731msgid "Upcoming Applications"
1732msgstr ""
1733
1734#: template/index.html.j2:361
1735msgid "secushare"
1736msgstr ""
1737
1738#: template/index.html.j2:363
1739msgid ""
1740"<a href=\"https://secushare.org/\">secushare</a> is creating a decentralized "
1741"social networking application on top of GNUnet. Using overlay multicast and "
1742"the extensible PSYC protocol, notifications are distributed end-to-end "
1743"encrypted to authorized recipients only."
1744msgstr ""
1745
1746#: template/index.html.j2:375
1747msgid "pretty Easy privacy"
1748msgstr ""
1749
1750#: template/index.html.j2:377
1751msgid ""
1752"<a href=\"https://pep.foundation/\">pretty Easy privacy</a> (p&#8801;p) is "
1753"creating a usable end-to-end encrypted e-mail solution using opportunistic "
1754"key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
1755"cryptographic protocols to verify keys."
1756msgstr ""
1757
1758#: template/install-on-archpi.html.j2:6
1759msgid "Tutorial: GNUnet on Arch Linux/Pi"
1760msgstr ""
1761
1762#: template/install-on-archpi.html.j2:16
1763msgid "Requirements for Raspberry Pi 3"
1764msgstr ""
1765
1766#: template/install-on-archpi.html.j2:40
1767msgid "Get the Source Code"
1768msgstr ""
1769
1770#: template/install-on-archpi.html.j2:62
1771#: template/install-on-debian9.html.j2:130
1772msgid "In Addition: gnunet-gtk"
1773msgstr ""
1774
1775#: template/install-on-archpi.html.j2:79
1776msgid "Run"
1777msgstr ""
1778
1779#: template/install-on-archpi.html.j2:131
1780msgid "Make sure, it works!"
1781msgstr ""
1782
1783#: template/install-on-debian9.html.j2:6
1784msgid "Tutorial: GNUnet on Debian 9"
1785msgstr ""
1786 278
1787#: template/install-on-debian9.html.j2:9
1788#: template/install-on-ubuntu1804.html.j2:9
1789msgid "Introduction"
1790msgstr ""
1791
1792#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17
1793#: template/install-on-netbsd.html.j2:19
1794#: template/install-on-ubuntu1804.html.j2:26
1795msgid "Requirements"
1796msgstr ""
1797
1798#: template/install-on-debian9.html.j2:45
1799#: template/install-on-ubuntu1804.html.j2:41
1800msgid "Make an installation directory"
1801msgstr ""
1802
1803#: template/install-on-debian9.html.j2:59
1804#: template/install-on-macos.html.j2:134
1805#: template/install-on-netbsd.html.j2:224
1806#: template/install-on-ubuntu1804.html.j2:53
1807msgid "Get the source code"
1808msgstr ""
1809
1810#: template/install-on-debian9.html.j2:78
1811#: template/install-on-macos.html.j2:142
1812#: template/install-on-netbsd.html.j2:232
1813#: template/install-on-ubuntu1804.html.j2:61
1814msgid "Compile and Install"
1815msgstr ""
1816
1817#: template/install-on-debian9.html.j2:103
1818#: template/install-on-ubuntu1804.html.j2:70
1819msgid "Option 1: GNUnet for testing / usage"
1820msgstr ""
1821
1822#: template/install-on-debian9.html.j2:116
1823#: template/install-on-ubuntu1804.html.j2:82
1824msgid "Option 2: GNUnet for development"
1825msgstr ""
1826
1827#: template/install-on-debian9.html.j2:153
1828#: template/install-on-ubuntu1804.html.j2:97
1829msgid "Install GNUnet plugin for name resolution"
1830msgstr ""
1831
1832#: template/install-on-debian9.html.j2:207
1833#: template/install-on-ubuntu1804.html.j2:134
1834msgid "Create configuration file"
1835msgstr ""
1836
1837#: template/install-on-debian9.html.j2:227
1838#: template/install-on-ubuntu1804.html.j2:156
1839#, fuzzy 279#, fuzzy
1840#| msgid "GNUnet" 280#~| msgid "GNUnet"
1841msgid "Use GNUnet!" 281#~ msgid "Use GNUnet!"
1842msgstr "GNUnet" 282#~ msgstr "GNUnet"
1843
1844#: template/install-on-debian9.html.j2:232
1845#: template/install-on-ubuntu1804.html.j2:162
1846msgid "Uninstall GNUnet and its dependencies"
1847msgstr ""
1848
1849#: template/install-on-macos.html.j2:6
1850msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
1851msgstr ""
1852
1853#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30
1854msgid "Installation"
1855msgstr ""
1856
1857#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102
1858msgid "First steps"
1859msgstr ""
1860
1861#: template/install-on-macos.html.j2:109
1862#: template/install-on-netbsd.html.j2:182
1863msgid "Alternative: Installation from source"
1864msgstr ""
1865
1866#: template/install-on-macos.html.j2:154
1867#: template/install-on-netbsd.html.j2:242
1868msgid "Option 1: GNUnet for production / usage"
1869msgstr ""
1870
1871#: template/install-on-macos.html.j2:187
1872#: template/install-on-netbsd.html.j2:267
1873msgid "Option 2: GNUnet experimental"
1874msgstr ""
1875
1876#: template/install-on-netbsd.html.j2:6
1877msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
1878msgstr ""
1879
1880#: template/install-on-ubuntu1804.html.j2:6
1881msgid "Tutorial: GNUnet on Ubuntu 18.04"
1882msgstr ""
1883
1884#: template/install.html.j2:11
1885msgid ""
1886"<p>The following GNUnet installation instructions help you building from "
1887"source for your distribution.</p> <p><i>Please note that the installation "
1888"process will get much easier once we have proper packages again (planned for "
1889"winter 2019).</i></p> <p>You have already installed GNUnet and want to use "
1890"it? <a href=\"https://gnunet.org/en/use\">Check this out!</a> </p>"
1891msgstr ""
1892
1893#: template/install.html.j2:19
1894msgid ""
1895"<p>Please be aware that this project is still in an early alpha stage when "
1896"it comes to running software &#8211; its not an easy task to rewrite the "
1897"whole Internet! We are happy to get your <a href=\"engage.html\">helping "
1898"hand</a> anytime!</p> <p>Further information is available in our <a href="
1899"\"https://docs.gnunet.org/#toc-Using-GNUnet-1\">handbook</a>.</p> <p>If you "
1900"have any queries about the installation or the usage, please <a href="
1901"\"engage.html\">get in touch!</a></p>"
1902msgstr ""
1903
1904#: template/use.html.j2:6
1905msgid "How to use GNUnet - in a nutshell"
1906msgstr ""
1907
1908#: template/use.html.j2:12 template/use.html.j2:123
1909msgid "Filesharing"
1910msgstr ""
1911
1912#: template/use.html.j2:13
1913msgid "CADET"
1914msgstr ""
1915 283
1916#: template/use.html.j2:14
1917msgid "Minimal Groupchat"
1918msgstr ""
1919
1920#: template/use.html.j2:15
1921msgid "GNS with CLI"
1922msgstr ""
1923
1924#: template/use.html.j2:16
1925msgid "GNS with Browser"
1926msgstr ""
1927
1928#: template/use.html.j2:17 template/use.html.j2:441
1929msgid "VPN"
1930msgstr ""
1931
1932#: template/use.html.j2:18 template/use.html.j2:501
1933#, fuzzy 284#, fuzzy
1934#| msgid "Motivation" 285#~| msgid "Motivation"
1935msgid "Conversation" 286#~ msgid "Conversation"
1936msgstr "Motivation" 287#~ msgstr "Motivation"
1937
1938#: template/use.html.j2:19 template/use.html.j2:512
1939msgid "Trouble Shooting"
1940msgstr ""
1941 288
1942#: template/use.html.j2:34
1943#, fuzzy 289#, fuzzy
1944#| msgid "GNUnet" 290#~| msgid "GNUnet"
1945msgid "Get on GNUnet" 291#~ msgid "Get on GNUnet"
1946msgstr "GNUnet" 292#~ msgstr "GNUnet"
1947 293
1948#: template/use.html.j2:78
1949#, fuzzy 294#, fuzzy
1950#| msgid "GNUnet" 295#~| msgid "GNUnet"
1951msgid "Get off GNUnet" 296#~ msgid "Get off GNUnet"
1952msgstr "GNUnet" 297#~ msgstr "GNUnet"
1953
1954#: template/use.html.j2:88
1955msgid "Make sure your GNUnet installation works..."
1956msgstr ""
1957
1958#: template/use.html.j2:105
1959msgid "... and play around with it."
1960msgstr ""
1961
1962#: template/use.html.j2:181
1963msgid "CADET (and Chat)"
1964msgstr ""
1965
1966#: template/use.html.j2:215
1967msgid "Chatting with a (simple) client"
1968msgstr ""
1969
1970#: template/use.html.j2:289
1971msgid "Name resolution using GNS on the command line"
1972msgstr ""
1973
1974#: template/use.html.j2:361
1975msgid "Name resolution using GNS with a browser"
1976msgstr ""
1977
1978#: template/use.html.j2:514
1979msgid "You can't reach other people's nodes"
1980msgstr ""
1981
1982#: template/use.html.j2:550
1983msgid "OMG you guys broke my internet"
1984msgstr ""
1985
1986#: template/video.html.j2:12
1987msgid "Videos related to GNUnet"
1988msgstr ""
1989 298
1990#~ msgid "2013-12 (constitutional meeting)" 299#~ msgid "2013-12 (constitutional meeting)"
1991#~ msgstr "2013-12 (Gründungstreffen)" 300#~ msgstr "2013-12 (Gründungstreffen)"
diff --git a/locale/en/LC_MESSAGES/messages.po b/locale/en/LC_MESSAGES/messages.po
index 9f923610..522e6786 100644
--- a/locale/en/LC_MESSAGES/messages.po
+++ b/locale/en/LC_MESSAGES/messages.po
@@ -1,1930 +1,3 @@
1#: common/base.j2:5 common/news.j2:5
2msgid "GNUnet"
3msgstr ""
4
5#: common/base.j2:6 common/news.j2:6
6msgid "GNU's framework for secure p2p networking"
7msgstr ""
8
9#: common/footer.j2.inc:7
10msgid "Contact"
11msgstr ""
12
13#: common/footer.j2.inc:8 common/navigation.j2.inc:48
14msgid "GNUnet e.V."
15msgstr ""
16
17#: common/footer.j2.inc:9 template/about.html.j2:6
18msgid "About GNUnet"
19msgstr ""
20
21#: common/footer.j2.inc:14 common/navigation.j2.inc:61
22msgid "Bug Tracker"
23msgstr ""
24
25#: common/footer.j2.inc:19 template/copyright.html.j2:6
26msgid "Copyright Assignment"
27msgstr ""
28
29#: common/footer.j2.inc:20 common/navigation.j2.inc:89
30#: template/developers.html.j2:24
31msgid "Bibliography"
32msgstr ""
33
34#: common/footer.j2.inc:31
35msgid "Source code of this site."
36msgstr ""
37
38#: common/footer.j2.inc:32
39msgid "Report issues with this website."
40msgstr ""
41
42#: common/navigation.j2.inc:38 template/index.html.j2:51
43msgid "About"
44msgstr ""
45
46#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64
47msgid "News"
48msgstr ""
49
50#: common/navigation.j2.inc:43
51msgid "Community"
52msgstr ""
53
54#: common/navigation.j2.inc:46 template/index.html.j2:55
55msgid "Engage"
56msgstr ""
57
58#: common/navigation.j2.inc:47
59msgid "GSoC Projects"
60msgstr ""
61
62#: common/navigation.j2.inc:49
63msgid "Copyright for Contributors"
64msgstr ""
65
66#: common/navigation.j2.inc:50
67msgid "IRC Archive"
68msgstr ""
69
70#: common/navigation.j2.inc:57
71msgid "Development"
72msgstr ""
73
74#: common/navigation.j2.inc:60
75msgid "System Architecture"
76msgstr ""
77
78#: common/navigation.j2.inc:62 template/gnurl.html.j2:147
79msgid "Source Code"
80msgstr ""
81
82#: common/navigation.j2.inc:63
83msgid "Source Code Documentation"
84msgstr ""
85
86#: common/navigation.j2.inc:66
87msgid "Continuous Integration"
88msgstr ""
89
90#: common/navigation.j2.inc:68
91msgid "Development Tutorial"
92msgstr ""
93
94#: common/navigation.j2.inc:79
95msgid "Documentation"
96msgstr ""
97
98#: common/navigation.j2.inc:82 template/index.html.j2:53
99#: template/install.html.j2:6
100msgid "Install"
101msgstr ""
102
103#: common/navigation.j2.inc:83
104msgid "Use"
105msgstr ""
106
107#: common/navigation.j2.inc:84
108msgid "Videos"
109msgstr ""
110
111#: common/navigation.j2.inc:85 template/glossary.html.j2:6
112msgid "Glossary"
113msgstr ""
114
115#: common/navigation.j2.inc:86
116msgid "Handbook"
117msgstr ""
118
119#: common/navigation.j2.inc:87
120msgid "REST API"
121msgstr ""
122
123#: common/navigation.j2.inc:88
124msgid "FAQ"
125msgstr ""
126
127#: inc/news.macro.j2:10
128msgid "read more"
129msgstr ""
130
131#: template/about.html.j2:11
132msgid "What is GNUnet?"
133msgstr ""
134
135#: template/about.html.j2:13
136msgid ""
137"GNUnet is an alternative network stack for building secure, decentralized "
138"and privacy-preserving distributed applications. Our goal is to replace the "
139"old insecure Internet protocol stack. Starting from an application for "
140"secure publication of files, it has grown to include all kinds of basic "
141"protocol components and applications towards the creation of a GNU internet."
142msgstr ""
143
144#: template/about.html.j2:23
145msgid ""
146"Today, the actual use and thus the social requirements for a global network "
147"differs widely from those goals of 1970. While the Internet remains suitable "
148"for military use, where the network equipment is operated by a command "
149"hierarchy and when necessary isolated from the rest of the world, the "
150"situation is less tenable for civil society."
151msgstr ""
152
153#: template/about.html.j2:32
154msgid ""
155"Due to fundamental Internet design choices, Internet traffic can be "
156"misdirected, intercepted, censored and manipulated by hostile routers on the "
157"network. And indeed, the modern Internet has evolved exactly to the point "
158"where, as Matthew Green put it, <a href=\"https://blog."
159"cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the "
160"network is hostile\"</a>."
161msgstr ""
162
163#: template/about.html.j2:41
164msgid ""
165"We believe liberal societies need a network architecture that uses the anti-"
166"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
167"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
168"Software realization of this ideal."
169msgstr ""
170
171#: template/about.html.j2:49
172msgid ""
173"Specifically, GNUnet tries to follow the following design principles, in "
174"order of importance:"
175msgstr ""
176
177#: template/about.html.j2:56
178msgid ""
179"GNUnet must be implemented as <a href=\"https://www.gnu.org/philosophy/free-"
180"sw.html\">Free Software</a>."
181msgstr ""
182
183#: template/about.html.j2:60
184msgid ""
185"GNUnet must minimize the amount of personally identifiable information "
186"exposed."
187msgstr ""
188
189#: template/about.html.j2:61
190msgid ""
191"GNUnet must be fully distributed and resilient to external attacks and rogue "
192"participants."
193msgstr ""
194
195#: template/about.html.j2:62
196msgid ""
197"GNUnet must be self-organizing and not depend on administrators or "
198"centralized infrastructure."
199msgstr ""
200
201#: template/about.html.j2:63
202msgid ""
203"GNUnet must inform the user which other participants have to be trusted when "
204"establishing private communications."
205msgstr ""
206
207#: template/about.html.j2:64
208msgid "GNUnet must be open and permit new peers to join."
209msgstr ""
210
211#: template/about.html.j2:65
212msgid "GNUnet must support a diverse range of applications and devices."
213msgstr ""
214
215#: template/about.html.j2:66
216msgid "GNUnet must use compartmentalization to protect sensitive information."
217msgstr ""
218
219#: template/about.html.j2:67
220msgid "The GNUnet architecture must be resource efficient."
221msgstr ""
222
223#: template/about.html.j2:68
224msgid ""
225"GNUnet must provide incentives for peers to contribute more resources than "
226"they consume."
227msgstr ""
228
229#: template/about.html.j2:72
230msgid ""
231"To get know and learn more, please check our <a href=\"https://docs.gnunet."
232"org/handbook/gnunet.html\">handbook</a>, especially the <a href=\"https://"
233"docs.gnunet.org/handbook/gnunet.html#Key-Concepts\">chapter on \"Key Concepts"
234"\"</a>, explaining the fundamental concepts of GNUnet: <ul> <li><a href="
235"\"https://docs.gnunet.org/handbook/gnunet.html#Authentication"
236"\">Authentication</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
237"gnunet.html#Accounting-to-Encourage-Resource-Sharing\">Accounting to "
238"Encourage Resource Sharing</a></li> <li><a href=\"https://docs.gnunet.org/"
239"handbook/gnunet.html#Confidentiality\">Confidentiality</a></li> <li><a href="
240"\"https://docs.gnunet.org/handbook/gnunet.html#Anonymity\">Anonymity</a></"
241"li> <li><a href=\"https://docs.gnunet.org/handbook/gnunet.html#Deniability"
242"\">Deniability</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
243"gnunet.html#Peer-Identities\">Peer Identities</a></li> <li><a href=\"https://"
244"docs.gnunet.org/handbook/gnunet.html#Zones-in-the-GNU-Name-System-_0028GNS-"
245"Zones_0029\">Zones in the GNU Name System (GNS Zones)</a></li> <li><a href="
246"\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos</a></li> </ul>"
247msgstr ""
248
249#: template/about.html.j2:88
250msgid "More Resources"
251msgstr ""
252
253#: template/about.html.j2:90
254msgid ""
255"There are many more resources to learn about GNUnet besides the <a href="
256"\"https://docs.gnunet.org/handbook/gnunet.html\">handbook</a>, such as the "
257"<a href=\"https://bib.gnunet.org/\">bibliography</a> with papers covering "
258"the various layers, many <a href=\"https://gnunet.org/en/video.html"
259"\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html"
260"\">glossary</a>."
261msgstr ""
262
263#: template/about.html.j2:95
264msgid ""
265"You are most welcome to <a href=\"engage.html\">get engaged into the "
266"conversation</a>, <a href=\"install.html\">install GNUnet</a>, <a href=\"use."
267"html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
268"in various ways."
269msgstr ""
270
271#: template/about.html.j2:100
272msgid ""
273"Please be aware that this project is (despite of it's age) still in an early "
274"alpha stage when it comes to software &#8211; its not an easy task to "
275"rewrite the whole Internet!"
276msgstr ""
277
278#: template/about.html.j2:105
279msgid "Current funding"
280msgstr ""
281
282#: template/about.html.j2:110
283msgid ""
284"We're receiving funding from NLnet's Next Generation Internet funding line "
285"to document and implement the GNU Name System protocol in a way suitable for "
286"the IETF standardization process."
287msgstr ""
288
289#: template/about.html.j2:123
290msgid ""
291"We are grateful for free hosting offered by the following organizations:"
292msgstr ""
293
294#: template/about.html.j2:132
295msgid "Past funding"
296msgstr ""
297
298#: template/about.html.j2:134
299msgid "We are grateful for past funding from the following organizations:"
300msgstr ""
301
302#: template/architecture.html.j2:6
303msgid "GNUnet System Architecture"
304msgstr ""
305
306#: template/architecture.html.j2:15
307msgid "Legend"
308msgstr ""
309
310#: template/architecture.html.j2:55
311msgid "Foundations"
312msgstr ""
313
314#: template/architecture.html.j2:57
315msgid ""
316"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
317"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
318"(GNS) and a pluggable transport system (TRANSPORT).<br> Using public keys "
319"for addresses and self-organized decentralized routing algorithms, these "
320"subsystems replace the traditional TCP/IP stack."
321msgstr ""
322
323#: template/architecture.html.j2:70
324msgid "Security"
325msgstr ""
326
327#: template/architecture.html.j2:73
328msgid ""
329"GNUnet is implemented using a multi-process architecture. Each subsystem "
330"runs as a separate process, providing fault-isolation and enabling tight "
331"permissions to be granted to each subsystem. Naturally, the implementation "
332"is a <a href=\"https://www.gnu.org/\">GNU</a> package, and will always "
333"remain free software."
334msgstr ""
335
336#: template/architecture.html.j2:87
337msgid "System architecture"
338msgstr ""
339
340#: template/architecture.html.j2:93
341msgid "Subsystems"
342msgstr ""
343
344#: template/architecture.html.j2:102
345msgid "libgnunetutil"
346msgstr ""
347
348#: template/architecture.html.j2:108
349msgid "APIs"
350msgstr ""
351
352#: template/contact.html.j2:6
353msgid "Contact information"
354msgstr ""
355
356#: template/contact.html.j2:11
357msgid "The mailing list"
358msgstr ""
359
360#: template/contact.html.j2:13
361msgid ""
362"An archived, public mailing list for GNUnet is hosted at <a href=\"https://"
363"lists.gnu.org/mailman/listinfo/gnunet-developers\">https://lists.gnu.org/"
364"mailman/listinfo/gnunet-developers</a>. You can send messages to the list at "
365"<a href=\"mailto:gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
366msgstr ""
367
368#: template/contact.html.j2:23
369msgid "The IRC channel"
370msgstr ""
371
372#: template/contact.html.j2:25
373msgid ""
374"<tt>#gnunet</tt> is reachable via <a href=\"https://freenode.net\">irc."
375"freenode.net</a>. There is also an <a href=\"https://old.gnunet.org/bot/log/"
376"gnunet\">archive</a> available (currently unavailable, we are working on "
377"restoring access to it)."
378msgstr ""
379
380#: template/contact.html.j2:38
381msgid "Contacting individuals"
382msgstr ""
383
384#: template/contact.html.j2:40
385msgid ""
386"GNUnet developers are generally reachable at either <tt>PSEUDONYM@gnunet."
387"org</tt> or <tt>LASTNAME@gnunet.org</tt>. Most of us support receiving GnuPG "
388"encrypted Emails."
389msgstr ""
390
391#: template/contact.html.j2:50
392msgid "Reporting bugs"
393msgstr ""
394
395#: template/contact.html.j2:52
396msgid ""
397"We track open feature requests and bugs for projects within GNUnet in our <a "
398"href=\"https://bugs.gnunet.org/\">Bug tracker</a>. You can also report bugs "
399"or feature requests to the <a href=\"https://lists.gnu.org/mailman/listinfo/"
400"bug-gnunet\">bug-gnunet</a> mailing list. The mailinglist requires no "
401"subscription."
402msgstr ""
403
404#: template/copyright.html.j2:11
405msgid ""
406"<p> Contributors to GNUnet with Git access must sign the <a href=\"/static/"
407"pdf/copyright.pdf\">copyright assignment</a> to ensure that the <a href="
408"\"https://git.gnunet.org/gnunet-ev.git/tree/gnunet_taler_agreement.tex"
409"\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative "
410"development</a> of the GNUnet and GNU Taler projects is satisfied. </p>"
411msgstr ""
412
413#: template/copyright.html.j2:22
414msgid ""
415"<p>The agreements ensure that the code will continue to be made available "
416"under free software licenses, but gives developers the freedom to move code "
417"between GNUnet and GNU Taler without worrying about licenses and to give the "
418"company the ability to dual-license (for example, so that we can distribute "
419"via App-stores that are hostile to free software).</p>"
420msgstr ""
421
422#: template/copyright.html.j2:30
423msgid ""
424"<p>Minor contributions (basically, anyone without Git access) do not require "
425"copyright assignment. Pseudonymous contributions are accepted, in this case "
426"simply sign the agreement with your pseudonym. Scanned copies are "
427"sufficient, but snail mail is preferred.</p>"
428msgstr ""
429
430#: template/developers.html.j2:5
431msgid "GNUnet for developers"
432msgstr ""
433
434#: template/developers.html.j2:13
435msgid "Repositories"
436msgstr ""
437
438#: template/developers.html.j2:16
439msgid ""
440"A list of our Git repositories can be found on our our <a href=\"https://git."
441"gnunet.org/\">Git Server</a>."
442msgstr ""
443
444#: template/developers.html.j2:27
445msgid ""
446"Technical papers can be found in our <a href=\"https://old.gnunet.org/"
447"bibliography\">bibliography</a>."
448msgstr ""
449
450#: template/developers.html.j2:34
451msgid "Discussion"
452msgstr ""
453
454#: template/developers.html.j2:37
455msgid ""
456"We have a mailing list for developer discussions. You can subscribe to or "
457"read the list archive at <a href=\"http://lists.gnu.org/mailman/listinfo/"
458"gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
459"a>."
460msgstr ""
461
462#: template/developers.html.j2:47
463msgid "Regression Testing"
464msgstr ""
465
466#: template/developers.html.j2:50
467msgid ""
468"We have <a href=\"https://buildbot.net/\">Buildbot</a> automation tests to "
469"detect regressions and check for portability at <a href=\"https://old.gnunet."
470"org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
471msgstr ""
472
473#: template/developers.html.j2:59
474msgid "Code Coverage Analysis"
475msgstr ""
476
477#: template/developers.html.j2:62
478msgid ""
479"We use <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\">LCOV</a> to "
480"analyze the code coverage of our tests, the results are available at <a href="
481"\"https://old.gnunet.org/coverage/\">https://old.gnunet.org/coverage/</a>."
482msgstr ""
483
484#: template/developers.html.j2:72
485msgid "Performance Analysis"
486msgstr ""
487
488#: template/developers.html.j2:75
489msgid ""
490"We use <a href=\"https://old.gnunet.org/gauger\">Gauger</a> for performance "
491"regression analysis of the exchange backend at <a href=\"https://old.gnunet."
492"org/gauger/\">https://old.gnunet.org/gauger/</a>."
493msgstr ""
494
495#: template/download.html.j2:7 template/gnurl.html.j2:169
496msgid "Downloads"
497msgstr ""
498
499#: template/download.html.j2:11
500msgid ""
501"Here you can download releases of our software and find links to the various "
502"versions."
503msgstr ""
504
505#: template/download.html.j2:17
506msgid "0.11.x series"
507msgstr ""
508
509#: template/download.html.j2:18
510msgid "tarball"
511msgstr ""
512
513#: template/download.html.j2:20
514msgid ""
515"The tarball of the latest version can be obtained from GNU FTP and its "
516"mirrors."
517msgstr ""
518
519#: template/download.html.j2:30
520msgid "git"
521msgstr ""
522
523#: template/download.html.j2:32
524msgid ""
525"You can fetch the git tag of version 0.11.x from our development server:"
526msgstr ""
527
528#: template/engage.html.j2:6
529msgid "Engage!"
530msgstr ""
531
532#: template/ev.html.j2:6
533msgid "Verein zur F&ouml;rderung von GNUnet e.V."
534msgstr ""
535
536#: template/ev.html.j2:11
537msgid "About GNUnet e.V."
538msgstr ""
539
540#: template/ev.html.j2:13
541msgid ""
542"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
543"\"Verein zur F&ouml;rderung von GNUnet e.V.\", an association under German "
544"law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
545"the association on the 7th of March under VR 205287."
546msgstr ""
547
548#: template/ev.html.j2:22
549msgid ""
550"The association is officially dedicated to supporting research, development "
551"and education in the area of secure decentralized networking in general, and "
552"GNUnet specifically. This is the official website for the association."
553msgstr ""
554
555#: template/ev.html.j2:31
556msgid "Becoming a Member of GNUnet e.V."
557msgstr ""
558
559#: template/ev.html.j2:33
560msgid ""
561"GNUnet developers with git (write) access can become members to participate "
562"in the decision process and formally support GNUnet e.V. For this, all you "
563"have to do is update the <tt>members.txt</tt> file in the <a href=\"https://"
564"git.gnunet.org/gnunet-ev.git/\">gnunet-ev</a> repository. There are no "
565"membership dues; however, members are required to support GNUnet e.V. and in "
566"particularly contribute to the technical development within their means. For "
567"further details, we refer to the <a href=\"https://git.gnunet.org/gnunet-ev."
568"git/\">Satzung</a> (currently only available in German, translations "
569"welcome)."
570msgstr ""
571
572#: template/ev.html.j2:52
573msgid "Governance"
574msgstr ""
575
576#: template/ev.html.j2:54
577msgid ""
578"You can find our \"Satzung\", and the list of members under <a href="
579"\"https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex\">https://git.gnunet."
580"org/gnunet-ev.git/tree/satzung.tex</a>. The current board consists of: "
581"<dl><dt>Vorsitz</dt> <dd><a href=\"https://grothoff.org/christian/"
582"\">Christian Grothoff</a></dd> <dt>stellvertretender Vorsitz</dt> <dd>xrs</"
583"dd> <dt>Kassenwart</dt> <dd>Florian Dold</dd> <dt>Beisitzer</dt> <dd>Lurchi</"
584"dd> </dl>"
585msgstr ""
586
587#: template/ev.html.j2:71
588msgid "Official Meeting Notes"
589msgstr ""
590
591#: template/ev.html.j2:84
592msgid "Support Us!"
593msgstr ""
594
595#: template/ev.html.j2:86
596msgid ""
597"Everybody is welcome to support us via donations. For financial "
598"contributions, Europeans are able to donate via SEPA. We hope to setup "
599"accounts in other major currency areas in the future. You can also donate "
600"via Bitcoin, routing details are given below. Please note that we are unable "
601"to provide receipts for your donations. If you are planning to donate a "
602"significant amount of money, please contact us first as it might be better "
603"to come to a custom arrangement. <dl><dt>BitCoin</dt> "
604"<dd>1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh</dd> <dt>SEPA/IBAN</dt> "
605"<dd>DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)</dd> </dl>"
606msgstr ""
607
608#: template/faq.html.j2:12
609msgid ""
610"I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. "
611"Should I worry?"
612msgstr ""
613
614#: template/faq.html.j2:14
615msgid ""
616"A: Right now, this is expected and a known cause for high latency in GNUnet. "
617"We have started a major rewrite to address this and other problems, but "
618"until the Transport Next Generation (TNG) is ready, these warnings are "
619"expected."
620msgstr ""
621
622#: template/faq.html.j2:23
623msgid "Is there a graphical user interface?"
624msgstr ""
625
626#: template/faq.html.j2:25
627msgid ""
628"A: gnunet-gtk is a separate download. The package contains various GTK+ "
629"based graphical interfaces, including a graphical tool for configuration."
630msgstr ""
631
632#: template/glossary.html.j2:12
633msgid "Ego"
634msgstr ""
635
636#: template/glossary.html.j2:14
637msgid ""
638"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
639"multiple unlinkable identities, in the sense of alter egos. The ability to "
640"have more than one identity is crucial, as we may want to keep our egos for "
641"business separate from those we use for political activities or romance.<br> "
642"Egos in GNUnet are technically equivalent to identities (and the code does "
643"not distinguish between them). We simply sometimes use the term \"ego\" to "
644"stress that you can have more than one."
645msgstr ""
646
647#: template/glossary.html.j2:27
648msgid "Identity"
649msgstr ""
650
651#: template/glossary.html.j2:29
652msgid ""
653"In GNUnet users are identified via a public key, and that public key is then "
654"often referred to as the \"Identity\" of the user. However, the concept is "
655"not as draconian as it often is in real life where many are forced to have "
656"one name, one passport and one unique identification number. <br> As long as "
657"identities in GNUnet are simply public keys, users are free to create any "
658"number of identities, and we call those egos to emphasize the difference. "
659"Even though users can create such egos freely, it is possible to have an ego "
660"certified by some certification authority, resulting in something that more "
661"closely resembles the traditional concept of an identity.<br> For example, a "
662"university may certify the identities of its students such that they can "
663"prove that they are studying. Students may keep their (certified) student "
664"identity separate from other egos that they use for other activities in life."
665msgstr ""
666
667#: template/glossary.html.j2:50
668msgid "Pseudonym"
669msgstr ""
670
671#: template/glossary.html.j2:52
672msgid ""
673"A pseudonym is an ego that is specifically intended to not be linked to "
674"one's real name. GNUnet users can create many egos, and thus also many "
675"pseudonyms. <br> Repeated uses of the same pseudonym are linkable by "
676"definition, as they involve the same public key. Anonymity requires the use "
677"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
678"neutral element on the elliptic curve) or a throw-away pseudonym that is "
679"only used once."
680msgstr ""
681
682#: template/glossary.html.j2:71
683msgid "Namespaces"
684msgstr ""
685
686#: template/glossary.html.j2:73
687msgid ""
688"The GNU Name System allows every ego (or identity) to securely and privately "
689"associate any number of label-value pairs with an ego. The values are called "
690"record sets following the terminology of the Domain Name System (DNS). The "
691"mapping of labels to record sets for a given ego is called a namespace. <br> "
692"If records are made public and thus published, it is possible for other "
693"users to lookup the record given the ego's public key and the label. Here, "
694"not only the label can thus act as a passphrase but also the public key -- "
695"which despite its name may not be public knowledge and is never disclosed by "
696"the GNS protocol itself."
697msgstr ""
698
699#: template/glossary.html.j2:89
700msgid "Peer"
701msgstr ""
702
703#: template/glossary.html.j2:91
704msgid ""
705"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
706"network addresses. Technically, it is possible to run multiple peers on the "
707"same host, but this only makes sense for testing. <br> By design GNUnet "
708"supports multiple users to share the same peer, just as UNIX is a multi-user "
709"system. A \"peer\" typically consists of a set of foundational GNUnet "
710"services running as the \"gnunet\" user and allowing all users in the "
711"\"gnunet\" group to utilize the API. On multi-user systems, additional "
712"\"personalized\" services may be required per user. <br> While peers are "
713"also identified by public keys, these public keys are completely unrelated "
714"to egos or identities. Namespaces cannot be associated with a peer, only "
715"with egos."
716msgstr ""
717
718#: template/gnurl.html.j2:20
719msgid ""
720"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
721"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
722"ensure a small footprint and uniform experience for developers regardless of "
723"how libcurl was compiled.<br> Our main usecase is for GNUnet, but it might "
724"be usable for others, hence we're releasing the code to the general public."
725"<br> libgnurl is released under the same license as libcurl. Please read the "
726"README for instructions, as you must supply the correct options to configure "
727"to get a proper build of libgnurl."
728msgstr ""
729
730#: template/gnurl.html.j2:35
731msgid "About gnurl"
732msgstr ""
733
734#: template/gnurl.html.j2:37
735msgid ""
736"Large parts of the following 6 paragraphs are old and need to be rewritten."
737msgstr ""
738
739#: template/gnurl.html.j2:43
740msgid "Motivation"
741msgstr ""
742
743#: template/gnurl.html.j2:45
744msgid ""
745"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
746"other variants are used by some distributions. Supporting other crypto "
747"backends would again expose us to a wider array of security issues, may "
748"create licensing issues and most importantly introduce new bugs as some "
749"crypto backends are known to introduce subtle runtime issues. While it is "
750"possible to have two versions of libcurl installed on the same system, this "
751"is error-prone, especially as if we are linked against the wrong version, "
752"the bugs that arise might be rather subtle."
753msgstr ""
754
755#: template/gnurl.html.j2:58
756msgid ""
757"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
758"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
759"one links cURL against this version of GnuTLS? Well, first one would install "
760"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
761"it just fine, but the linker will eventually complain bitterly. The reason "
762"is that cURL also links against a bunch of other system libraries (gssapi, "
763"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
764"which --- as they are part of the distribution --- were linked against an "
765"older version of GnuTLS. As a result, the same binary would be linked "
766"against two different versions of GnuTLS. That is typically a recipe for "
767"disaster. Thus, in order to avoid updating a dozen system libraries (and "
768"having two versions of those installed), it is necessary to disable all of "
769"those cURL features that GNUnet does not use, and there are many of those. "
770"For GNUnet, the more obscure protocols supported by cURL are close to dead "
771"code --- mostly harmless, but not useful. However, as some application may "
772"use one of those features, distributions are typically forced to enable all "
773"of those features, and thus including security issues that might arise from "
774"that code."
775msgstr ""
776
777#: template/gnurl.html.j2:82
778msgid ""
779"So to use a modern version of GnuTLS, a sane approach is to disable all of "
780"the \"optional\" features of cURL that drag in system libraries that link "
781"against the older GnuTLS. That works, except that one should then NEVER "
782"install that version of libcurl in say /usr or /usr/local, as that may break "
783"other parts of the system that might depend on these features that we just "
784"disabled. Libtool versioning doesn't help here, as it is not intended to "
785"deal with libraries that have optional features. Naturally, installing cURL "
786"somewhere else is also problematic, as we now need to be really careful that "
787"the linker will link GNUnet against the right version. Note that none of "
788"this can really be trivially fixed by the cURL developers."
789msgstr ""
790
791#: template/gnurl.html.j2:97
792msgid "Rename to fix"
793msgstr ""
794
795#: template/gnurl.html.j2:99
796#, python-format
797msgid ""
798"How does forking fix it? Easy. First, we can get rid of all of the "
799"compatibility issues --- if you use libgnurl, you state that you don't need "
800"anything but HTTP/HTTPS. Those applications that need more, should stick "
801"with the original cURL. Those that do not, can choose to move to something "
802"simpler. As the library gets a new name, we do not have to worry about tons "
803"of packages breaking as soon as one rebuilds it. So renaming itself and "
804"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" "
805"fixes 99%% of the problems that darkened my mood. Note that this pretty much "
806"CANNOT be done without a fork, as renaming is an essential part of the fix. "
807"Now, there might be creative solutions to achieve the same thing within the "
808"standard cURL build system, but I'm not happy to wait for a decade for "
809"Daniel to review the patches. The changes libgnurl makes to curl are "
810"miniscule and can easily be applied again and again whenever libcurl makes a "
811"new release."
812msgstr ""
813
814#: template/gnurl.html.j2:118
815msgid "Using libgnurl"
816msgstr ""
817
818#: template/gnurl.html.j2:120
819msgid ""
820"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
821"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
822"That's it. No changes to the source code should be required, as libgnurl "
823"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
824"cURL. We might add new features relating to this core subset if they are "
825"proposed, but so far we have kept our changes minimal and no additions to "
826"the original curl source have been written."
827msgstr ""
828
829#: template/gnurl.html.j2:133
830msgid "Gotchas"
831msgstr ""
832
833#: template/gnurl.html.j2:135
834msgid ""
835"libgnurl and gnurl are not intended to be used as a replacement for curl for "
836"users. Since no conflicts in filenames should occur you are not expected to "
837"remove curl to make use of gnurl and viceversa."
838msgstr ""
839
840#: template/gnurl.html.j2:149
841msgid "You can get the gnurl git repository using:"
842msgstr ""
843
844#: template/gnurl.html.j2:162
845msgid "The versions are checked in as (signed) git tags."
846msgstr ""
847
848#: template/gnurl.html.j2:171
849msgid ""
850"Releases are published on <a href=\"https://ftpmirror.gnu.org/gnu/gnunet/"
851"\">ftpmirror.gnu.org/gnu/gnunet</a>. gnurl is available from within a "
852"variety of distributions and package managers. Package Managers which "
853"include gnurl are: <a href=\"https://www.gnu.org/software/guix/\">GNU Guix</"
854"a> (available as \"gnurl\"), <a href=\"https://gentoo.org\">Gentoo</a> "
855"through the collaborative ebuild collection <a href=\"https://git.gnunet.org/"
856"youbroketheinternet-overlay.git/\">youbroketheinternet</a>, <a href="
857"\"https://nixos.org/nix/\">Nix</a>, and as www/gnurl in <a href=\"https://"
858"pkgsrc.org\">pkgsrc</a>."
859msgstr ""
860
861#: template/gnurl.html.j2:188
862msgid "Building gnurl"
863msgstr ""
864
865#: template/gnurl.html.j2:190
866msgid ""
867"We suggest to closely follow release announcements, as they might indicate "
868"changes in how gnurl is to be build. <br> If your package manager provides a "
869"binary build or build instructions to build gnurl from source automated and "
870"integrated with your environment, we strongly suggest to use this binary "
871"build. <br> There are two ways to build gnurl. The first one builds from the "
872"most recent git tag, the second one uses the distributed tarball. "
873"Distributors generally are supposed to build from the tarball, but we "
874"describe both methods here. Both methods are written with a NetBSD 9 "
875"userland in mind, substitute tools as necessary. <br> You should <b>avoid</"
876"b> building gnurl from the tip of the default git branch, as only tags are "
877"considered to be stable and approved builds."
878msgstr ""
879
880#: template/gnurl.html.j2:211
881msgid "Building from the distributed tarball (prefered method)"
882msgstr ""
883
884#: template/gnurl.html.j2:213
885msgid ""
886"If you want to verify the signature, install an OpenPGP compatible tool such "
887"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
888msgstr ""
889
890#: template/gnurl.html.j2:227
891msgid "Fetch the signature key from"
892msgstr ""
893
894#: template/gnurl.html.j2:231
895msgid "or via commandline with gnupg2."
896msgstr ""
897
898#: template/gnurl.html.j2:236
899msgid ""
900"Fetch the release, the signature, the checksum file as well as its signature:"
901msgstr ""
902
903#: template/gnurl.html.j2:255
904msgid ""
905"verify the signatures, and verify the checksums against the checksums in "
906"the .sum.txt file."
907msgstr ""
908
909#: template/gnurl.html.j2:261
910msgid "unpack the tarball:"
911msgstr ""
912
913#: template/gnurl.html.j2:271
914msgid "Change into the directory"
915msgstr ""
916
917#: template/gnurl.html.j2:281
918msgid "Now you can either run"
919msgstr ""
920
921#: template/gnurl.html.j2:291
922msgid "directly (and read configure-gnurl before you do so) or invoke"
923msgstr ""
924
925#: template/gnurl.html.j2:301
926msgid ""
927"and pass additional parameters such as a custom PREFIX location. Further "
928"reference can be the"
929msgstr ""
930
931#: template/gnurl.html.j2:306
932msgid "Now run"
933msgstr ""
934
935#: template/gnurl.html.j2:316
936msgid "(this is optional)"
937msgstr ""
938
939#: template/gnurl.html.j2:325
940msgid "and you are done."
941msgstr ""
942
943#: template/gnurl.html.j2:329
944msgid "Building from a tagged git commit"
945msgstr ""
946
947#: template/gnurl.html.j2:331
948msgid ""
949"Follow the steps above, but instead of downloading the tarball, clone the "
950"git tag you want to build from."
951msgstr ""
952
953#: template/gnurl.html.j2:342
954msgid "Reporting Bugs"
955msgstr ""
956
957#: template/gnurl.html.j2:344
958msgid ""
959"You can report bugs on our bug tracker: <a href=\"https://bugs.gnunet.org/"
960"\">bugs.gnunet.org</a>. Alternatively you can use our bug mailinglist, but "
961"we prefer to track bugs on the bugtracker."
962msgstr ""
963
964#: template/gnurl.html.j2:354
965msgid "Maintainer and Cryptographic signatures"
966msgstr ""
967
968#: template/gnurl.html.j2:356
969msgid ""
970"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP "
971"Key <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, with the key "
972"fingerprint <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>."
973msgstr ""
974
975#: template/gsoc-2018-gnunet-webui.html.j2:7
976msgid "GSoC 2018: GNUnet WebUI"
977msgstr ""
978
979#: template/gsoc-2018-gnunet-webui.html.j2:11
980msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
981msgstr ""
982
983#: template/gsoc-2018-gnunet-webui.html.j2:17
984msgid ""
985"<strong>What was done?</strong><br /> In the context of Google Summer of "
986"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and "
987"extending the REST API of GNUnet. Currently, we mirrored the functionality "
988"of following commands:"
989msgstr ""
990
991#: template/gsoc-2018-gnunet-webui.html.j2:32
992msgid ""
993"Additionally, we developed a website with the Javascript framework Angular 6 "
994"and the design framework iotaCSS to use the new REST API. The REST API of "
995"GNUnet is now documented with Sphinx."
996msgstr ""
997
998#: template/gsoc-2018-gnunet-webui.html.j2:40
999msgid ""
1000"<strong>Why did we create a REST API?</strong><br /> ... when you can use "
1001"the command line tools?<br /> We need to keep in mind, that everyone has the "
1002"right to stay secure and private but not everyone feels comfortable using a "
1003"terminal. The further developed REST access to GNUnet APIs in addition to "
1004"the new web application allows new users to interact with GNUnet over a well "
1005"known tool: their browsers. This addition to the C API and the command line "
1006"tools may attract new users and developers."
1007msgstr ""
1008
1009#: template/gsoc-2018-gnunet-webui.html.j2:52
1010msgid ""
1011"<strong>How can we use it?</strong><br /> 1. The REST API developed in "
1012"GNUnet<br /> The REST API is already merged into the gnunet.git repository "
1013"(<a href=\"https://gnunet.org/git/gnunet.git/\">GNUnet Main Git</a>).<br /> "
1014"To use the new features, clone the repository and follow the <a href="
1015"\"https://gnunet.org/en/install.html\">Installation</a> on gnunet.org. Then, "
1016"start the rest service with \"gnunet-arm -i rest\"."
1017msgstr ""
1018
1019#: template/gsoc-2018-gnunet-webui.html.j2:63
1020msgid ""
1021"2. The Web Application<br /> The web application is available under the "
1022"gnunet-webui.git repository (<a href=\"https://gnunet.org/git/gnunet-webui."
1023"git/\">GNUnet WebUI Git</a>).<br /> You need to install the newest version "
1024"of 'node' and 'yarn'. Dependent on your system, you may need to download "
1025"newer versions and install them manually and not over your packet manager. "
1026"After the installation succeeded, you need to clone the repository. Then, "
1027"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To "
1028"deploy the website (keep in mind, that this website communicates with "
1029"another localhost instance) use \"yarn build\" for building the web "
1030"application and use the output in the 'dist' directory."
1031msgstr ""
1032
1033#: template/gsoc-2018-gnunet-webui.html.j2:80
1034msgid ""
1035"3. The Documentation<br /> The documentation is available under the gnunet-"
1036"rest-api.git repository (<a href=\"https://gnunet.org/git/gnunet-rest-api."
1037"git/\">GNUnet REST API Docmentation Git</a>).<br /> Clone the repository and "
1038"\"make html\". Then open the 'index.html' under 'build/html/'."
1039msgstr ""
1040
1041#: template/gsoc-2018-gnunet-webui.html.j2:91
1042msgid ""
1043"Please, give it a try and contact me, if you find any bugs or unintentional "
1044"features. ;)"
1045msgstr ""
1046
1047#: template/gsoc-2018-gnunet-webui.html.j2:97
1048msgid ""
1049"<strong>What can be improved?</strong><br /> Right now, the build process of "
1050"the web application may be a little too complex for a casual user. We may be "
1051"able to solve this by using docker.<br /> Additionally, the web application "
1052"does not prevent wrong inputs but responds with error messages. Adding "
1053"GNUnet Records is currently only usable for people, who know how a GNS "
1054"Record looks like. This can be adapted to each record type.<br /> Last but "
1055"not least, additional features, design changes, etc..."
1056msgstr ""
1057
1058#: template/gsoc-2018-gnunet-webui.html.j2:111
1059msgid "Thanks for reading."
1060msgstr ""
1061
1062#: template/gsoc.html.j2:6
1063msgid "GNUnet's Google Summer of Code projects"
1064msgstr ""
1065
1066#: template/gsoc.html.j2:12 template/gsoc.html.j2:28
1067msgid "Current projects"
1068msgstr ""
1069
1070#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
1071msgid "Past projects"
1072msgstr ""
1073
1074#: template/gsoc.html.j2:14 template/gsoc.html.j2:553
1075msgid "Finished projects"
1076msgstr ""
1077
1078#: template/gsoc.html.j2:21
1079msgid ""
1080"As a GNU project, GNUnet has participated in the Google Summer of Code "
1081"(GSoC) for a number of years. This page lists all current, past, and "
1082"finished projects."
1083msgstr ""
1084
1085#: template/gsoc.html.j2:37
1086msgid ""
1087"It is time for GNUnet to run properly on Android. Note that GNUnet is "
1088"written in C, and this is not about rewriting GNUnet in Java, but about "
1089"getting the C code to run on Android."
1090msgstr ""
1091
1092#: template/gsoc.html.j2:44
1093msgid ""
1094"<strong>Mentors:</strong> <a href=\"https://www.goebel-consult.de/\">Hartmut "
1095"Goebel</a>"
1096msgstr ""
1097
1098#: template/gsoc.html.j2:53
1099msgid ""
1100"There is a push for migrating our CI to Gitlab. The CI should eventually not "
1101"just run \"make check\" on various platforms, but also perform tests with "
1102"multiple peers running in different VMs with specific network topologies (i."
1103"e. NAT) between them being simulated. The CI should also be integrated with "
1104"Gauger for performance regression analysis. Running jobs only when "
1105"dependencies have changed and scripting more granular triggers or ideally "
1106"automatic dependency discovery (as done by the autotools) is also important."
1107msgstr ""
1108
1109#: template/gsoc.html.j2:65
1110msgid "<strong>Mentors:</strong> TBD"
1111msgstr ""
1112
1113#: template/gsoc.html.j2:74
1114msgid ""
1115"reclaimID is a decentralized identity system build on top of the GNU Name "
1116"System. Upon authorization, the user provides a requesting party (RP) such "
1117"as a website with an authorization ticket (e.g. piggybacked in an OpenID "
1118"authorization code). The RP uses information contained in this ticket to "
1119"<ol> <li> Retrieve the decryption key from GNS</li> <li> Retrieve the user "
1120"attributes from GNS</li> </ol> The GNS lookups ensure that the RP receives "
1121"up-to-date attributes and functional decryption keys. However, in particular "
1122"the RP-specific encryption key resolution can be slow and even fail "
1123"depending on the network topology. We propose that in an initial exchange, "
1124"in particular OpenID authorization code flows, we try to incorporate key and "
1125"maybe even an attribute set in the ticket exchange. In order to mitigate "
1126"this issue, this project is meant to investigate and implement how... <ol> "
1127"<li> ... decryption keys can be added to an initial exchange in OpenID.</li> "
1128"<li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> </"
1129"ol> <br/> <strong>Mentors:</strong> Martin Schanzenbach"
1130msgstr ""
1131
1132#: template/gsoc.html.j2:105
1133msgid ""
1134"re:claimID is a decentralized identity system build on top of the GNU Name "
1135"System. The initial design and implementation of re:claimID includes an "
1136"attribute-based encryption module in order to prevent unauthorized access to "
1137"attributes in the name system. Our motivation for re:claimID was for it to "
1138"be name system agnostic, which means the design theoretically also works for "
1139"other name systems such as namecoin. Other name systems often do not have "
1140"built-in mechanisms in order to do this. Hence, we implemented an ABE access "
1141"control layer. Our ABE implementation requires two third party libraries: "
1142"libpbc and libgabe. While we could merge libgabe into the gnunet service "
1143"implementation of re:claimID, libpbc is a rather large, third party library "
1144"which lacks packaging in distributions and for platforms. On the other hand, "
1145"GNS supports record data encryption using symmetric keys as labels. If we "
1146"make the access control layer of re:claimID more generic in order to support "
1147"both ABE and GNS encryption, we could reduce the required depenencies. This "
1148"would result in gnunet packages to include re:claimID by default. In short, "
1149"the goals are to... <ol> <li> ... improve performance by reducing encryption "
1150"overhead.</li> <li> ... reduce dependencies.</li> </ol> <br/> "
1151"<strong>Mentors:</strong> Martin Schanzenbach"
1152msgstr ""
1153
1154#: template/gsoc.html.j2:140
1155msgid ""
1156"One great problem of the current Internet is the lack of disintermediation. "
1157"When people want to talk they need a chat service. When they want to share "
1158"files they need a file transfer service. Although GNUnet already possesses "
1159"quite advanced integration into Linux networking, a little extra work is "
1160"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
1161"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
1162"Once people have added a person to their GNS they can immediately message, "
1163"exchange files and suchlike directly, with nothing but the GNUnet in the "
1164"middle, using applications that have been distributed with unix systems ever "
1165"since the 1980's. We can produce an OS distribution where these things work "
1166"out of the box with the nicknames of people instead of cloud services. For "
1167"more information and context, read"
1168msgstr ""
1169
1170#: template/gsoc.html.j2:161
1171msgid "<strong>Mentors:</strong> lynX &amp; dvn"
1172msgstr ""
1173
1174#: template/gsoc.html.j2:169
1175msgid ""
1176"There are a variety of GNUNet APIs that should be exposed in the Rust "
1177"wrappers. Implementing these will require extending the port of GNUNet utils "
1178"written by Andrew Cann and Kelong Cong."
1179msgstr ""
1180
1181#: template/gsoc.html.j2:177
1182msgid ""
1183"As an introduction to the code base, we suggest that the student and Jeff "
1184"Burdges together update the asynchronous IO system from gjio to futures-rs "
1185"or another layer built upon it. Jeff Burdges is expected to concurrently be "
1186"implementing a GNUNet API for his own mix network work."
1187msgstr ""
1188
1189#: template/gsoc.html.j2:187 template/gsoc.html.j2:211
1190#: template/gsoc.html.j2:265 template/gsoc.html.j2:295
1191#: template/gsoc.html.j2:539
1192msgid "<strong>Mentors:</strong> Jeff Burdges"
1193msgstr ""
1194
1195#: template/gsoc.html.j2:192
1196msgid "Required Skills: Rust"
1197msgstr ""
1198
1199#: template/gsoc.html.j2:197
1200msgid "Difficulty level: low"
1201msgstr ""
1202
1203#: template/gsoc.html.j2:205
1204msgid ""
1205"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
1206msgstr ""
1207
1208#: template/gsoc.html.j2:216
1209msgid ""
1210"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
1211"using GNS over Tor too, but currently that's on hold until folks think more "
1212"about how names should be moved around the local system. We're calling this "
1213"more collaborative approach NSS2 for now."
1214msgstr ""
1215
1216#: template/gsoc.html.j2:225 template/gsoc.html.j2:399
1217#: template/gsoc.html.j2:439 template/gsoc.html.j2:469
1218msgid "Required Skills: C"
1219msgstr ""
1220
1221#: template/gsoc.html.j2:230 template/gsoc.html.j2:474
1222#: template/gsoc.html.j2:619
1223msgid "Difficulty level: medium"
1224msgstr ""
1225
1226#: template/gsoc.html.j2:238
1227msgid ""
1228"Design and implementation of <a href=\"http://jsonapi.org/\">REST APIs</a> "
1229"that expose the <a href=\"https://docs.gnunet.org/doxygen/modules.html"
1230"\">GNUnet API</a> so that easy, hands-on development is possible. Also, "
1231"browser-based UIs will be much easier to create on top of REST APIs."
1232msgstr ""
1233
1234#: template/gsoc.html.j2:249 template/gsoc.html.j2:609
1235msgid "<strong>Mentors:</strong> Martin Schanzenbach"
1236msgstr ""
1237
1238#: template/gsoc.html.j2:257
1239msgid ""
1240"Improve the Rust implementation of GNUnet utils, possibly including adding "
1241"support for asynchronous IO using mio, or perhaps a higher level "
1242"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
1243"gj."
1244msgstr ""
1245
1246#: template/gsoc.html.j2:273
1247msgid ""
1248"Implement rudimentary Android compatibility for GNUnet, in part by porting "
1249"the GNUnet utils scheduler to act as a thin wrapper over libuv."
1250msgstr ""
1251
1252#: template/gsoc.html.j2:280
1253msgid "<strong>Mentors:</strong> Jeff Burdges and Christian Grothoff"
1254msgstr ""
1255
1256#: template/gsoc.html.j2:288 template/gsoc.html.j2:532
1257msgid ""
1258"Implementation of a replacement for PANDA (see Pond) with better security, "
1259"and maybe integration with the GNU Name System for key exchange."
1260msgstr ""
1261
1262#: template/gsoc.html.j2:300
1263msgid "Required Skills: Rust or C, crypto"
1264msgstr ""
1265
1266#: template/gsoc.html.j2:305 template/gsoc.html.j2:362
1267#: template/gsoc.html.j2:404 template/gsoc.html.j2:444
1268msgid "Difficulty level: high"
1269msgstr ""
1270
1271#: template/gsoc.html.j2:313
1272msgid ""
1273"Implement different place types and file sharing by creating a new place for "
1274"the shared content."
1275msgstr ""
1276
1277#: template/gsoc.html.j2:319
1278msgid "Place types to be implemented:"
1279msgstr ""
1280
1281#: template/gsoc.html.j2:323
1282msgid ""
1283"<ul> <li>File: generic file with comments</li> <li>Image: display an image "
1284"with comments referencing a region of the image</li> <li>Sound: play a sound "
1285"file with comments referencing a timestamp</li> <li>Directory/Album: "
1286"pointers to File / Image / Sound places</li> <li>Event: with RSVP</li> "
1287"<li>Survey: ask your social neighborhood questions in a structured form</li> "
1288"</ul>"
1289msgstr ""
1290
1291#: template/gsoc.html.j2:334
1292msgid "Also provide the following UI functionality:"
1293msgstr ""
1294
1295#: template/gsoc.html.j2:338
1296msgid ""
1297"<ul> <li>Fork existing channels, reorganize people into new chatrooms or "
1298"channels.</li> <li>Share a post (edit and repost something elsewhere, on a "
1299"fan page for example).</li> <li>Edit a previously published post + offer "
1300"edit history to readers.</li> <li>Control expiry of channel history.</li> </"
1301"ul>"
1302msgstr ""
1303
1304#: template/gsoc.html.j2:347
1305msgid ""
1306"See also <a href=\"http://secushare.org/features\">http://secushare.org/"
1307"features</a>"
1308msgstr ""
1309
1310#: template/gsoc.html.j2:352
1311msgid "<strong>Mentors:</strong> lynX"
1312msgstr ""
1313
1314#: template/gsoc.html.j2:357
1315msgid "Required Skills: C/C++"
1316msgstr ""
1317
1318#: template/gsoc.html.j2:370
1319msgid ""
1320"Implement aggregation of distributed state from various channels in order to "
1321"provide for a powerful social graph API capable of producing social network "
1322"profiles, dashboards, a calendar out of upcoming event invitations (if "
1323"available), social search functionality and most of all to make it easy for "
1324"users to adopt cryptographic identities of their contacts/friends simply by "
1325"finding them in the social graph of their existing contacts (\"This is "
1326"Linda. You have 11 contacts in common with her. [ADD]\")."
1327msgstr ""
1328
1329#: template/gsoc.html.j2:388
1330msgid ""
1331"Related to <a href=\"http://secushare.org/rendezvous\">secushare.org/"
1332"rendezvous</a>"
1333msgstr ""
1334
1335#: template/gsoc.html.j2:394 template/gsoc.html.j2:434
1336msgid "<strong>Mentors:</strong> t3sserakt, lynX"
1337msgstr ""
1338
1339#: template/gsoc.html.j2:411
1340msgid ""
1341"<ul> <li> Emulate IMAP/SMTP protocols as necessary to transform traditional "
1342"mail clients into secushare user interfaces. </li> <li> Think of ways to map "
1343"e-mail addresses to secushare identities. </li> <li> Encode or translate "
1344"various e-mail features into secushare equivalents. </li> <li> Parts of "
1345"secushare are currently written in Rust, therefore Rust is preferred for "
1346"this task but it is not an requirement. </li> </ul>"
1347msgstr ""
1348
1349#: template/gsoc.html.j2:452
1350msgid ""
1351"Implementation of the GNUnet auction system described in Chapter 3 of <a "
1352"href=\"https://grothoff.org/christian/teich2017ms.pdf\">this thesis</a>. "
1353"Specific tasks are adding smart contract creation and round time enforcement "
1354"to libbrandt as well as creating the GNUnet auction service, library and the "
1355"three user interface programs create, info and join."
1356msgstr ""
1357
1358#: template/gsoc.html.j2:464
1359msgid "<strong>Mentors:</strong> mate, cg"
1360msgstr ""
1361
1362#: template/gsoc.html.j2:482
1363msgid ""
1364"Implementation of additional transports to make GNUnet communication more "
1365"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
1366"over-DNS"
1367msgstr ""
1368
1369#: template/gsoc.html.j2:489 template/gsoc.html.j2:503
1370msgid "<strong>Mentors:</strong> Matthias Wachs"
1371msgstr ""
1372
1373#: template/gsoc.html.j2:497
1374msgid ""
1375"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
1376"punching, better STUN support)"
1377msgstr ""
1378
1379#: template/gsoc.html.j2:511
1380msgid ""
1381"<strong>Mentors:</strong> Matthias Wachs, Christian Grothoff, Jeff Burdges"
1382msgstr ""
1383
1384#: template/gsoc.html.j2:519
1385msgid ""
1386"Improving libaboss to make computation on shared secrets (including repeated "
1387"multiplication) based on <a href=\"https://dl.acm.org/citation.cfm?"
1388"doid=62212.62213\">Ben-Or et al.</a> if possible. This in particular means "
1389"moving libaboss to bignums (gcry_mpi)."
1390msgstr ""
1391
1392#: template/gsoc.html.j2:547
1393msgid ""
1394"Please refer to the description for this project listed under GNU Guix "
1395"project ideas."
1396msgstr ""
1397
1398#: template/gsoc.html.j2:559
1399msgid ""
1400"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
1401"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
1402"around python-zbar, which itself wraps libzbar. The goal of this project is "
1403"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
1404"(see also <a href=\"https://bugs.gnunet.org/view.php?id=5562\">#5562</a>)."
1405msgstr ""
1406
1407#: template/gsoc.html.j2:569
1408msgid "<strong>Mentors:</strong> Christian Grothoff"
1409msgstr ""
1410
1411#: template/gsoc.html.j2:574
1412msgid "Required Skills:"
1413msgstr ""
1414
1415#: template/gsoc.html.j2:579
1416msgid "Difficulty level:"
1417msgstr ""
1418
1419#: template/gsoc.html.j2:584
1420msgid "Report:"
1421msgstr ""
1422
1423#: template/gsoc.html.j2:589
1424msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
1425msgstr ""
1426
1427#: template/gsoc.html.j2:599
1428msgid ""
1429"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
1430"to be determined framework such as Angular2. This includes the design and "
1431"implementation of not yet existing <a href=\"http://jsonapi.org/\">REST "
1432"APIs</a> that expose the <a href=\"https://docs.gnunet.org/doxygen/modules."
1433"html\">GNUnet API</a>."
1434msgstr ""
1435
1436#: template/gsoc.html.j2:614
1437msgid "Required Skills: C, JavaScript, CSS"
1438msgstr ""
1439
1440#: template/gsoc.html.j2:624
1441msgid ""
1442"Report: <a href=\"gsoc-2018-gnunet-webui.html\">GSoC 2018: GNUnet WebUI</a>"
1443msgstr ""
1444
1445#: template/index.html.j2:19
1446msgid ""
1447"GNUnet is a new network protocol stack for building secure, distributed, and "
1448"privacy-preserving applications. With strong roots in <a href=\"https://bib."
1449"gnunet.org\">academic research</a>, our goal is to replace the <a href="
1450"\"https://secushare.org/broken-internet\">old insecure Internet</a> protocol "
1451"stack."
1452msgstr ""
1453
1454#: template/index.html.j2:29
1455msgid ""
1456"GNUnet is typically run as an <a href=\"https://en.wikipedia.org/wiki/"
1457"Overlay_network\">overlay network</a> on top of the existing Internet "
1458"infrastructure forming the basis of a hybrid <a href=\"architecture.html"
1459"\">peer-to-peer mesh and relay backbone</a> for applications to run on. It "
1460"could just as well be run independently of the Internet, over <a href="
1461"\"https://en.wikipedia.org/wiki/Physical_layer\">dedicated radio and cable</"
1462"a>."
1463msgstr ""
1464
1465#: template/index.html.j2:38
1466msgid ""
1467"GNUnet is made for a free and open society: It&#39;s a self-organizing "
1468"network and it is <a href=\"http://www.gnu.org/philosophy/free-sw.html"
1469"\">free software</a> as in freedom. GNUnet puts you in control of your data. "
1470"You determine which data to share with whom, and you&#39;re not pressured to "
1471"accept compromises."
1472msgstr ""
1473
1474#: template/index.html.j2:89
1475msgid "The Internet of tomorrow needs GNUnet today"
1476msgstr ""
1477
1478#: template/index.html.j2:95
1479msgid "Imagine..."
1480msgstr ""
1481
1482#: template/index.html.j2:97
1483msgid ""
1484"The conventional Internet is currently like a system of roads with deep "
1485"potholes and highwaymen all over the place. Even if you still can use the "
1486"roads (e.g. send emails, or browse websites) your vehicle might get "
1487"hijacked, damaged, or long arms might reach into its back and steal your "
1488"items (data) to use it against you and sell it to others - while you can&#39;"
1489"t even notice the thievery nor accuse and hold the scroungers accountable. "
1490"<!-- Proposal from Fabian Gerlach: The conventional Internet is currently "
1491"like a system of roads with deep potholes and surveillance cameras all over "
1492"the place. Even if you still can use the roads (e.g. send emails, or browse "
1493"websites) your vehicle might gets damaged. And the surveillance cameras will "
1494"create a movement profile about your life: They recognize your car license "
1495"plate, track you everywhere you drive, and save this information in a "
1496"central data base. -->"
1497msgstr ""
1498
1499#: template/index.html.j2:121
1500msgid "The Internet is broken"
1501msgstr ""
1502
1503#: template/index.html.j2:123
1504msgid ""
1505"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: "
1506"protecting against address forgery, routers learning metadata, or choosing "
1507"trustworthy CAs is nontrivial and sometimes impossible. <!-- Proposal from "
1508"Fabian Gerlach: The Internet is not designed with security in mind: The "
1509"network generally learns too much about users; it has insecure defaults and "
1510"high complexity; and it is centralized. That makes it very vulnerable for "
1511"multiple attacks massively threatening our freedom. -->"
1512msgstr ""
1513
1514#: template/index.html.j2:137
1515msgid ""
1516"GNUnet provides <a href=\"https://www.w3.org/2014/strint/papers/65.pdf"
1517"\">privacy by design</a>, improving addressing, routing, naming and content "
1518"distribution in a technically robust manner - as opposed to ad-hoc designs "
1519"in place today. <!-- Proposal from fabian gerlach: GNUnet is built <a href="
1520"\"https://www.w3.org/2014/strint/papers/65.pdf\">\"privacy by design\"</a> "
1521"and \"distributed by design\". This improves addressing, routing, naming and "
1522"content distribution in a technically robust manner. -->"
1523msgstr ""
1524
1525#: template/index.html.j2:155
1526msgid "Decentralization is hard"
1527msgstr ""
1528
1529#: template/index.html.j2:158
1530msgid ""
1531"<!-- replaced with Proposal from Fabian Gerlach: It seems as if every other "
1532"distributed or P2P project develops its own library stack, covering "
1533"transports, stream muxing, discovery and others. This divides effort and "
1534"multiplies bug count. --> Instead of sharing common components and tools for "
1535"building P2P systems, every P2P project seems to re-invent the wheel. <!-- "
1536"TODO: rework this sentence. --> This heightens the effort and increases the "
1537"potential number of vulnerabilities."
1538msgstr ""
1539
1540#: template/index.html.j2:174
1541msgid ""
1542"GNUnet is a metadata-preserving foundation for your application, covering "
1543"areas from addressing to reliable bidirectional Axolotl-encrypted channels, "
1544"with advanced routing. Our work is based on continuous research spanning "
1545"almost two decades."
1546msgstr ""
1547
1548#: template/index.html.j2:188
1549msgid "Metadata is exposed"
1550msgstr ""
1551
1552#: template/index.html.j2:190
1553msgid ""
1554"Your metadata is just as revealing as the actual content; and it gets "
1555"exposed on the Internet.<br> Even though transport encryption is "
1556"increasingly being deployed on the Internet, it still reveals data that can "
1557"threaten democracy: the identities of senders and receivers, the times, "
1558"frequency and the volume of communication are all still revealed.<br> <!-- "
1559"Looks like a weak argumentation to me: which <a href=\"https://www.freehaven."
1560"net/anonbib/cache/websitefingerprinting-pets2016.pdf\">enables reverse-"
1561"engineering pages visited via website fingerprinting</a>. --> GNUnet <a href="
1562"\"https://secushare.org/anonymity\">addresses</a> these concerns with "
1563"perfect forward secrecy via ephemeral public key addressing, fixed packet "
1564"size to hinder traffic analysis, layered encryption, Sybil-resistant "
1565"routing, and more."
1566msgstr ""
1567
1568#: template/index.html.j2:213
1569msgid "Freedoms are not respected"
1570msgstr ""
1571
1572#: template/index.html.j2:215
1573msgid ""
1574"Today, monitoring increasingly centralized infrastructure, proprietary "
1575"implementations, traffic shapers and firewalls restrict all of the <a href="
1576"\"https://www.gnu.org/philosophy/free-sw.html\">essential freedoms</a> to "
1577"various degrees."
1578msgstr ""
1579
1580#: template/index.html.j2:224
1581msgid ""
1582"GNUnet gives users freedoms to securely access information (\"run\" the "
1583"network), to study all aspects of the network&#39;s operation (\"access the "
1584"code\"), to distribute information (\"copy\"), as well as the freedom to "
1585"deploy new applications (\"modify\")."
1586msgstr ""
1587
1588#: template/index.html.j2:236
1589msgid "Learn more about GNUnet"
1590msgstr ""
1591
1592#: template/index.html.j2:238
1593msgid ""
1594"If you want to know more about the GNUnet please continue reading the <a "
1595"href=\"about.html\">about page</a>. There are much more resources, such as "
1596"the <a href=\"https://docs.gnunet.org\">main handbook / reference manual</"
1597"a>, a <a href=\"https://bib.gnunet.org/\">bibliography</a> and <a href="
1598"\"https://gnunet.org/en/video.html\">videos</a>."
1599msgstr ""
1600
1601#: template/index.html.j2:247
1602msgid ""
1603"You are very welcome to <a href=\"https://gnunet.org/en/engage.html\"> get "
1604"engaged into the conversation</a>, <a href=\"https://gnunet.org/en/install."
1605"html\">install GNUnet</a>, <a href=\"https://gnunet.org/en/use.html\">use "
1606"it</a> and <a href=\"https://gnunet.org/en/engage.html\">contribute</a>. "
1607"<br> Be aware that this project is still in an early alpha stage when it "
1608"comes to software &#8211; it is not an easy task to rewrite the whole "
1609"Internet!"
1610msgstr ""
1611
1612#: template/index.html.j2:269
1613msgid "Featured Applications"
1614msgstr ""
1615
1616#: template/index.html.j2:275
1617msgid "GNU Taler (Alpha)"
1618msgstr ""
1619
1620#: template/index.html.j2:277
1621msgid ""
1622"<a href=\"https://taler.net/\">GNU Taler</a> is a new privacy-preserving "
1623"electronic payment system. Payments are cryptographically secured and are "
1624"confirmed within milliseconds with extremely low transaction costs."
1625msgstr ""
1626
1627#: template/index.html.j2:289
1628msgid "The GNU Name System"
1629msgstr ""
1630
1631#: template/index.html.j2:292
1632msgid ""
1633"<!-- The <a href=\"use.html#gns\">GNU Name System (GNS)</a> --> The <a href="
1634"\"https://docs.gnunet.org/handbook/gnunet.html#The-GNU-Name-System\">GNU "
1635"Name System (GNS)</a> is a fully decentralized replacement for the Domain "
1636"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. "
1637"Naming conventions are similar to DNS, but queries and replies are private "
1638"even with respect to peers providing the answers. The integrity of records "
1639"and privacy of look-ups is cryptographically secured. <!-- Too technical: "
1640"GNS integrates a robust, efficient and instant key revocation mechanism. -->"
1641msgstr ""
1642
1643#: template/index.html.j2:309
1644msgid "re:claimID"
1645msgstr ""
1646
1647#: template/index.html.j2:311
1648msgid ""
1649"<a href=\"https://reclaim-identity.io/\">re:claimID</a> is a decentralized "
1650"Identity Provider (IdP) service built in top of the GNU Name System. It "
1651"allows users to securely share personal information with websites using "
1652"standardized protocols (OpenID Connect)."
1653msgstr ""
1654
1655#: template/index.html.j2:324
1656msgid "Filesharing (Alpha)"
1657msgstr ""
1658
1659#: template/index.html.j2:326
1660msgid ""
1661"GNUnet <a href=\"use.html#fs\">filesharing</a> is an application that aims "
1662"to provide censorship-resistant, anonymous filesharing. The publisher is "
1663"empowered to make a gradual choice between performance and anonymity."
1664msgstr ""
1665
1666#: template/index.html.j2:337
1667msgid "Conversation (Pre-Alpha)"
1668msgstr ""
1669
1670#: template/index.html.j2:339
1671msgid ""
1672"GNUnet conversation is an application that provides secure voice "
1673"communication in a fully decentralized way by employing GNUnet for routing "
1674"and transport."
1675msgstr ""
1676
1677#: template/index.html.j2:355
1678msgid "Upcoming Applications"
1679msgstr ""
1680
1681#: template/index.html.j2:361
1682msgid "secushare"
1683msgstr ""
1684
1685#: template/index.html.j2:363
1686msgid ""
1687"<a href=\"https://secushare.org/\">secushare</a> is creating a decentralized "
1688"social networking application on top of GNUnet. Using overlay multicast and "
1689"the extensible PSYC protocol, notifications are distributed end-to-end "
1690"encrypted to authorized recipients only."
1691msgstr ""
1692
1693#: template/index.html.j2:375
1694msgid "pretty Easy privacy"
1695msgstr ""
1696
1697#: template/index.html.j2:377
1698msgid ""
1699"<a href=\"https://pep.foundation/\">pretty Easy privacy</a> (p&#8801;p) is "
1700"creating a usable end-to-end encrypted e-mail solution using opportunistic "
1701"key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
1702"cryptographic protocols to verify keys."
1703msgstr ""
1704
1705#: template/install-on-archpi.html.j2:6
1706msgid "Tutorial: GNUnet on Arch Linux/Pi"
1707msgstr ""
1708
1709#: template/install-on-archpi.html.j2:16
1710msgid "Requirements for Raspberry Pi 3"
1711msgstr ""
1712
1713#: template/install-on-archpi.html.j2:40
1714msgid "Get the Source Code"
1715msgstr ""
1716
1717#: template/install-on-archpi.html.j2:62
1718#: template/install-on-debian9.html.j2:130
1719msgid "In Addition: gnunet-gtk"
1720msgstr ""
1721
1722#: template/install-on-archpi.html.j2:79
1723msgid "Run"
1724msgstr ""
1725
1726#: template/install-on-archpi.html.j2:131
1727msgid "Make sure, it works!"
1728msgstr ""
1729
1730#: template/install-on-debian9.html.j2:6
1731msgid "Tutorial: GNUnet on Debian 9"
1732msgstr ""
1733
1734#: template/install-on-debian9.html.j2:9
1735#: template/install-on-ubuntu1804.html.j2:9
1736msgid "Introduction"
1737msgstr ""
1738
1739#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17
1740#: template/install-on-netbsd.html.j2:19
1741#: template/install-on-ubuntu1804.html.j2:26
1742msgid "Requirements"
1743msgstr ""
1744
1745#: template/install-on-debian9.html.j2:45
1746#: template/install-on-ubuntu1804.html.j2:41
1747msgid "Make an installation directory"
1748msgstr ""
1749
1750#: template/install-on-debian9.html.j2:59
1751#: template/install-on-macos.html.j2:134
1752#: template/install-on-netbsd.html.j2:224
1753#: template/install-on-ubuntu1804.html.j2:53
1754msgid "Get the source code"
1755msgstr ""
1756
1757#: template/install-on-debian9.html.j2:78
1758#: template/install-on-macos.html.j2:142
1759#: template/install-on-netbsd.html.j2:232
1760#: template/install-on-ubuntu1804.html.j2:61
1761msgid "Compile and Install"
1762msgstr ""
1763
1764#: template/install-on-debian9.html.j2:103
1765#: template/install-on-ubuntu1804.html.j2:70
1766msgid "Option 1: GNUnet for testing / usage"
1767msgstr ""
1768
1769#: template/install-on-debian9.html.j2:116
1770#: template/install-on-ubuntu1804.html.j2:82
1771msgid "Option 2: GNUnet for development"
1772msgstr ""
1773
1774#: template/install-on-debian9.html.j2:153
1775#: template/install-on-ubuntu1804.html.j2:97
1776msgid "Install GNUnet plugin for name resolution"
1777msgstr ""
1778
1779#: template/install-on-debian9.html.j2:207
1780#: template/install-on-ubuntu1804.html.j2:134
1781msgid "Create configuration file"
1782msgstr ""
1783
1784#: template/install-on-debian9.html.j2:227
1785#: template/install-on-ubuntu1804.html.j2:156
1786msgid "Use GNUnet!"
1787msgstr ""
1788
1789#: template/install-on-debian9.html.j2:232
1790#: template/install-on-ubuntu1804.html.j2:162
1791msgid "Uninstall GNUnet and its dependencies"
1792msgstr ""
1793
1794#: template/install-on-macos.html.j2:6
1795msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
1796msgstr ""
1797
1798#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30
1799msgid "Installation"
1800msgstr ""
1801
1802#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102
1803msgid "First steps"
1804msgstr ""
1805
1806#: template/install-on-macos.html.j2:109
1807#: template/install-on-netbsd.html.j2:182
1808msgid "Alternative: Installation from source"
1809msgstr ""
1810
1811#: template/install-on-macos.html.j2:154
1812#: template/install-on-netbsd.html.j2:242
1813msgid "Option 1: GNUnet for production / usage"
1814msgstr ""
1815
1816#: template/install-on-macos.html.j2:187
1817#: template/install-on-netbsd.html.j2:267
1818msgid "Option 2: GNUnet experimental"
1819msgstr ""
1820
1821#: template/install-on-netbsd.html.j2:6
1822msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
1823msgstr ""
1824
1825#: template/install-on-ubuntu1804.html.j2:6
1826msgid "Tutorial: GNUnet on Ubuntu 18.04"
1827msgstr ""
1828
1829#: template/install.html.j2:11
1830msgid ""
1831"<p>The following GNUnet installation instructions help you building from "
1832"source for your distribution.</p> <p><i>Please note that the installation "
1833"process will get much easier once we have proper packages again (planned for "
1834"winter 2019).</i></p> <p>You have already installed GNUnet and want to use "
1835"it? <a href=\"https://gnunet.org/en/use\">Check this out!</a> </p>"
1836msgstr ""
1837
1838#: template/install.html.j2:19
1839msgid ""
1840"<p>Please be aware that this project is still in an early alpha stage when "
1841"it comes to running software &#8211; its not an easy task to rewrite the "
1842"whole Internet! We are happy to get your <a href=\"engage.html\">helping "
1843"hand</a> anytime!</p> <p>Further information is available in our <a href="
1844"\"https://docs.gnunet.org/#toc-Using-GNUnet-1\">handbook</a>.</p> <p>If you "
1845"have any queries about the installation or the usage, please <a href="
1846"\"engage.html\">get in touch!</a></p>"
1847msgstr ""
1848
1849#: template/use.html.j2:6
1850msgid "How to use GNUnet - in a nutshell"
1851msgstr ""
1852
1853#: template/use.html.j2:12 template/use.html.j2:123
1854msgid "Filesharing"
1855msgstr ""
1856
1857#: template/use.html.j2:13
1858msgid "CADET"
1859msgstr ""
1860
1861#: template/use.html.j2:14
1862msgid "Minimal Groupchat"
1863msgstr ""
1864
1865#: template/use.html.j2:15
1866msgid "GNS with CLI"
1867msgstr ""
1868
1869#: template/use.html.j2:16
1870msgid "GNS with Browser"
1871msgstr ""
1872
1873#: template/use.html.j2:17 template/use.html.j2:441
1874msgid "VPN"
1875msgstr ""
1876
1877#: template/use.html.j2:18 template/use.html.j2:501
1878msgid "Conversation"
1879msgstr ""
1880
1881#: template/use.html.j2:19 template/use.html.j2:512
1882msgid "Trouble Shooting"
1883msgstr ""
1884
1885#: template/use.html.j2:34
1886msgid "Get on GNUnet"
1887msgstr ""
1888
1889#: template/use.html.j2:78
1890msgid "Get off GNUnet"
1891msgstr ""
1892
1893#: template/use.html.j2:88
1894msgid "Make sure your GNUnet installation works..."
1895msgstr ""
1896
1897#: template/use.html.j2:105
1898msgid "... and play around with it."
1899msgstr ""
1900
1901#: template/use.html.j2:181
1902msgid "CADET (and Chat)"
1903msgstr ""
1904
1905#: template/use.html.j2:215
1906msgid "Chatting with a (simple) client"
1907msgstr ""
1908
1909#: template/use.html.j2:289
1910msgid "Name resolution using GNS on the command line"
1911msgstr ""
1912
1913#: template/use.html.j2:361
1914msgid "Name resolution using GNS with a browser"
1915msgstr ""
1916
1917#: template/use.html.j2:514
1918msgid "You can't reach other people's nodes"
1919msgstr ""
1920
1921#: template/use.html.j2:550
1922msgid "OMG you guys broke my internet"
1923msgstr ""
1924
1925#: template/video.html.j2:12
1926msgid "Videos related to GNUnet"
1927msgstr ""
1928 1
1929#~ msgid "_project_title" 2#~ msgid "_project_title"
1930#~ msgstr "GNUnet is the Next Generation Internet" 3#~ msgstr "GNUnet is the Next Generation Internet"
diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po
index 9c44b69d..13e165e9 100644
--- a/locale/es/LC_MESSAGES/messages.po
+++ b/locale/es/LC_MESSAGES/messages.po
@@ -18,1949 +18,123 @@ msgstr ""
18"Language: es\n" 18"Language: es\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
20 20
21#: common/base.j2:5 common/news.j2:5 21#~ msgid "Contact"
22msgid "GNUnet" 22#~ msgstr "Contacto"
23msgstr ""
24
25#: common/base.j2:6 common/news.j2:6
26msgid "GNU's framework for secure p2p networking"
27msgstr ""
28 23
29#: common/footer.j2.inc:7 24#~ msgid "GNUnet e.V."
30msgid "Contact" 25#~ msgstr "GNUnet a. r."
31msgstr "Contacto"
32 26
33#: common/footer.j2.inc:8 common/navigation.j2.inc:48 27#~ msgid "About GNUnet"
34msgid "GNUnet e.V." 28#~ msgstr "Sobre GNUnet"
35msgstr "GNUnet a. r."
36 29
37#: common/footer.j2.inc:9 template/about.html.j2:6 30#~ msgid "Bug Tracker"
38msgid "About GNUnet" 31#~ msgstr "Herramienta de seguimiento de errores"
39msgstr "Sobre GNUnet"
40 32
41#: common/footer.j2.inc:14 common/navigation.j2.inc:61 33#~ msgid "Copyright Assignment"
42msgid "Bug Tracker" 34#~ msgstr "Transmisión de derechos de autor"
43msgstr "Herramienta de seguimiento de errores"
44 35
45#: common/footer.j2.inc:19 template/copyright.html.j2:6 36#~ msgid "Bibliography"
46msgid "Copyright Assignment" 37#~ msgstr "Bibliografía"
47msgstr "Transmisión de derechos de autor"
48 38
49#: common/footer.j2.inc:20 common/navigation.j2.inc:89 39#~ msgid "About"
50#: template/developers.html.j2:24 40#~ msgstr "Sobre"
51msgid "Bibliography"
52msgstr "Bibliografía"
53 41
54#: common/footer.j2.inc:31 42#~ msgid "News"
55msgid "Source code of this site." 43#~ msgstr "Nuevo"
56msgstr ""
57
58#: common/footer.j2.inc:32
59msgid "Report issues with this website."
60msgstr ""
61 44
62#: common/navigation.j2.inc:38 template/index.html.j2:51 45#~ msgid "Community"
63msgid "About" 46#~ msgstr "Comunidad"
64msgstr "Sobre"
65 47
66#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 48#~ msgid "Engage"
67msgid "News" 49#~ msgstr "Participa"
68msgstr "Nuevo"
69 50
70#: common/navigation.j2.inc:43 51#~ msgid "GSoC Projects"
71msgid "Community" 52#~ msgstr "Projectos de GSoC"
72msgstr "Comunidad"
73 53
74#: common/navigation.j2.inc:46 template/index.html.j2:55 54#~ msgid "Copyright for Contributors"
75msgid "Engage" 55#~ msgstr "Derecho de autor para contributores"
76msgstr "Participa"
77 56
78#: common/navigation.j2.inc:47 57#~ msgid "IRC Archive"
79msgid "GSoC Projects" 58#~ msgstr "Archivo de IRC"
80msgstr "Projectos de GSoC"
81 59
82#: common/navigation.j2.inc:49 60#~ msgid "Development"
83msgid "Copyright for Contributors" 61#~ msgstr "Desarrollo"
84msgstr "Derecho de autor para contributores"
85 62
86#: common/navigation.j2.inc:50 63#~ msgid "System Architecture"
87msgid "IRC Archive" 64#~ msgstr "Architectura del sistema"
88msgstr "Archivo de IRC"
89 65
90#: common/navigation.j2.inc:57 66#~ msgid "Source Code"
91msgid "Development" 67#~ msgstr "Códico fuente"
92msgstr "Desarrollo"
93 68
94#: common/navigation.j2.inc:60
95msgid "System Architecture"
96msgstr "Architectura del sistema"
97
98#: common/navigation.j2.inc:62 template/gnurl.html.j2:147
99msgid "Source Code"
100msgstr "Códico fuente"
101
102#: common/navigation.j2.inc:63
103#, fuzzy 69#, fuzzy
104#| msgid "Documentation" 70#~| msgid "Documentation"
105msgid "Source Code Documentation" 71#~ msgid "Source Code Documentation"
106msgstr "Documentación" 72#~ msgstr "Documentación"
107 73
108#: common/navigation.j2.inc:66 74#~ msgid "Continuous Integration"
109msgid "Continuous Integration" 75#~ msgstr "Integración continua"
110msgstr "Integración continua"
111 76
112#: common/navigation.j2.inc:68
113#, fuzzy 77#, fuzzy
114#| msgid "Development" 78#~| msgid "Development"
115msgid "Development Tutorial" 79#~ msgid "Development Tutorial"
116msgstr "Desarrollo" 80#~ msgstr "Desarrollo"
117
118#: common/navigation.j2.inc:79
119msgid "Documentation"
120msgstr "Documentación"
121
122#: common/navigation.j2.inc:82 template/index.html.j2:53
123#: template/install.html.j2:6
124msgid "Install"
125msgstr "Instala"
126
127#: common/navigation.j2.inc:83
128msgid "Use"
129msgstr "Usa"
130
131#: common/navigation.j2.inc:84
132msgid "Videos"
133msgstr "Videos"
134
135#: common/navigation.j2.inc:85 template/glossary.html.j2:6
136msgid "Glossary"
137msgstr "Glosario"
138
139#: common/navigation.j2.inc:86
140msgid "Handbook"
141msgstr "Manual"
142
143#: common/navigation.j2.inc:87
144msgid "REST API"
145msgstr "REST API"
146
147#: common/navigation.j2.inc:88
148msgid "FAQ"
149msgstr "FAQ"
150
151#: inc/news.macro.j2:10
152msgid "read more"
153msgstr ""
154
155#: template/about.html.j2:11
156msgid "What is GNUnet?"
157msgstr "Qué es GNUnet?"
158
159#: template/about.html.j2:13
160msgid ""
161"GNUnet is an alternative network stack for building secure, decentralized "
162"and privacy-preserving distributed applications. Our goal is to replace the "
163"old insecure Internet protocol stack. Starting from an application for "
164"secure publication of files, it has grown to include all kinds of basic "
165"protocol components and applications towards the creation of a GNU internet."
166msgstr ""
167 81
168#: template/about.html.j2:23 82#~ msgid "Documentation"
169msgid "" 83#~ msgstr "Documentación"
170"Today, the actual use and thus the social requirements for a global network "
171"differs widely from those goals of 1970. While the Internet remains suitable "
172"for military use, where the network equipment is operated by a command "
173"hierarchy and when necessary isolated from the rest of the world, the "
174"situation is less tenable for civil society."
175msgstr ""
176
177#: template/about.html.j2:32
178msgid ""
179"Due to fundamental Internet design choices, Internet traffic can be "
180"misdirected, intercepted, censored and manipulated by hostile routers on the "
181"network. And indeed, the modern Internet has evolved exactly to the point "
182"where, as Matthew Green put it, <a href=\"https://blog."
183"cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the "
184"network is hostile\"</a>."
185msgstr ""
186
187#: template/about.html.j2:41
188msgid ""
189"We believe liberal societies need a network architecture that uses the anti-"
190"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
191"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
192"Software realization of this ideal."
193msgstr ""
194
195#: template/about.html.j2:49
196msgid ""
197"Specifically, GNUnet tries to follow the following design principles, in "
198"order of importance:"
199msgstr ""
200 84
201#: template/about.html.j2:56 85#~ msgid "Install"
202msgid "" 86#~ msgstr "Instala"
203"GNUnet must be implemented as <a href=\"https://www.gnu.org/philosophy/free-"
204"sw.html\">Free Software</a>."
205msgstr ""
206
207#: template/about.html.j2:60
208msgid ""
209"GNUnet must minimize the amount of personally identifiable information "
210"exposed."
211msgstr ""
212
213#: template/about.html.j2:61
214msgid ""
215"GNUnet must be fully distributed and resilient to external attacks and rogue "
216"participants."
217msgstr ""
218
219#: template/about.html.j2:62
220msgid ""
221"GNUnet must be self-organizing and not depend on administrators or "
222"centralized infrastructure."
223msgstr ""
224 87
225#: template/about.html.j2:63 88#~ msgid "Use"
226msgid "" 89#~ msgstr "Usa"
227"GNUnet must inform the user which other participants have to be trusted when "
228"establishing private communications."
229msgstr ""
230
231#: template/about.html.j2:64
232msgid "GNUnet must be open and permit new peers to join."
233msgstr ""
234
235#: template/about.html.j2:65
236msgid "GNUnet must support a diverse range of applications and devices."
237msgstr ""
238
239#: template/about.html.j2:66
240msgid "GNUnet must use compartmentalization to protect sensitive information."
241msgstr ""
242
243#: template/about.html.j2:67
244msgid "The GNUnet architecture must be resource efficient."
245msgstr ""
246
247#: template/about.html.j2:68
248msgid ""
249"GNUnet must provide incentives for peers to contribute more resources than "
250"they consume."
251msgstr ""
252
253#: template/about.html.j2:72
254msgid ""
255"To get know and learn more, please check our <a href=\"https://docs.gnunet."
256"org/handbook/gnunet.html\">handbook</a>, especially the <a href=\"https://"
257"docs.gnunet.org/handbook/gnunet.html#Key-Concepts\">chapter on \"Key Concepts"
258"\"</a>, explaining the fundamental concepts of GNUnet: <ul> <li><a href="
259"\"https://docs.gnunet.org/handbook/gnunet.html#Authentication"
260"\">Authentication</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
261"gnunet.html#Accounting-to-Encourage-Resource-Sharing\">Accounting to "
262"Encourage Resource Sharing</a></li> <li><a href=\"https://docs.gnunet.org/"
263"handbook/gnunet.html#Confidentiality\">Confidentiality</a></li> <li><a href="
264"\"https://docs.gnunet.org/handbook/gnunet.html#Anonymity\">Anonymity</a></"
265"li> <li><a href=\"https://docs.gnunet.org/handbook/gnunet.html#Deniability"
266"\">Deniability</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
267"gnunet.html#Peer-Identities\">Peer Identities</a></li> <li><a href=\"https://"
268"docs.gnunet.org/handbook/gnunet.html#Zones-in-the-GNU-Name-System-_0028GNS-"
269"Zones_0029\">Zones in the GNU Name System (GNS Zones)</a></li> <li><a href="
270"\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos</a></li> </ul>"
271msgstr ""
272
273#: template/about.html.j2:88
274msgid "More Resources"
275msgstr ""
276
277#: template/about.html.j2:90
278msgid ""
279"There are many more resources to learn about GNUnet besides the <a href="
280"\"https://docs.gnunet.org/handbook/gnunet.html\">handbook</a>, such as the "
281"<a href=\"https://bib.gnunet.org/\">bibliography</a> with papers covering "
282"the various layers, many <a href=\"https://gnunet.org/en/video.html"
283"\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html"
284"\">glossary</a>."
285msgstr ""
286
287#: template/about.html.j2:95
288msgid ""
289"You are most welcome to <a href=\"engage.html\">get engaged into the "
290"conversation</a>, <a href=\"install.html\">install GNUnet</a>, <a href=\"use."
291"html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
292"in various ways."
293msgstr ""
294
295#: template/about.html.j2:100
296msgid ""
297"Please be aware that this project is (despite of it's age) still in an early "
298"alpha stage when it comes to software &#8211; its not an easy task to "
299"rewrite the whole Internet!"
300msgstr ""
301
302#: template/about.html.j2:105
303msgid "Current funding"
304msgstr ""
305
306#: template/about.html.j2:110
307msgid ""
308"We're receiving funding from NLnet's Next Generation Internet funding line "
309"to document and implement the GNU Name System protocol in a way suitable for "
310"the IETF standardization process."
311msgstr ""
312
313#: template/about.html.j2:123
314msgid ""
315"We are grateful for free hosting offered by the following organizations:"
316msgstr ""
317
318#: template/about.html.j2:132
319msgid "Past funding"
320msgstr ""
321
322#: template/about.html.j2:134
323msgid "We are grateful for past funding from the following organizations:"
324msgstr ""
325
326#: template/architecture.html.j2:6
327msgid "GNUnet System Architecture"
328msgstr ""
329
330#: template/architecture.html.j2:15
331msgid "Legend"
332msgstr ""
333
334#: template/architecture.html.j2:55
335msgid "Foundations"
336msgstr ""
337
338#: template/architecture.html.j2:57
339msgid ""
340"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
341"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
342"(GNS) and a pluggable transport system (TRANSPORT).<br> Using public keys "
343"for addresses and self-organized decentralized routing algorithms, these "
344"subsystems replace the traditional TCP/IP stack."
345msgstr ""
346
347#: template/architecture.html.j2:70
348msgid "Security"
349msgstr ""
350
351#: template/architecture.html.j2:73
352msgid ""
353"GNUnet is implemented using a multi-process architecture. Each subsystem "
354"runs as a separate process, providing fault-isolation and enabling tight "
355"permissions to be granted to each subsystem. Naturally, the implementation "
356"is a <a href=\"https://www.gnu.org/\">GNU</a> package, and will always "
357"remain free software."
358msgstr ""
359
360#: template/architecture.html.j2:87
361msgid "System architecture"
362msgstr ""
363
364#: template/architecture.html.j2:93
365msgid "Subsystems"
366msgstr ""
367
368#: template/architecture.html.j2:102
369msgid "libgnunetutil"
370msgstr ""
371
372#: template/architecture.html.j2:108
373msgid "APIs"
374msgstr ""
375
376#: template/contact.html.j2:6
377msgid "Contact information"
378msgstr ""
379
380#: template/contact.html.j2:11
381msgid "The mailing list"
382msgstr ""
383
384#: template/contact.html.j2:13
385msgid ""
386"An archived, public mailing list for GNUnet is hosted at <a href=\"https://"
387"lists.gnu.org/mailman/listinfo/gnunet-developers\">https://lists.gnu.org/"
388"mailman/listinfo/gnunet-developers</a>. You can send messages to the list at "
389"<a href=\"mailto:gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
390msgstr ""
391
392#: template/contact.html.j2:23
393msgid "The IRC channel"
394msgstr ""
395
396#: template/contact.html.j2:25
397msgid ""
398"<tt>#gnunet</tt> is reachable via <a href=\"https://freenode.net\">irc."
399"freenode.net</a>. There is also an <a href=\"https://old.gnunet.org/bot/log/"
400"gnunet\">archive</a> available (currently unavailable, we are working on "
401"restoring access to it)."
402msgstr ""
403
404#: template/contact.html.j2:38
405msgid "Contacting individuals"
406msgstr ""
407
408#: template/contact.html.j2:40
409msgid ""
410"GNUnet developers are generally reachable at either <tt>PSEUDONYM@gnunet."
411"org</tt> or <tt>LASTNAME@gnunet.org</tt>. Most of us support receiving GnuPG "
412"encrypted Emails."
413msgstr ""
414
415#: template/contact.html.j2:50
416msgid "Reporting bugs"
417msgstr ""
418
419#: template/contact.html.j2:52
420msgid ""
421"We track open feature requests and bugs for projects within GNUnet in our <a "
422"href=\"https://bugs.gnunet.org/\">Bug tracker</a>. You can also report bugs "
423"or feature requests to the <a href=\"https://lists.gnu.org/mailman/listinfo/"
424"bug-gnunet\">bug-gnunet</a> mailing list. The mailinglist requires no "
425"subscription."
426msgstr ""
427
428#: template/copyright.html.j2:11
429msgid ""
430"<p> Contributors to GNUnet with Git access must sign the <a href=\"/static/"
431"pdf/copyright.pdf\">copyright assignment</a> to ensure that the <a href="
432"\"https://git.gnunet.org/gnunet-ev.git/tree/gnunet_taler_agreement.tex"
433"\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative "
434"development</a> of the GNUnet and GNU Taler projects is satisfied. </p>"
435msgstr ""
436
437#: template/copyright.html.j2:22
438msgid ""
439"<p>The agreements ensure that the code will continue to be made available "
440"under free software licenses, but gives developers the freedom to move code "
441"between GNUnet and GNU Taler without worrying about licenses and to give the "
442"company the ability to dual-license (for example, so that we can distribute "
443"via App-stores that are hostile to free software).</p>"
444msgstr ""
445
446#: template/copyright.html.j2:30
447msgid ""
448"<p>Minor contributions (basically, anyone without Git access) do not require "
449"copyright assignment. Pseudonymous contributions are accepted, in this case "
450"simply sign the agreement with your pseudonym. Scanned copies are "
451"sufficient, but snail mail is preferred.</p>"
452msgstr ""
453
454#: template/developers.html.j2:5
455msgid "GNUnet for developers"
456msgstr ""
457
458#: template/developers.html.j2:13
459msgid "Repositories"
460msgstr ""
461
462#: template/developers.html.j2:16
463msgid ""
464"A list of our Git repositories can be found on our our <a href=\"https://git."
465"gnunet.org/\">Git Server</a>."
466msgstr ""
467
468#: template/developers.html.j2:27
469msgid ""
470"Technical papers can be found in our <a href=\"https://old.gnunet.org/"
471"bibliography\">bibliography</a>."
472msgstr ""
473
474#: template/developers.html.j2:34
475msgid "Discussion"
476msgstr ""
477
478#: template/developers.html.j2:37
479msgid ""
480"We have a mailing list for developer discussions. You can subscribe to or "
481"read the list archive at <a href=\"http://lists.gnu.org/mailman/listinfo/"
482"gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
483"a>."
484msgstr ""
485
486#: template/developers.html.j2:47
487msgid "Regression Testing"
488msgstr ""
489
490#: template/developers.html.j2:50
491msgid ""
492"We have <a href=\"https://buildbot.net/\">Buildbot</a> automation tests to "
493"detect regressions and check for portability at <a href=\"https://old.gnunet."
494"org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
495msgstr ""
496
497#: template/developers.html.j2:59
498msgid "Code Coverage Analysis"
499msgstr ""
500
501#: template/developers.html.j2:62
502msgid ""
503"We use <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\">LCOV</a> to "
504"analyze the code coverage of our tests, the results are available at <a href="
505"\"https://old.gnunet.org/coverage/\">https://old.gnunet.org/coverage/</a>."
506msgstr ""
507
508#: template/developers.html.j2:72
509msgid "Performance Analysis"
510msgstr ""
511
512#: template/developers.html.j2:75
513msgid ""
514"We use <a href=\"https://old.gnunet.org/gauger\">Gauger</a> for performance "
515"regression analysis of the exchange backend at <a href=\"https://old.gnunet."
516"org/gauger/\">https://old.gnunet.org/gauger/</a>."
517msgstr ""
518
519#: template/download.html.j2:7 template/gnurl.html.j2:169
520msgid "Downloads"
521msgstr ""
522
523#: template/download.html.j2:11
524msgid ""
525"Here you can download releases of our software and find links to the various "
526"versions."
527msgstr ""
528
529#: template/download.html.j2:17
530msgid "0.11.x series"
531msgstr ""
532 90
533#: template/download.html.j2:18 91#~ msgid "Videos"
534msgid "tarball" 92#~ msgstr "Videos"
535msgstr ""
536 93
537#: template/download.html.j2:20 94#~ msgid "Glossary"
538msgid "" 95#~ msgstr "Glosario"
539"The tarball of the latest version can be obtained from GNU FTP and its "
540"mirrors."
541msgstr ""
542 96
543#: template/download.html.j2:30 97#~ msgid "Handbook"
544msgid "git" 98#~ msgstr "Manual"
545msgstr ""
546 99
547#: template/download.html.j2:32 100#~ msgid "REST API"
548msgid "" 101#~ msgstr "REST API"
549"You can fetch the git tag of version 0.11.x from our development server:"
550msgstr ""
551 102
552#: template/engage.html.j2:6 103#~ msgid "FAQ"
553msgid "Engage!" 104#~ msgstr "FAQ"
554msgstr ""
555 105
556#: template/ev.html.j2:6 106#~ msgid "What is GNUnet?"
557msgid "Verein zur F&ouml;rderung von GNUnet e.V." 107#~ msgstr "Qué es GNUnet?"
558msgstr ""
559 108
560#: template/ev.html.j2:11
561#, fuzzy 109#, fuzzy
562#| msgid "About GNUnet" 110#~| msgid "About GNUnet"
563msgid "About GNUnet e.V." 111#~ msgid "About GNUnet e.V."
564msgstr "Sobre GNUnet" 112#~ msgstr "Sobre GNUnet"
565
566#: template/ev.html.j2:13
567msgid ""
568"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
569"\"Verein zur F&ouml;rderung von GNUnet e.V.\", an association under German "
570"law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
571"the association on the 7th of March under VR 205287."
572msgstr ""
573
574#: template/ev.html.j2:22
575msgid ""
576"The association is officially dedicated to supporting research, development "
577"and education in the area of secure decentralized networking in general, and "
578"GNUnet specifically. This is the official website for the association."
579msgstr ""
580
581#: template/ev.html.j2:31
582msgid "Becoming a Member of GNUnet e.V."
583msgstr ""
584
585#: template/ev.html.j2:33
586msgid ""
587"GNUnet developers with git (write) access can become members to participate "
588"in the decision process and formally support GNUnet e.V. For this, all you "
589"have to do is update the <tt>members.txt</tt> file in the <a href=\"https://"
590"git.gnunet.org/gnunet-ev.git/\">gnunet-ev</a> repository. There are no "
591"membership dues; however, members are required to support GNUnet e.V. and in "
592"particularly contribute to the technical development within their means. For "
593"further details, we refer to the <a href=\"https://git.gnunet.org/gnunet-ev."
594"git/\">Satzung</a> (currently only available in German, translations "
595"welcome)."
596msgstr ""
597
598#: template/ev.html.j2:52
599msgid "Governance"
600msgstr ""
601
602#: template/ev.html.j2:54
603msgid ""
604"You can find our \"Satzung\", and the list of members under <a href="
605"\"https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex\">https://git.gnunet."
606"org/gnunet-ev.git/tree/satzung.tex</a>. The current board consists of: "
607"<dl><dt>Vorsitz</dt> <dd><a href=\"https://grothoff.org/christian/"
608"\">Christian Grothoff</a></dd> <dt>stellvertretender Vorsitz</dt> <dd>xrs</"
609"dd> <dt>Kassenwart</dt> <dd>Florian Dold</dd> <dt>Beisitzer</dt> <dd>Lurchi</"
610"dd> </dl>"
611msgstr ""
612
613#: template/ev.html.j2:71
614msgid "Official Meeting Notes"
615msgstr ""
616
617#: template/ev.html.j2:84
618msgid "Support Us!"
619msgstr ""
620
621#: template/ev.html.j2:86
622msgid ""
623"Everybody is welcome to support us via donations. For financial "
624"contributions, Europeans are able to donate via SEPA. We hope to setup "
625"accounts in other major currency areas in the future. You can also donate "
626"via Bitcoin, routing details are given below. Please note that we are unable "
627"to provide receipts for your donations. If you are planning to donate a "
628"significant amount of money, please contact us first as it might be better "
629"to come to a custom arrangement. <dl><dt>BitCoin</dt> "
630"<dd>1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh</dd> <dt>SEPA/IBAN</dt> "
631"<dd>DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)</dd> </dl>"
632msgstr ""
633
634#: template/faq.html.j2:12
635msgid ""
636"I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. "
637"Should I worry?"
638msgstr ""
639
640#: template/faq.html.j2:14
641msgid ""
642"A: Right now, this is expected and a known cause for high latency in GNUnet. "
643"We have started a major rewrite to address this and other problems, but "
644"until the Transport Next Generation (TNG) is ready, these warnings are "
645"expected."
646msgstr ""
647
648#: template/faq.html.j2:23
649msgid "Is there a graphical user interface?"
650msgstr ""
651
652#: template/faq.html.j2:25
653msgid ""
654"A: gnunet-gtk is a separate download. The package contains various GTK+ "
655"based graphical interfaces, including a graphical tool for configuration."
656msgstr ""
657
658#: template/glossary.html.j2:12
659msgid "Ego"
660msgstr ""
661 113
662#: template/glossary.html.j2:14
663msgid ""
664"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
665"multiple unlinkable identities, in the sense of alter egos. The ability to "
666"have more than one identity is crucial, as we may want to keep our egos for "
667"business separate from those we use for political activities or romance.<br> "
668"Egos in GNUnet are technically equivalent to identities (and the code does "
669"not distinguish between them). We simply sometimes use the term \"ego\" to "
670"stress that you can have more than one."
671msgstr ""
672
673#: template/glossary.html.j2:27
674msgid "Identity"
675msgstr ""
676
677#: template/glossary.html.j2:29
678msgid ""
679"In GNUnet users are identified via a public key, and that public key is then "
680"often referred to as the \"Identity\" of the user. However, the concept is "
681"not as draconian as it often is in real life where many are forced to have "
682"one name, one passport and one unique identification number. <br> As long as "
683"identities in GNUnet are simply public keys, users are free to create any "
684"number of identities, and we call those egos to emphasize the difference. "
685"Even though users can create such egos freely, it is possible to have an ego "
686"certified by some certification authority, resulting in something that more "
687"closely resembles the traditional concept of an identity.<br> For example, a "
688"university may certify the identities of its students such that they can "
689"prove that they are studying. Students may keep their (certified) student "
690"identity separate from other egos that they use for other activities in life."
691msgstr ""
692
693#: template/glossary.html.j2:50
694msgid "Pseudonym"
695msgstr ""
696
697#: template/glossary.html.j2:52
698msgid ""
699"A pseudonym is an ego that is specifically intended to not be linked to "
700"one's real name. GNUnet users can create many egos, and thus also many "
701"pseudonyms. <br> Repeated uses of the same pseudonym are linkable by "
702"definition, as they involve the same public key. Anonymity requires the use "
703"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
704"neutral element on the elliptic curve) or a throw-away pseudonym that is "
705"only used once."
706msgstr ""
707
708#: template/glossary.html.j2:71
709msgid "Namespaces"
710msgstr ""
711
712#: template/glossary.html.j2:73
713msgid ""
714"The GNU Name System allows every ego (or identity) to securely and privately "
715"associate any number of label-value pairs with an ego. The values are called "
716"record sets following the terminology of the Domain Name System (DNS). The "
717"mapping of labels to record sets for a given ego is called a namespace. <br> "
718"If records are made public and thus published, it is possible for other "
719"users to lookup the record given the ego's public key and the label. Here, "
720"not only the label can thus act as a passphrase but also the public key -- "
721"which despite its name may not be public knowledge and is never disclosed by "
722"the GNS protocol itself."
723msgstr ""
724
725#: template/glossary.html.j2:89
726msgid "Peer"
727msgstr ""
728
729#: template/glossary.html.j2:91
730msgid ""
731"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
732"network addresses. Technically, it is possible to run multiple peers on the "
733"same host, but this only makes sense for testing. <br> By design GNUnet "
734"supports multiple users to share the same peer, just as UNIX is a multi-user "
735"system. A \"peer\" typically consists of a set of foundational GNUnet "
736"services running as the \"gnunet\" user and allowing all users in the "
737"\"gnunet\" group to utilize the API. On multi-user systems, additional "
738"\"personalized\" services may be required per user. <br> While peers are "
739"also identified by public keys, these public keys are completely unrelated "
740"to egos or identities. Namespaces cannot be associated with a peer, only "
741"with egos."
742msgstr ""
743
744#: template/gnurl.html.j2:20
745msgid ""
746"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
747"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
748"ensure a small footprint and uniform experience for developers regardless of "
749"how libcurl was compiled.<br> Our main usecase is for GNUnet, but it might "
750"be usable for others, hence we're releasing the code to the general public."
751"<br> libgnurl is released under the same license as libcurl. Please read the "
752"README for instructions, as you must supply the correct options to configure "
753"to get a proper build of libgnurl."
754msgstr ""
755
756#: template/gnurl.html.j2:35
757#, fuzzy 114#, fuzzy
758#| msgid "About" 115#~| msgid "About"
759msgid "About gnurl" 116#~ msgid "About gnurl"
760msgstr "Sobre" 117#~ msgstr "Sobre"
761
762#: template/gnurl.html.j2:37
763msgid ""
764"Large parts of the following 6 paragraphs are old and need to be rewritten."
765msgstr ""
766
767#: template/gnurl.html.j2:43
768msgid "Motivation"
769msgstr ""
770
771#: template/gnurl.html.j2:45
772msgid ""
773"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
774"other variants are used by some distributions. Supporting other crypto "
775"backends would again expose us to a wider array of security issues, may "
776"create licensing issues and most importantly introduce new bugs as some "
777"crypto backends are known to introduce subtle runtime issues. While it is "
778"possible to have two versions of libcurl installed on the same system, this "
779"is error-prone, especially as if we are linked against the wrong version, "
780"the bugs that arise might be rather subtle."
781msgstr ""
782
783#: template/gnurl.html.j2:58
784msgid ""
785"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
786"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
787"one links cURL against this version of GnuTLS? Well, first one would install "
788"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
789"it just fine, but the linker will eventually complain bitterly. The reason "
790"is that cURL also links against a bunch of other system libraries (gssapi, "
791"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
792"which --- as they are part of the distribution --- were linked against an "
793"older version of GnuTLS. As a result, the same binary would be linked "
794"against two different versions of GnuTLS. That is typically a recipe for "
795"disaster. Thus, in order to avoid updating a dozen system libraries (and "
796"having two versions of those installed), it is necessary to disable all of "
797"those cURL features that GNUnet does not use, and there are many of those. "
798"For GNUnet, the more obscure protocols supported by cURL are close to dead "
799"code --- mostly harmless, but not useful. However, as some application may "
800"use one of those features, distributions are typically forced to enable all "
801"of those features, and thus including security issues that might arise from "
802"that code."
803msgstr ""
804
805#: template/gnurl.html.j2:82
806msgid ""
807"So to use a modern version of GnuTLS, a sane approach is to disable all of "
808"the \"optional\" features of cURL that drag in system libraries that link "
809"against the older GnuTLS. That works, except that one should then NEVER "
810"install that version of libcurl in say /usr or /usr/local, as that may break "
811"other parts of the system that might depend on these features that we just "
812"disabled. Libtool versioning doesn't help here, as it is not intended to "
813"deal with libraries that have optional features. Naturally, installing cURL "
814"somewhere else is also problematic, as we now need to be really careful that "
815"the linker will link GNUnet against the right version. Note that none of "
816"this can really be trivially fixed by the cURL developers."
817msgstr ""
818
819#: template/gnurl.html.j2:97
820msgid "Rename to fix"
821msgstr ""
822
823#: template/gnurl.html.j2:99
824#, python-format
825msgid ""
826"How does forking fix it? Easy. First, we can get rid of all of the "
827"compatibility issues --- if you use libgnurl, you state that you don't need "
828"anything but HTTP/HTTPS. Those applications that need more, should stick "
829"with the original cURL. Those that do not, can choose to move to something "
830"simpler. As the library gets a new name, we do not have to worry about tons "
831"of packages breaking as soon as one rebuilds it. So renaming itself and "
832"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" "
833"fixes 99%% of the problems that darkened my mood. Note that this pretty much "
834"CANNOT be done without a fork, as renaming is an essential part of the fix. "
835"Now, there might be creative solutions to achieve the same thing within the "
836"standard cURL build system, but I'm not happy to wait for a decade for "
837"Daniel to review the patches. The changes libgnurl makes to curl are "
838"miniscule and can easily be applied again and again whenever libcurl makes a "
839"new release."
840msgstr ""
841
842#: template/gnurl.html.j2:118
843msgid "Using libgnurl"
844msgstr ""
845
846#: template/gnurl.html.j2:120
847msgid ""
848"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
849"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
850"That's it. No changes to the source code should be required, as libgnurl "
851"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
852"cURL. We might add new features relating to this core subset if they are "
853"proposed, but so far we have kept our changes minimal and no additions to "
854"the original curl source have been written."
855msgstr ""
856
857#: template/gnurl.html.j2:133
858msgid "Gotchas"
859msgstr ""
860
861#: template/gnurl.html.j2:135
862msgid ""
863"libgnurl and gnurl are not intended to be used as a replacement for curl for "
864"users. Since no conflicts in filenames should occur you are not expected to "
865"remove curl to make use of gnurl and viceversa."
866msgstr ""
867
868#: template/gnurl.html.j2:149
869msgid "You can get the gnurl git repository using:"
870msgstr ""
871
872#: template/gnurl.html.j2:162
873msgid "The versions are checked in as (signed) git tags."
874msgstr ""
875
876#: template/gnurl.html.j2:171
877msgid ""
878"Releases are published on <a href=\"https://ftpmirror.gnu.org/gnu/gnunet/"
879"\">ftpmirror.gnu.org/gnu/gnunet</a>. gnurl is available from within a "
880"variety of distributions and package managers. Package Managers which "
881"include gnurl are: <a href=\"https://www.gnu.org/software/guix/\">GNU Guix</"
882"a> (available as \"gnurl\"), <a href=\"https://gentoo.org\">Gentoo</a> "
883"through the collaborative ebuild collection <a href=\"https://git.gnunet.org/"
884"youbroketheinternet-overlay.git/\">youbroketheinternet</a>, <a href="
885"\"https://nixos.org/nix/\">Nix</a>, and as www/gnurl in <a href=\"https://"
886"pkgsrc.org\">pkgsrc</a>."
887msgstr ""
888
889#: template/gnurl.html.j2:188
890msgid "Building gnurl"
891msgstr ""
892
893#: template/gnurl.html.j2:190
894msgid ""
895"We suggest to closely follow release announcements, as they might indicate "
896"changes in how gnurl is to be build. <br> If your package manager provides a "
897"binary build or build instructions to build gnurl from source automated and "
898"integrated with your environment, we strongly suggest to use this binary "
899"build. <br> There are two ways to build gnurl. The first one builds from the "
900"most recent git tag, the second one uses the distributed tarball. "
901"Distributors generally are supposed to build from the tarball, but we "
902"describe both methods here. Both methods are written with a NetBSD 9 "
903"userland in mind, substitute tools as necessary. <br> You should <b>avoid</"
904"b> building gnurl from the tip of the default git branch, as only tags are "
905"considered to be stable and approved builds."
906msgstr ""
907
908#: template/gnurl.html.j2:211
909msgid "Building from the distributed tarball (prefered method)"
910msgstr ""
911
912#: template/gnurl.html.j2:213
913msgid ""
914"If you want to verify the signature, install an OpenPGP compatible tool such "
915"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
916msgstr ""
917
918#: template/gnurl.html.j2:227
919msgid "Fetch the signature key from"
920msgstr ""
921
922#: template/gnurl.html.j2:231
923msgid "or via commandline with gnupg2."
924msgstr ""
925
926#: template/gnurl.html.j2:236
927msgid ""
928"Fetch the release, the signature, the checksum file as well as its signature:"
929msgstr ""
930
931#: template/gnurl.html.j2:255
932msgid ""
933"verify the signatures, and verify the checksums against the checksums in "
934"the .sum.txt file."
935msgstr ""
936
937#: template/gnurl.html.j2:261
938msgid "unpack the tarball:"
939msgstr ""
940
941#: template/gnurl.html.j2:271
942msgid "Change into the directory"
943msgstr ""
944
945#: template/gnurl.html.j2:281
946msgid "Now you can either run"
947msgstr ""
948
949#: template/gnurl.html.j2:291
950msgid "directly (and read configure-gnurl before you do so) or invoke"
951msgstr ""
952
953#: template/gnurl.html.j2:301
954msgid ""
955"and pass additional parameters such as a custom PREFIX location. Further "
956"reference can be the"
957msgstr ""
958
959#: template/gnurl.html.j2:306
960msgid "Now run"
961msgstr ""
962
963#: template/gnurl.html.j2:316
964msgid "(this is optional)"
965msgstr ""
966
967#: template/gnurl.html.j2:325
968msgid "and you are done."
969msgstr ""
970
971#: template/gnurl.html.j2:329
972msgid "Building from a tagged git commit"
973msgstr ""
974
975#: template/gnurl.html.j2:331
976msgid ""
977"Follow the steps above, but instead of downloading the tarball, clone the "
978"git tag you want to build from."
979msgstr ""
980
981#: template/gnurl.html.j2:342
982msgid "Reporting Bugs"
983msgstr ""
984
985#: template/gnurl.html.j2:344
986msgid ""
987"You can report bugs on our bug tracker: <a href=\"https://bugs.gnunet.org/"
988"\">bugs.gnunet.org</a>. Alternatively you can use our bug mailinglist, but "
989"we prefer to track bugs on the bugtracker."
990msgstr ""
991
992#: template/gnurl.html.j2:354
993msgid "Maintainer and Cryptographic signatures"
994msgstr ""
995
996#: template/gnurl.html.j2:356
997msgid ""
998"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP "
999"Key <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, with the key "
1000"fingerprint <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>."
1001msgstr ""
1002
1003#: template/gsoc-2018-gnunet-webui.html.j2:7
1004msgid "GSoC 2018: GNUnet WebUI"
1005msgstr ""
1006
1007#: template/gsoc-2018-gnunet-webui.html.j2:11
1008msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
1009msgstr ""
1010
1011#: template/gsoc-2018-gnunet-webui.html.j2:17
1012msgid ""
1013"<strong>What was done?</strong><br /> In the context of Google Summer of "
1014"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and "
1015"extending the REST API of GNUnet. Currently, we mirrored the functionality "
1016"of following commands:"
1017msgstr ""
1018
1019#: template/gsoc-2018-gnunet-webui.html.j2:32
1020msgid ""
1021"Additionally, we developed a website with the Javascript framework Angular 6 "
1022"and the design framework iotaCSS to use the new REST API. The REST API of "
1023"GNUnet is now documented with Sphinx."
1024msgstr ""
1025
1026#: template/gsoc-2018-gnunet-webui.html.j2:40
1027msgid ""
1028"<strong>Why did we create a REST API?</strong><br /> ... when you can use "
1029"the command line tools?<br /> We need to keep in mind, that everyone has the "
1030"right to stay secure and private but not everyone feels comfortable using a "
1031"terminal. The further developed REST access to GNUnet APIs in addition to "
1032"the new web application allows new users to interact with GNUnet over a well "
1033"known tool: their browsers. This addition to the C API and the command line "
1034"tools may attract new users and developers."
1035msgstr ""
1036
1037#: template/gsoc-2018-gnunet-webui.html.j2:52
1038msgid ""
1039"<strong>How can we use it?</strong><br /> 1. The REST API developed in "
1040"GNUnet<br /> The REST API is already merged into the gnunet.git repository "
1041"(<a href=\"https://gnunet.org/git/gnunet.git/\">GNUnet Main Git</a>).<br /> "
1042"To use the new features, clone the repository and follow the <a href="
1043"\"https://gnunet.org/en/install.html\">Installation</a> on gnunet.org. Then, "
1044"start the rest service with \"gnunet-arm -i rest\"."
1045msgstr ""
1046
1047#: template/gsoc-2018-gnunet-webui.html.j2:63
1048msgid ""
1049"2. The Web Application<br /> The web application is available under the "
1050"gnunet-webui.git repository (<a href=\"https://gnunet.org/git/gnunet-webui."
1051"git/\">GNUnet WebUI Git</a>).<br /> You need to install the newest version "
1052"of 'node' and 'yarn'. Dependent on your system, you may need to download "
1053"newer versions and install them manually and not over your packet manager. "
1054"After the installation succeeded, you need to clone the repository. Then, "
1055"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To "
1056"deploy the website (keep in mind, that this website communicates with "
1057"another localhost instance) use \"yarn build\" for building the web "
1058"application and use the output in the 'dist' directory."
1059msgstr ""
1060
1061#: template/gsoc-2018-gnunet-webui.html.j2:80
1062msgid ""
1063"3. The Documentation<br /> The documentation is available under the gnunet-"
1064"rest-api.git repository (<a href=\"https://gnunet.org/git/gnunet-rest-api."
1065"git/\">GNUnet REST API Docmentation Git</a>).<br /> Clone the repository and "
1066"\"make html\". Then open the 'index.html' under 'build/html/'."
1067msgstr ""
1068
1069#: template/gsoc-2018-gnunet-webui.html.j2:91
1070msgid ""
1071"Please, give it a try and contact me, if you find any bugs or unintentional "
1072"features. ;)"
1073msgstr ""
1074
1075#: template/gsoc-2018-gnunet-webui.html.j2:97
1076msgid ""
1077"<strong>What can be improved?</strong><br /> Right now, the build process of "
1078"the web application may be a little too complex for a casual user. We may be "
1079"able to solve this by using docker.<br /> Additionally, the web application "
1080"does not prevent wrong inputs but responds with error messages. Adding "
1081"GNUnet Records is currently only usable for people, who know how a GNS "
1082"Record looks like. This can be adapted to each record type.<br /> Last but "
1083"not least, additional features, design changes, etc..."
1084msgstr ""
1085
1086#: template/gsoc-2018-gnunet-webui.html.j2:111
1087msgid "Thanks for reading."
1088msgstr ""
1089
1090#: template/gsoc.html.j2:6
1091msgid "GNUnet's Google Summer of Code projects"
1092msgstr ""
1093 118
1094#: template/gsoc.html.j2:12 template/gsoc.html.j2:28
1095#, fuzzy 119#, fuzzy
1096#| msgid "GSoC Projects" 120#~| msgid "GSoC Projects"
1097msgid "Current projects" 121#~ msgid "Current projects"
1098msgstr "Projectos de GSoC" 122#~ msgstr "Projectos de GSoC"
1099
1100#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
1101msgid "Past projects"
1102msgstr ""
1103
1104#: template/gsoc.html.j2:14 template/gsoc.html.j2:553
1105msgid "Finished projects"
1106msgstr ""
1107
1108#: template/gsoc.html.j2:21
1109msgid ""
1110"As a GNU project, GNUnet has participated in the Google Summer of Code "
1111"(GSoC) for a number of years. This page lists all current, past, and "
1112"finished projects."
1113msgstr ""
1114
1115#: template/gsoc.html.j2:37
1116msgid ""
1117"It is time for GNUnet to run properly on Android. Note that GNUnet is "
1118"written in C, and this is not about rewriting GNUnet in Java, but about "
1119"getting the C code to run on Android."
1120msgstr ""
1121
1122#: template/gsoc.html.j2:44
1123msgid ""
1124"<strong>Mentors:</strong> <a href=\"https://www.goebel-consult.de/\">Hartmut "
1125"Goebel</a>"
1126msgstr ""
1127
1128#: template/gsoc.html.j2:53
1129msgid ""
1130"There is a push for migrating our CI to Gitlab. The CI should eventually not "
1131"just run \"make check\" on various platforms, but also perform tests with "
1132"multiple peers running in different VMs with specific network topologies (i."
1133"e. NAT) between them being simulated. The CI should also be integrated with "
1134"Gauger for performance regression analysis. Running jobs only when "
1135"dependencies have changed and scripting more granular triggers or ideally "
1136"automatic dependency discovery (as done by the autotools) is also important."
1137msgstr ""
1138
1139#: template/gsoc.html.j2:65
1140msgid "<strong>Mentors:</strong> TBD"
1141msgstr ""
1142
1143#: template/gsoc.html.j2:74
1144msgid ""
1145"reclaimID is a decentralized identity system build on top of the GNU Name "
1146"System. Upon authorization, the user provides a requesting party (RP) such "
1147"as a website with an authorization ticket (e.g. piggybacked in an OpenID "
1148"authorization code). The RP uses information contained in this ticket to "
1149"<ol> <li> Retrieve the decryption key from GNS</li> <li> Retrieve the user "
1150"attributes from GNS</li> </ol> The GNS lookups ensure that the RP receives "
1151"up-to-date attributes and functional decryption keys. However, in particular "
1152"the RP-specific encryption key resolution can be slow and even fail "
1153"depending on the network topology. We propose that in an initial exchange, "
1154"in particular OpenID authorization code flows, we try to incorporate key and "
1155"maybe even an attribute set in the ticket exchange. In order to mitigate "
1156"this issue, this project is meant to investigate and implement how... <ol> "
1157"<li> ... decryption keys can be added to an initial exchange in OpenID.</li> "
1158"<li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> </"
1159"ol> <br/> <strong>Mentors:</strong> Martin Schanzenbach"
1160msgstr ""
1161
1162#: template/gsoc.html.j2:105
1163msgid ""
1164"re:claimID is a decentralized identity system build on top of the GNU Name "
1165"System. The initial design and implementation of re:claimID includes an "
1166"attribute-based encryption module in order to prevent unauthorized access to "
1167"attributes in the name system. Our motivation for re:claimID was for it to "
1168"be name system agnostic, which means the design theoretically also works for "
1169"other name systems such as namecoin. Other name systems often do not have "
1170"built-in mechanisms in order to do this. Hence, we implemented an ABE access "
1171"control layer. Our ABE implementation requires two third party libraries: "
1172"libpbc and libgabe. While we could merge libgabe into the gnunet service "
1173"implementation of re:claimID, libpbc is a rather large, third party library "
1174"which lacks packaging in distributions and for platforms. On the other hand, "
1175"GNS supports record data encryption using symmetric keys as labels. If we "
1176"make the access control layer of re:claimID more generic in order to support "
1177"both ABE and GNS encryption, we could reduce the required depenencies. This "
1178"would result in gnunet packages to include re:claimID by default. In short, "
1179"the goals are to... <ol> <li> ... improve performance by reducing encryption "
1180"overhead.</li> <li> ... reduce dependencies.</li> </ol> <br/> "
1181"<strong>Mentors:</strong> Martin Schanzenbach"
1182msgstr ""
1183
1184#: template/gsoc.html.j2:140
1185msgid ""
1186"One great problem of the current Internet is the lack of disintermediation. "
1187"When people want to talk they need a chat service. When they want to share "
1188"files they need a file transfer service. Although GNUnet already possesses "
1189"quite advanced integration into Linux networking, a little extra work is "
1190"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
1191"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
1192"Once people have added a person to their GNS they can immediately message, "
1193"exchange files and suchlike directly, with nothing but the GNUnet in the "
1194"middle, using applications that have been distributed with unix systems ever "
1195"since the 1980's. We can produce an OS distribution where these things work "
1196"out of the box with the nicknames of people instead of cloud services. For "
1197"more information and context, read"
1198msgstr ""
1199
1200#: template/gsoc.html.j2:161
1201msgid "<strong>Mentors:</strong> lynX &amp; dvn"
1202msgstr ""
1203
1204#: template/gsoc.html.j2:169
1205msgid ""
1206"There are a variety of GNUNet APIs that should be exposed in the Rust "
1207"wrappers. Implementing these will require extending the port of GNUNet utils "
1208"written by Andrew Cann and Kelong Cong."
1209msgstr ""
1210
1211#: template/gsoc.html.j2:177
1212msgid ""
1213"As an introduction to the code base, we suggest that the student and Jeff "
1214"Burdges together update the asynchronous IO system from gjio to futures-rs "
1215"or another layer built upon it. Jeff Burdges is expected to concurrently be "
1216"implementing a GNUNet API for his own mix network work."
1217msgstr ""
1218
1219#: template/gsoc.html.j2:187 template/gsoc.html.j2:211
1220#: template/gsoc.html.j2:265 template/gsoc.html.j2:295
1221#: template/gsoc.html.j2:539
1222msgid "<strong>Mentors:</strong> Jeff Burdges"
1223msgstr ""
1224
1225#: template/gsoc.html.j2:192
1226msgid "Required Skills: Rust"
1227msgstr ""
1228
1229#: template/gsoc.html.j2:197
1230msgid "Difficulty level: low"
1231msgstr ""
1232
1233#: template/gsoc.html.j2:205
1234msgid ""
1235"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
1236msgstr ""
1237
1238#: template/gsoc.html.j2:216
1239msgid ""
1240"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
1241"using GNS over Tor too, but currently that's on hold until folks think more "
1242"about how names should be moved around the local system. We're calling this "
1243"more collaborative approach NSS2 for now."
1244msgstr ""
1245
1246#: template/gsoc.html.j2:225 template/gsoc.html.j2:399
1247#: template/gsoc.html.j2:439 template/gsoc.html.j2:469
1248msgid "Required Skills: C"
1249msgstr ""
1250
1251#: template/gsoc.html.j2:230 template/gsoc.html.j2:474
1252#: template/gsoc.html.j2:619
1253msgid "Difficulty level: medium"
1254msgstr ""
1255
1256#: template/gsoc.html.j2:238
1257msgid ""
1258"Design and implementation of <a href=\"http://jsonapi.org/\">REST APIs</a> "
1259"that expose the <a href=\"https://docs.gnunet.org/doxygen/modules.html"
1260"\">GNUnet API</a> so that easy, hands-on development is possible. Also, "
1261"browser-based UIs will be much easier to create on top of REST APIs."
1262msgstr ""
1263
1264#: template/gsoc.html.j2:249 template/gsoc.html.j2:609
1265msgid "<strong>Mentors:</strong> Martin Schanzenbach"
1266msgstr ""
1267
1268#: template/gsoc.html.j2:257
1269msgid ""
1270"Improve the Rust implementation of GNUnet utils, possibly including adding "
1271"support for asynchronous IO using mio, or perhaps a higher level "
1272"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
1273"gj."
1274msgstr ""
1275
1276#: template/gsoc.html.j2:273
1277msgid ""
1278"Implement rudimentary Android compatibility for GNUnet, in part by porting "
1279"the GNUnet utils scheduler to act as a thin wrapper over libuv."
1280msgstr ""
1281
1282#: template/gsoc.html.j2:280
1283msgid "<strong>Mentors:</strong> Jeff Burdges and Christian Grothoff"
1284msgstr ""
1285
1286#: template/gsoc.html.j2:288 template/gsoc.html.j2:532
1287msgid ""
1288"Implementation of a replacement for PANDA (see Pond) with better security, "
1289"and maybe integration with the GNU Name System for key exchange."
1290msgstr ""
1291
1292#: template/gsoc.html.j2:300
1293msgid "Required Skills: Rust or C, crypto"
1294msgstr ""
1295
1296#: template/gsoc.html.j2:305 template/gsoc.html.j2:362
1297#: template/gsoc.html.j2:404 template/gsoc.html.j2:444
1298msgid "Difficulty level: high"
1299msgstr ""
1300
1301#: template/gsoc.html.j2:313
1302msgid ""
1303"Implement different place types and file sharing by creating a new place for "
1304"the shared content."
1305msgstr ""
1306
1307#: template/gsoc.html.j2:319
1308msgid "Place types to be implemented:"
1309msgstr ""
1310
1311#: template/gsoc.html.j2:323
1312msgid ""
1313"<ul> <li>File: generic file with comments</li> <li>Image: display an image "
1314"with comments referencing a region of the image</li> <li>Sound: play a sound "
1315"file with comments referencing a timestamp</li> <li>Directory/Album: "
1316"pointers to File / Image / Sound places</li> <li>Event: with RSVP</li> "
1317"<li>Survey: ask your social neighborhood questions in a structured form</li> "
1318"</ul>"
1319msgstr ""
1320
1321#: template/gsoc.html.j2:334
1322msgid "Also provide the following UI functionality:"
1323msgstr ""
1324
1325#: template/gsoc.html.j2:338
1326msgid ""
1327"<ul> <li>Fork existing channels, reorganize people into new chatrooms or "
1328"channels.</li> <li>Share a post (edit and repost something elsewhere, on a "
1329"fan page for example).</li> <li>Edit a previously published post + offer "
1330"edit history to readers.</li> <li>Control expiry of channel history.</li> </"
1331"ul>"
1332msgstr ""
1333
1334#: template/gsoc.html.j2:347
1335msgid ""
1336"See also <a href=\"http://secushare.org/features\">http://secushare.org/"
1337"features</a>"
1338msgstr ""
1339
1340#: template/gsoc.html.j2:352
1341msgid "<strong>Mentors:</strong> lynX"
1342msgstr ""
1343
1344#: template/gsoc.html.j2:357
1345msgid "Required Skills: C/C++"
1346msgstr ""
1347
1348#: template/gsoc.html.j2:370
1349msgid ""
1350"Implement aggregation of distributed state from various channels in order to "
1351"provide for a powerful social graph API capable of producing social network "
1352"profiles, dashboards, a calendar out of upcoming event invitations (if "
1353"available), social search functionality and most of all to make it easy for "
1354"users to adopt cryptographic identities of their contacts/friends simply by "
1355"finding them in the social graph of their existing contacts (\"This is "
1356"Linda. You have 11 contacts in common with her. [ADD]\")."
1357msgstr ""
1358
1359#: template/gsoc.html.j2:388
1360msgid ""
1361"Related to <a href=\"http://secushare.org/rendezvous\">secushare.org/"
1362"rendezvous</a>"
1363msgstr ""
1364
1365#: template/gsoc.html.j2:394 template/gsoc.html.j2:434
1366msgid "<strong>Mentors:</strong> t3sserakt, lynX"
1367msgstr ""
1368
1369#: template/gsoc.html.j2:411
1370msgid ""
1371"<ul> <li> Emulate IMAP/SMTP protocols as necessary to transform traditional "
1372"mail clients into secushare user interfaces. </li> <li> Think of ways to map "
1373"e-mail addresses to secushare identities. </li> <li> Encode or translate "
1374"various e-mail features into secushare equivalents. </li> <li> Parts of "
1375"secushare are currently written in Rust, therefore Rust is preferred for "
1376"this task but it is not an requirement. </li> </ul>"
1377msgstr ""
1378
1379#: template/gsoc.html.j2:452
1380msgid ""
1381"Implementation of the GNUnet auction system described in Chapter 3 of <a "
1382"href=\"https://grothoff.org/christian/teich2017ms.pdf\">this thesis</a>. "
1383"Specific tasks are adding smart contract creation and round time enforcement "
1384"to libbrandt as well as creating the GNUnet auction service, library and the "
1385"three user interface programs create, info and join."
1386msgstr ""
1387
1388#: template/gsoc.html.j2:464
1389msgid "<strong>Mentors:</strong> mate, cg"
1390msgstr ""
1391
1392#: template/gsoc.html.j2:482
1393msgid ""
1394"Implementation of additional transports to make GNUnet communication more "
1395"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
1396"over-DNS"
1397msgstr ""
1398
1399#: template/gsoc.html.j2:489 template/gsoc.html.j2:503
1400msgid "<strong>Mentors:</strong> Matthias Wachs"
1401msgstr ""
1402
1403#: template/gsoc.html.j2:497
1404msgid ""
1405"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
1406"punching, better STUN support)"
1407msgstr ""
1408
1409#: template/gsoc.html.j2:511
1410msgid ""
1411"<strong>Mentors:</strong> Matthias Wachs, Christian Grothoff, Jeff Burdges"
1412msgstr ""
1413
1414#: template/gsoc.html.j2:519
1415msgid ""
1416"Improving libaboss to make computation on shared secrets (including repeated "
1417"multiplication) based on <a href=\"https://dl.acm.org/citation.cfm?"
1418"doid=62212.62213\">Ben-Or et al.</a> if possible. This in particular means "
1419"moving libaboss to bignums (gcry_mpi)."
1420msgstr ""
1421
1422#: template/gsoc.html.j2:547
1423msgid ""
1424"Please refer to the description for this project listed under GNU Guix "
1425"project ideas."
1426msgstr ""
1427
1428#: template/gsoc.html.j2:559
1429msgid ""
1430"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
1431"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
1432"around python-zbar, which itself wraps libzbar. The goal of this project is "
1433"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
1434"(see also <a href=\"https://bugs.gnunet.org/view.php?id=5562\">#5562</a>)."
1435msgstr ""
1436
1437#: template/gsoc.html.j2:569
1438msgid "<strong>Mentors:</strong> Christian Grothoff"
1439msgstr ""
1440
1441#: template/gsoc.html.j2:574
1442msgid "Required Skills:"
1443msgstr ""
1444
1445#: template/gsoc.html.j2:579
1446msgid "Difficulty level:"
1447msgstr ""
1448
1449#: template/gsoc.html.j2:584
1450msgid "Report:"
1451msgstr ""
1452
1453#: template/gsoc.html.j2:589
1454msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
1455msgstr ""
1456
1457#: template/gsoc.html.j2:599
1458msgid ""
1459"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
1460"to be determined framework such as Angular2. This includes the design and "
1461"implementation of not yet existing <a href=\"http://jsonapi.org/\">REST "
1462"APIs</a> that expose the <a href=\"https://docs.gnunet.org/doxygen/modules."
1463"html\">GNUnet API</a>."
1464msgstr ""
1465
1466#: template/gsoc.html.j2:614
1467msgid "Required Skills: C, JavaScript, CSS"
1468msgstr ""
1469
1470#: template/gsoc.html.j2:624
1471msgid ""
1472"Report: <a href=\"gsoc-2018-gnunet-webui.html\">GSoC 2018: GNUnet WebUI</a>"
1473msgstr ""
1474
1475#: template/index.html.j2:19
1476msgid ""
1477"GNUnet is a new network protocol stack for building secure, distributed, and "
1478"privacy-preserving applications. With strong roots in <a href=\"https://bib."
1479"gnunet.org\">academic research</a>, our goal is to replace the <a href="
1480"\"https://secushare.org/broken-internet\">old insecure Internet</a> protocol "
1481"stack."
1482msgstr ""
1483
1484#: template/index.html.j2:29
1485msgid ""
1486"GNUnet is typically run as an <a href=\"https://en.wikipedia.org/wiki/"
1487"Overlay_network\">overlay network</a> on top of the existing Internet "
1488"infrastructure forming the basis of a hybrid <a href=\"architecture.html"
1489"\">peer-to-peer mesh and relay backbone</a> for applications to run on. It "
1490"could just as well be run independently of the Internet, over <a href="
1491"\"https://en.wikipedia.org/wiki/Physical_layer\">dedicated radio and cable</"
1492"a>."
1493msgstr ""
1494
1495#: template/index.html.j2:38
1496msgid ""
1497"GNUnet is made for a free and open society: It&#39;s a self-organizing "
1498"network and it is <a href=\"http://www.gnu.org/philosophy/free-sw.html"
1499"\">free software</a> as in freedom. GNUnet puts you in control of your data. "
1500"You determine which data to share with whom, and you&#39;re not pressured to "
1501"accept compromises."
1502msgstr ""
1503
1504#: template/index.html.j2:89
1505msgid "The Internet of tomorrow needs GNUnet today"
1506msgstr ""
1507 123
1508#: template/index.html.j2:95
1509msgid "Imagine..."
1510msgstr ""
1511
1512#: template/index.html.j2:97
1513msgid ""
1514"The conventional Internet is currently like a system of roads with deep "
1515"potholes and highwaymen all over the place. Even if you still can use the "
1516"roads (e.g. send emails, or browse websites) your vehicle might get "
1517"hijacked, damaged, or long arms might reach into its back and steal your "
1518"items (data) to use it against you and sell it to others - while you can&#39;"
1519"t even notice the thievery nor accuse and hold the scroungers accountable. "
1520"<!-- Proposal from Fabian Gerlach: The conventional Internet is currently "
1521"like a system of roads with deep potholes and surveillance cameras all over "
1522"the place. Even if you still can use the roads (e.g. send emails, or browse "
1523"websites) your vehicle might gets damaged. And the surveillance cameras will "
1524"create a movement profile about your life: They recognize your car license "
1525"plate, track you everywhere you drive, and save this information in a "
1526"central data base. -->"
1527msgstr ""
1528
1529#: template/index.html.j2:121
1530msgid "The Internet is broken"
1531msgstr ""
1532
1533#: template/index.html.j2:123
1534msgid ""
1535"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: "
1536"protecting against address forgery, routers learning metadata, or choosing "
1537"trustworthy CAs is nontrivial and sometimes impossible. <!-- Proposal from "
1538"Fabian Gerlach: The Internet is not designed with security in mind: The "
1539"network generally learns too much about users; it has insecure defaults and "
1540"high complexity; and it is centralized. That makes it very vulnerable for "
1541"multiple attacks massively threatening our freedom. -->"
1542msgstr ""
1543
1544#: template/index.html.j2:137
1545msgid ""
1546"GNUnet provides <a href=\"https://www.w3.org/2014/strint/papers/65.pdf"
1547"\">privacy by design</a>, improving addressing, routing, naming and content "
1548"distribution in a technically robust manner - as opposed to ad-hoc designs "
1549"in place today. <!-- Proposal from fabian gerlach: GNUnet is built <a href="
1550"\"https://www.w3.org/2014/strint/papers/65.pdf\">\"privacy by design\"</a> "
1551"and \"distributed by design\". This improves addressing, routing, naming and "
1552"content distribution in a technically robust manner. -->"
1553msgstr ""
1554
1555#: template/index.html.j2:155
1556msgid "Decentralization is hard"
1557msgstr ""
1558
1559#: template/index.html.j2:158
1560msgid ""
1561"<!-- replaced with Proposal from Fabian Gerlach: It seems as if every other "
1562"distributed or P2P project develops its own library stack, covering "
1563"transports, stream muxing, discovery and others. This divides effort and "
1564"multiplies bug count. --> Instead of sharing common components and tools for "
1565"building P2P systems, every P2P project seems to re-invent the wheel. <!-- "
1566"TODO: rework this sentence. --> This heightens the effort and increases the "
1567"potential number of vulnerabilities."
1568msgstr ""
1569
1570#: template/index.html.j2:174
1571msgid ""
1572"GNUnet is a metadata-preserving foundation for your application, covering "
1573"areas from addressing to reliable bidirectional Axolotl-encrypted channels, "
1574"with advanced routing. Our work is based on continuous research spanning "
1575"almost two decades."
1576msgstr ""
1577
1578#: template/index.html.j2:188
1579msgid "Metadata is exposed"
1580msgstr ""
1581
1582#: template/index.html.j2:190
1583msgid ""
1584"Your metadata is just as revealing as the actual content; and it gets "
1585"exposed on the Internet.<br> Even though transport encryption is "
1586"increasingly being deployed on the Internet, it still reveals data that can "
1587"threaten democracy: the identities of senders and receivers, the times, "
1588"frequency and the volume of communication are all still revealed.<br> <!-- "
1589"Looks like a weak argumentation to me: which <a href=\"https://www.freehaven."
1590"net/anonbib/cache/websitefingerprinting-pets2016.pdf\">enables reverse-"
1591"engineering pages visited via website fingerprinting</a>. --> GNUnet <a href="
1592"\"https://secushare.org/anonymity\">addresses</a> these concerns with "
1593"perfect forward secrecy via ephemeral public key addressing, fixed packet "
1594"size to hinder traffic analysis, layered encryption, Sybil-resistant "
1595"routing, and more."
1596msgstr ""
1597
1598#: template/index.html.j2:213
1599msgid "Freedoms are not respected"
1600msgstr ""
1601
1602#: template/index.html.j2:215
1603msgid ""
1604"Today, monitoring increasingly centralized infrastructure, proprietary "
1605"implementations, traffic shapers and firewalls restrict all of the <a href="
1606"\"https://www.gnu.org/philosophy/free-sw.html\">essential freedoms</a> to "
1607"various degrees."
1608msgstr ""
1609
1610#: template/index.html.j2:224
1611msgid ""
1612"GNUnet gives users freedoms to securely access information (\"run\" the "
1613"network), to study all aspects of the network&#39;s operation (\"access the "
1614"code\"), to distribute information (\"copy\"), as well as the freedom to "
1615"deploy new applications (\"modify\")."
1616msgstr ""
1617
1618#: template/index.html.j2:236
1619#, fuzzy 124#, fuzzy
1620#| msgid "About GNUnet" 125#~| msgid "About GNUnet"
1621msgid "Learn more about GNUnet" 126#~ msgid "Learn more about GNUnet"
1622msgstr "Sobre GNUnet" 127#~ msgstr "Sobre GNUnet"
1623
1624#: template/index.html.j2:238
1625msgid ""
1626"If you want to know more about the GNUnet please continue reading the <a "
1627"href=\"about.html\">about page</a>. There are much more resources, such as "
1628"the <a href=\"https://docs.gnunet.org\">main handbook / reference manual</"
1629"a>, a <a href=\"https://bib.gnunet.org/\">bibliography</a> and <a href="
1630"\"https://gnunet.org/en/video.html\">videos</a>."
1631msgstr ""
1632
1633#: template/index.html.j2:247
1634msgid ""
1635"You are very welcome to <a href=\"https://gnunet.org/en/engage.html\"> get "
1636"engaged into the conversation</a>, <a href=\"https://gnunet.org/en/install."
1637"html\">install GNUnet</a>, <a href=\"https://gnunet.org/en/use.html\">use "
1638"it</a> and <a href=\"https://gnunet.org/en/engage.html\">contribute</a>. "
1639"<br> Be aware that this project is still in an early alpha stage when it "
1640"comes to software &#8211; it is not an easy task to rewrite the whole "
1641"Internet!"
1642msgstr ""
1643
1644#: template/index.html.j2:269
1645msgid "Featured Applications"
1646msgstr ""
1647
1648#: template/index.html.j2:275
1649msgid "GNU Taler (Alpha)"
1650msgstr ""
1651
1652#: template/index.html.j2:277
1653msgid ""
1654"<a href=\"https://taler.net/\">GNU Taler</a> is a new privacy-preserving "
1655"electronic payment system. Payments are cryptographically secured and are "
1656"confirmed within milliseconds with extremely low transaction costs."
1657msgstr ""
1658
1659#: template/index.html.j2:289
1660msgid "The GNU Name System"
1661msgstr ""
1662
1663#: template/index.html.j2:292
1664msgid ""
1665"<!-- The <a href=\"use.html#gns\">GNU Name System (GNS)</a> --> The <a href="
1666"\"https://docs.gnunet.org/handbook/gnunet.html#The-GNU-Name-System\">GNU "
1667"Name System (GNS)</a> is a fully decentralized replacement for the Domain "
1668"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. "
1669"Naming conventions are similar to DNS, but queries and replies are private "
1670"even with respect to peers providing the answers. The integrity of records "
1671"and privacy of look-ups is cryptographically secured. <!-- Too technical: "
1672"GNS integrates a robust, efficient and instant key revocation mechanism. -->"
1673msgstr ""
1674
1675#: template/index.html.j2:309
1676msgid "re:claimID"
1677msgstr ""
1678
1679#: template/index.html.j2:311
1680msgid ""
1681"<a href=\"https://reclaim-identity.io/\">re:claimID</a> is a decentralized "
1682"Identity Provider (IdP) service built in top of the GNU Name System. It "
1683"allows users to securely share personal information with websites using "
1684"standardized protocols (OpenID Connect)."
1685msgstr ""
1686
1687#: template/index.html.j2:324
1688msgid "Filesharing (Alpha)"
1689msgstr ""
1690
1691#: template/index.html.j2:326
1692msgid ""
1693"GNUnet <a href=\"use.html#fs\">filesharing</a> is an application that aims "
1694"to provide censorship-resistant, anonymous filesharing. The publisher is "
1695"empowered to make a gradual choice between performance and anonymity."
1696msgstr ""
1697
1698#: template/index.html.j2:337
1699msgid "Conversation (Pre-Alpha)"
1700msgstr ""
1701
1702#: template/index.html.j2:339
1703msgid ""
1704"GNUnet conversation is an application that provides secure voice "
1705"communication in a fully decentralized way by employing GNUnet for routing "
1706"and transport."
1707msgstr ""
1708
1709#: template/index.html.j2:355
1710msgid "Upcoming Applications"
1711msgstr ""
1712
1713#: template/index.html.j2:361
1714msgid "secushare"
1715msgstr ""
1716
1717#: template/index.html.j2:363
1718msgid ""
1719"<a href=\"https://secushare.org/\">secushare</a> is creating a decentralized "
1720"social networking application on top of GNUnet. Using overlay multicast and "
1721"the extensible PSYC protocol, notifications are distributed end-to-end "
1722"encrypted to authorized recipients only."
1723msgstr ""
1724
1725#: template/index.html.j2:375
1726msgid "pretty Easy privacy"
1727msgstr ""
1728
1729#: template/index.html.j2:377
1730msgid ""
1731"<a href=\"https://pep.foundation/\">pretty Easy privacy</a> (p&#8801;p) is "
1732"creating a usable end-to-end encrypted e-mail solution using opportunistic "
1733"key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
1734"cryptographic protocols to verify keys."
1735msgstr ""
1736
1737#: template/install-on-archpi.html.j2:6
1738msgid "Tutorial: GNUnet on Arch Linux/Pi"
1739msgstr ""
1740
1741#: template/install-on-archpi.html.j2:16
1742msgid "Requirements for Raspberry Pi 3"
1743msgstr ""
1744
1745#: template/install-on-archpi.html.j2:40
1746msgid "Get the Source Code"
1747msgstr ""
1748
1749#: template/install-on-archpi.html.j2:62
1750#: template/install-on-debian9.html.j2:130
1751msgid "In Addition: gnunet-gtk"
1752msgstr ""
1753 128
1754#: template/install-on-archpi.html.j2:79
1755msgid "Run"
1756msgstr ""
1757
1758#: template/install-on-archpi.html.j2:131
1759msgid "Make sure, it works!"
1760msgstr ""
1761
1762#: template/install-on-debian9.html.j2:6
1763msgid "Tutorial: GNUnet on Debian 9"
1764msgstr ""
1765
1766#: template/install-on-debian9.html.j2:9
1767#: template/install-on-ubuntu1804.html.j2:9
1768msgid "Introduction"
1769msgstr ""
1770
1771#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17
1772#: template/install-on-netbsd.html.j2:19
1773#: template/install-on-ubuntu1804.html.j2:26
1774msgid "Requirements"
1775msgstr ""
1776
1777#: template/install-on-debian9.html.j2:45
1778#: template/install-on-ubuntu1804.html.j2:41
1779msgid "Make an installation directory"
1780msgstr ""
1781
1782#: template/install-on-debian9.html.j2:59
1783#: template/install-on-macos.html.j2:134
1784#: template/install-on-netbsd.html.j2:224
1785#: template/install-on-ubuntu1804.html.j2:53
1786msgid "Get the source code"
1787msgstr ""
1788
1789#: template/install-on-debian9.html.j2:78
1790#: template/install-on-macos.html.j2:142
1791#: template/install-on-netbsd.html.j2:232
1792#: template/install-on-ubuntu1804.html.j2:61
1793msgid "Compile and Install"
1794msgstr ""
1795
1796#: template/install-on-debian9.html.j2:103
1797#: template/install-on-ubuntu1804.html.j2:70
1798msgid "Option 1: GNUnet for testing / usage"
1799msgstr ""
1800
1801#: template/install-on-debian9.html.j2:116
1802#: template/install-on-ubuntu1804.html.j2:82
1803msgid "Option 2: GNUnet for development"
1804msgstr ""
1805
1806#: template/install-on-debian9.html.j2:153
1807#: template/install-on-ubuntu1804.html.j2:97
1808msgid "Install GNUnet plugin for name resolution"
1809msgstr ""
1810
1811#: template/install-on-debian9.html.j2:207
1812#: template/install-on-ubuntu1804.html.j2:134
1813msgid "Create configuration file"
1814msgstr ""
1815
1816#: template/install-on-debian9.html.j2:227
1817#: template/install-on-ubuntu1804.html.j2:156
1818msgid "Use GNUnet!"
1819msgstr ""
1820
1821#: template/install-on-debian9.html.j2:232
1822#: template/install-on-ubuntu1804.html.j2:162
1823msgid "Uninstall GNUnet and its dependencies"
1824msgstr ""
1825
1826#: template/install-on-macos.html.j2:6
1827msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
1828msgstr ""
1829
1830#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30
1831msgid "Installation"
1832msgstr ""
1833
1834#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102
1835msgid "First steps"
1836msgstr ""
1837
1838#: template/install-on-macos.html.j2:109
1839#: template/install-on-netbsd.html.j2:182
1840msgid "Alternative: Installation from source"
1841msgstr ""
1842
1843#: template/install-on-macos.html.j2:154
1844#: template/install-on-netbsd.html.j2:242
1845msgid "Option 1: GNUnet for production / usage"
1846msgstr ""
1847
1848#: template/install-on-macos.html.j2:187
1849#: template/install-on-netbsd.html.j2:267
1850msgid "Option 2: GNUnet experimental"
1851msgstr ""
1852
1853#: template/install-on-netbsd.html.j2:6
1854msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
1855msgstr ""
1856
1857#: template/install-on-ubuntu1804.html.j2:6
1858msgid "Tutorial: GNUnet on Ubuntu 18.04"
1859msgstr ""
1860
1861#: template/install.html.j2:11
1862msgid ""
1863"<p>The following GNUnet installation instructions help you building from "
1864"source for your distribution.</p> <p><i>Please note that the installation "
1865"process will get much easier once we have proper packages again (planned for "
1866"winter 2019).</i></p> <p>You have already installed GNUnet and want to use "
1867"it? <a href=\"https://gnunet.org/en/use\">Check this out!</a> </p>"
1868msgstr ""
1869
1870#: template/install.html.j2:19
1871msgid ""
1872"<p>Please be aware that this project is still in an early alpha stage when "
1873"it comes to running software &#8211; its not an easy task to rewrite the "
1874"whole Internet! We are happy to get your <a href=\"engage.html\">helping "
1875"hand</a> anytime!</p> <p>Further information is available in our <a href="
1876"\"https://docs.gnunet.org/#toc-Using-GNUnet-1\">handbook</a>.</p> <p>If you "
1877"have any queries about the installation or the usage, please <a href="
1878"\"engage.html\">get in touch!</a></p>"
1879msgstr ""
1880
1881#: template/use.html.j2:6
1882msgid "How to use GNUnet - in a nutshell"
1883msgstr ""
1884
1885#: template/use.html.j2:12 template/use.html.j2:123
1886msgid "Filesharing"
1887msgstr ""
1888
1889#: template/use.html.j2:13
1890msgid "CADET"
1891msgstr ""
1892
1893#: template/use.html.j2:14
1894msgid "Minimal Groupchat"
1895msgstr ""
1896
1897#: template/use.html.j2:15
1898msgid "GNS with CLI"
1899msgstr ""
1900
1901#: template/use.html.j2:16
1902msgid "GNS with Browser"
1903msgstr ""
1904
1905#: template/use.html.j2:17 template/use.html.j2:441
1906msgid "VPN"
1907msgstr ""
1908
1909#: template/use.html.j2:18 template/use.html.j2:501
1910msgid "Conversation"
1911msgstr ""
1912
1913#: template/use.html.j2:19 template/use.html.j2:512
1914msgid "Trouble Shooting"
1915msgstr ""
1916
1917#: template/use.html.j2:34
1918#, fuzzy 129#, fuzzy
1919#| msgid "What is GNUnet?" 130#~| msgid "What is GNUnet?"
1920msgid "Get on GNUnet" 131#~ msgid "Get on GNUnet"
1921msgstr "Qué es GNUnet?" 132#~ msgstr "Qué es GNUnet?"
1922 133
1923#: template/use.html.j2:78
1924#, fuzzy 134#, fuzzy
1925#| msgid "What is GNUnet?" 135#~| msgid "What is GNUnet?"
1926msgid "Get off GNUnet" 136#~ msgid "Get off GNUnet"
1927msgstr "Qué es GNUnet?" 137#~ msgstr "Qué es GNUnet?"
1928
1929#: template/use.html.j2:88
1930msgid "Make sure your GNUnet installation works..."
1931msgstr ""
1932
1933#: template/use.html.j2:105
1934msgid "... and play around with it."
1935msgstr ""
1936
1937#: template/use.html.j2:181
1938msgid "CADET (and Chat)"
1939msgstr ""
1940
1941#: template/use.html.j2:215
1942msgid "Chatting with a (simple) client"
1943msgstr ""
1944
1945#: template/use.html.j2:289
1946msgid "Name resolution using GNS on the command line"
1947msgstr ""
1948
1949#: template/use.html.j2:361
1950msgid "Name resolution using GNS with a browser"
1951msgstr ""
1952
1953#: template/use.html.j2:514
1954msgid "You can't reach other people's nodes"
1955msgstr ""
1956
1957#: template/use.html.j2:550
1958msgid "OMG you guys broke my internet"
1959msgstr ""
1960
1961#: template/video.html.j2:12
1962msgid "Videos related to GNUnet"
1963msgstr ""
1964 138
1965#~ msgid "IRC archive" 139#~ msgid "IRC archive"
1966#~ msgstr "Archivo IRC" 140#~ msgstr "Archivo IRC"
diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po
index 114a8dd6..2a89f105 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -17,1931 +17,3 @@ msgstr ""
17"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
18"Language: fr\n" 18"Language: fr\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
20
21#: common/base.j2:5 common/news.j2:5
22msgid "GNUnet"
23msgstr ""
24
25#: common/base.j2:6 common/news.j2:6
26msgid "GNU's framework for secure p2p networking"
27msgstr ""
28
29#: common/footer.j2.inc:7
30msgid "Contact"
31msgstr ""
32
33#: common/footer.j2.inc:8 common/navigation.j2.inc:48
34msgid "GNUnet e.V."
35msgstr ""
36
37#: common/footer.j2.inc:9 template/about.html.j2:6
38msgid "About GNUnet"
39msgstr ""
40
41#: common/footer.j2.inc:14 common/navigation.j2.inc:61
42msgid "Bug Tracker"
43msgstr ""
44
45#: common/footer.j2.inc:19 template/copyright.html.j2:6
46msgid "Copyright Assignment"
47msgstr ""
48
49#: common/footer.j2.inc:20 common/navigation.j2.inc:89
50#: template/developers.html.j2:24
51msgid "Bibliography"
52msgstr ""
53
54#: common/footer.j2.inc:31
55msgid "Source code of this site."
56msgstr ""
57
58#: common/footer.j2.inc:32
59msgid "Report issues with this website."
60msgstr ""
61
62#: common/navigation.j2.inc:38 template/index.html.j2:51
63msgid "About"
64msgstr ""
65
66#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64
67msgid "News"
68msgstr ""
69
70#: common/navigation.j2.inc:43
71msgid "Community"
72msgstr ""
73
74#: common/navigation.j2.inc:46 template/index.html.j2:55
75msgid "Engage"
76msgstr ""
77
78#: common/navigation.j2.inc:47
79msgid "GSoC Projects"
80msgstr ""
81
82#: common/navigation.j2.inc:49
83msgid "Copyright for Contributors"
84msgstr ""
85
86#: common/navigation.j2.inc:50
87msgid "IRC Archive"
88msgstr ""
89
90#: common/navigation.j2.inc:57
91msgid "Development"
92msgstr ""
93
94#: common/navigation.j2.inc:60
95msgid "System Architecture"
96msgstr ""
97
98#: common/navigation.j2.inc:62 template/gnurl.html.j2:147
99msgid "Source Code"
100msgstr ""
101
102#: common/navigation.j2.inc:63
103msgid "Source Code Documentation"
104msgstr ""
105
106#: common/navigation.j2.inc:66
107msgid "Continuous Integration"
108msgstr ""
109
110#: common/navigation.j2.inc:68
111msgid "Development Tutorial"
112msgstr ""
113
114#: common/navigation.j2.inc:79
115msgid "Documentation"
116msgstr ""
117
118#: common/navigation.j2.inc:82 template/index.html.j2:53
119#: template/install.html.j2:6
120msgid "Install"
121msgstr ""
122
123#: common/navigation.j2.inc:83
124msgid "Use"
125msgstr ""
126
127#: common/navigation.j2.inc:84
128msgid "Videos"
129msgstr ""
130
131#: common/navigation.j2.inc:85 template/glossary.html.j2:6
132msgid "Glossary"
133msgstr ""
134
135#: common/navigation.j2.inc:86
136msgid "Handbook"
137msgstr ""
138
139#: common/navigation.j2.inc:87
140msgid "REST API"
141msgstr ""
142
143#: common/navigation.j2.inc:88
144msgid "FAQ"
145msgstr ""
146
147#: inc/news.macro.j2:10
148msgid "read more"
149msgstr ""
150
151#: template/about.html.j2:11
152msgid "What is GNUnet?"
153msgstr ""
154
155#: template/about.html.j2:13
156msgid ""
157"GNUnet is an alternative network stack for building secure, decentralized "
158"and privacy-preserving distributed applications. Our goal is to replace the "
159"old insecure Internet protocol stack. Starting from an application for "
160"secure publication of files, it has grown to include all kinds of basic "
161"protocol components and applications towards the creation of a GNU internet."
162msgstr ""
163
164#: template/about.html.j2:23
165msgid ""
166"Today, the actual use and thus the social requirements for a global network "
167"differs widely from those goals of 1970. While the Internet remains suitable "
168"for military use, where the network equipment is operated by a command "
169"hierarchy and when necessary isolated from the rest of the world, the "
170"situation is less tenable for civil society."
171msgstr ""
172
173#: template/about.html.j2:32
174msgid ""
175"Due to fundamental Internet design choices, Internet traffic can be "
176"misdirected, intercepted, censored and manipulated by hostile routers on the "
177"network. And indeed, the modern Internet has evolved exactly to the point "
178"where, as Matthew Green put it, <a href=\"https://blog."
179"cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the "
180"network is hostile\"</a>."
181msgstr ""
182
183#: template/about.html.j2:41
184msgid ""
185"We believe liberal societies need a network architecture that uses the anti-"
186"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
187"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
188"Software realization of this ideal."
189msgstr ""
190
191#: template/about.html.j2:49
192msgid ""
193"Specifically, GNUnet tries to follow the following design principles, in "
194"order of importance:"
195msgstr ""
196
197#: template/about.html.j2:56
198msgid ""
199"GNUnet must be implemented as <a href=\"https://www.gnu.org/philosophy/free-"
200"sw.html\">Free Software</a>."
201msgstr ""
202
203#: template/about.html.j2:60
204msgid ""
205"GNUnet must minimize the amount of personally identifiable information "
206"exposed."
207msgstr ""
208
209#: template/about.html.j2:61
210msgid ""
211"GNUnet must be fully distributed and resilient to external attacks and rogue "
212"participants."
213msgstr ""
214
215#: template/about.html.j2:62
216msgid ""
217"GNUnet must be self-organizing and not depend on administrators or "
218"centralized infrastructure."
219msgstr ""
220
221#: template/about.html.j2:63
222msgid ""
223"GNUnet must inform the user which other participants have to be trusted when "
224"establishing private communications."
225msgstr ""
226
227#: template/about.html.j2:64
228msgid "GNUnet must be open and permit new peers to join."
229msgstr ""
230
231#: template/about.html.j2:65
232msgid "GNUnet must support a diverse range of applications and devices."
233msgstr ""
234
235#: template/about.html.j2:66
236msgid "GNUnet must use compartmentalization to protect sensitive information."
237msgstr ""
238
239#: template/about.html.j2:67
240msgid "The GNUnet architecture must be resource efficient."
241msgstr ""
242
243#: template/about.html.j2:68
244msgid ""
245"GNUnet must provide incentives for peers to contribute more resources than "
246"they consume."
247msgstr ""
248
249#: template/about.html.j2:72
250msgid ""
251"To get know and learn more, please check our <a href=\"https://docs.gnunet."
252"org/handbook/gnunet.html\">handbook</a>, especially the <a href=\"https://"
253"docs.gnunet.org/handbook/gnunet.html#Key-Concepts\">chapter on \"Key Concepts"
254"\"</a>, explaining the fundamental concepts of GNUnet: <ul> <li><a href="
255"\"https://docs.gnunet.org/handbook/gnunet.html#Authentication"
256"\">Authentication</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
257"gnunet.html#Accounting-to-Encourage-Resource-Sharing\">Accounting to "
258"Encourage Resource Sharing</a></li> <li><a href=\"https://docs.gnunet.org/"
259"handbook/gnunet.html#Confidentiality\">Confidentiality</a></li> <li><a href="
260"\"https://docs.gnunet.org/handbook/gnunet.html#Anonymity\">Anonymity</a></"
261"li> <li><a href=\"https://docs.gnunet.org/handbook/gnunet.html#Deniability"
262"\">Deniability</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
263"gnunet.html#Peer-Identities\">Peer Identities</a></li> <li><a href=\"https://"
264"docs.gnunet.org/handbook/gnunet.html#Zones-in-the-GNU-Name-System-_0028GNS-"
265"Zones_0029\">Zones in the GNU Name System (GNS Zones)</a></li> <li><a href="
266"\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos</a></li> </ul>"
267msgstr ""
268
269#: template/about.html.j2:88
270msgid "More Resources"
271msgstr ""
272
273#: template/about.html.j2:90
274msgid ""
275"There are many more resources to learn about GNUnet besides the <a href="
276"\"https://docs.gnunet.org/handbook/gnunet.html\">handbook</a>, such as the "
277"<a href=\"https://bib.gnunet.org/\">bibliography</a> with papers covering "
278"the various layers, many <a href=\"https://gnunet.org/en/video.html"
279"\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html"
280"\">glossary</a>."
281msgstr ""
282
283#: template/about.html.j2:95
284msgid ""
285"You are most welcome to <a href=\"engage.html\">get engaged into the "
286"conversation</a>, <a href=\"install.html\">install GNUnet</a>, <a href=\"use."
287"html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
288"in various ways."
289msgstr ""
290
291#: template/about.html.j2:100
292msgid ""
293"Please be aware that this project is (despite of it's age) still in an early "
294"alpha stage when it comes to software &#8211; its not an easy task to "
295"rewrite the whole Internet!"
296msgstr ""
297
298#: template/about.html.j2:105
299msgid "Current funding"
300msgstr ""
301
302#: template/about.html.j2:110
303msgid ""
304"We're receiving funding from NLnet's Next Generation Internet funding line "
305"to document and implement the GNU Name System protocol in a way suitable for "
306"the IETF standardization process."
307msgstr ""
308
309#: template/about.html.j2:123
310msgid ""
311"We are grateful for free hosting offered by the following organizations:"
312msgstr ""
313
314#: template/about.html.j2:132
315msgid "Past funding"
316msgstr ""
317
318#: template/about.html.j2:134
319msgid "We are grateful for past funding from the following organizations:"
320msgstr ""
321
322#: template/architecture.html.j2:6
323msgid "GNUnet System Architecture"
324msgstr ""
325
326#: template/architecture.html.j2:15
327msgid "Legend"
328msgstr ""
329
330#: template/architecture.html.j2:55
331msgid "Foundations"
332msgstr ""
333
334#: template/architecture.html.j2:57
335msgid ""
336"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
337"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
338"(GNS) and a pluggable transport system (TRANSPORT).<br> Using public keys "
339"for addresses and self-organized decentralized routing algorithms, these "
340"subsystems replace the traditional TCP/IP stack."
341msgstr ""
342
343#: template/architecture.html.j2:70
344msgid "Security"
345msgstr ""
346
347#: template/architecture.html.j2:73
348msgid ""
349"GNUnet is implemented using a multi-process architecture. Each subsystem "
350"runs as a separate process, providing fault-isolation and enabling tight "
351"permissions to be granted to each subsystem. Naturally, the implementation "
352"is a <a href=\"https://www.gnu.org/\">GNU</a> package, and will always "
353"remain free software."
354msgstr ""
355
356#: template/architecture.html.j2:87
357msgid "System architecture"
358msgstr ""
359
360#: template/architecture.html.j2:93
361msgid "Subsystems"
362msgstr ""
363
364#: template/architecture.html.j2:102
365msgid "libgnunetutil"
366msgstr ""
367
368#: template/architecture.html.j2:108
369msgid "APIs"
370msgstr ""
371
372#: template/contact.html.j2:6
373msgid "Contact information"
374msgstr ""
375
376#: template/contact.html.j2:11
377msgid "The mailing list"
378msgstr ""
379
380#: template/contact.html.j2:13
381msgid ""
382"An archived, public mailing list for GNUnet is hosted at <a href=\"https://"
383"lists.gnu.org/mailman/listinfo/gnunet-developers\">https://lists.gnu.org/"
384"mailman/listinfo/gnunet-developers</a>. You can send messages to the list at "
385"<a href=\"mailto:gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
386msgstr ""
387
388#: template/contact.html.j2:23
389msgid "The IRC channel"
390msgstr ""
391
392#: template/contact.html.j2:25
393msgid ""
394"<tt>#gnunet</tt> is reachable via <a href=\"https://freenode.net\">irc."
395"freenode.net</a>. There is also an <a href=\"https://old.gnunet.org/bot/log/"
396"gnunet\">archive</a> available (currently unavailable, we are working on "
397"restoring access to it)."
398msgstr ""
399
400#: template/contact.html.j2:38
401msgid "Contacting individuals"
402msgstr ""
403
404#: template/contact.html.j2:40
405msgid ""
406"GNUnet developers are generally reachable at either <tt>PSEUDONYM@gnunet."
407"org</tt> or <tt>LASTNAME@gnunet.org</tt>. Most of us support receiving GnuPG "
408"encrypted Emails."
409msgstr ""
410
411#: template/contact.html.j2:50
412msgid "Reporting bugs"
413msgstr ""
414
415#: template/contact.html.j2:52
416msgid ""
417"We track open feature requests and bugs for projects within GNUnet in our <a "
418"href=\"https://bugs.gnunet.org/\">Bug tracker</a>. You can also report bugs "
419"or feature requests to the <a href=\"https://lists.gnu.org/mailman/listinfo/"
420"bug-gnunet\">bug-gnunet</a> mailing list. The mailinglist requires no "
421"subscription."
422msgstr ""
423
424#: template/copyright.html.j2:11
425msgid ""
426"<p> Contributors to GNUnet with Git access must sign the <a href=\"/static/"
427"pdf/copyright.pdf\">copyright assignment</a> to ensure that the <a href="
428"\"https://git.gnunet.org/gnunet-ev.git/tree/gnunet_taler_agreement.tex"
429"\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative "
430"development</a> of the GNUnet and GNU Taler projects is satisfied. </p>"
431msgstr ""
432
433#: template/copyright.html.j2:22
434msgid ""
435"<p>The agreements ensure that the code will continue to be made available "
436"under free software licenses, but gives developers the freedom to move code "
437"between GNUnet and GNU Taler without worrying about licenses and to give the "
438"company the ability to dual-license (for example, so that we can distribute "
439"via App-stores that are hostile to free software).</p>"
440msgstr ""
441
442#: template/copyright.html.j2:30
443msgid ""
444"<p>Minor contributions (basically, anyone without Git access) do not require "
445"copyright assignment. Pseudonymous contributions are accepted, in this case "
446"simply sign the agreement with your pseudonym. Scanned copies are "
447"sufficient, but snail mail is preferred.</p>"
448msgstr ""
449
450#: template/developers.html.j2:5
451msgid "GNUnet for developers"
452msgstr ""
453
454#: template/developers.html.j2:13
455msgid "Repositories"
456msgstr ""
457
458#: template/developers.html.j2:16
459msgid ""
460"A list of our Git repositories can be found on our our <a href=\"https://git."
461"gnunet.org/\">Git Server</a>."
462msgstr ""
463
464#: template/developers.html.j2:27
465msgid ""
466"Technical papers can be found in our <a href=\"https://old.gnunet.org/"
467"bibliography\">bibliography</a>."
468msgstr ""
469
470#: template/developers.html.j2:34
471msgid "Discussion"
472msgstr ""
473
474#: template/developers.html.j2:37
475msgid ""
476"We have a mailing list for developer discussions. You can subscribe to or "
477"read the list archive at <a href=\"http://lists.gnu.org/mailman/listinfo/"
478"gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
479"a>."
480msgstr ""
481
482#: template/developers.html.j2:47
483msgid "Regression Testing"
484msgstr ""
485
486#: template/developers.html.j2:50
487msgid ""
488"We have <a href=\"https://buildbot.net/\">Buildbot</a> automation tests to "
489"detect regressions and check for portability at <a href=\"https://old.gnunet."
490"org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
491msgstr ""
492
493#: template/developers.html.j2:59
494msgid "Code Coverage Analysis"
495msgstr ""
496
497#: template/developers.html.j2:62
498msgid ""
499"We use <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\">LCOV</a> to "
500"analyze the code coverage of our tests, the results are available at <a href="
501"\"https://old.gnunet.org/coverage/\">https://old.gnunet.org/coverage/</a>."
502msgstr ""
503
504#: template/developers.html.j2:72
505msgid "Performance Analysis"
506msgstr ""
507
508#: template/developers.html.j2:75
509msgid ""
510"We use <a href=\"https://old.gnunet.org/gauger\">Gauger</a> for performance "
511"regression analysis of the exchange backend at <a href=\"https://old.gnunet."
512"org/gauger/\">https://old.gnunet.org/gauger/</a>."
513msgstr ""
514
515#: template/download.html.j2:7 template/gnurl.html.j2:169
516msgid "Downloads"
517msgstr ""
518
519#: template/download.html.j2:11
520msgid ""
521"Here you can download releases of our software and find links to the various "
522"versions."
523msgstr ""
524
525#: template/download.html.j2:17
526msgid "0.11.x series"
527msgstr ""
528
529#: template/download.html.j2:18
530msgid "tarball"
531msgstr ""
532
533#: template/download.html.j2:20
534msgid ""
535"The tarball of the latest version can be obtained from GNU FTP and its "
536"mirrors."
537msgstr ""
538
539#: template/download.html.j2:30
540msgid "git"
541msgstr ""
542
543#: template/download.html.j2:32
544msgid ""
545"You can fetch the git tag of version 0.11.x from our development server:"
546msgstr ""
547
548#: template/engage.html.j2:6
549msgid "Engage!"
550msgstr ""
551
552#: template/ev.html.j2:6
553msgid "Verein zur F&ouml;rderung von GNUnet e.V."
554msgstr ""
555
556#: template/ev.html.j2:11
557msgid "About GNUnet e.V."
558msgstr ""
559
560#: template/ev.html.j2:13
561msgid ""
562"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
563"\"Verein zur F&ouml;rderung von GNUnet e.V.\", an association under German "
564"law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
565"the association on the 7th of March under VR 205287."
566msgstr ""
567
568#: template/ev.html.j2:22
569msgid ""
570"The association is officially dedicated to supporting research, development "
571"and education in the area of secure decentralized networking in general, and "
572"GNUnet specifically. This is the official website for the association."
573msgstr ""
574
575#: template/ev.html.j2:31
576msgid "Becoming a Member of GNUnet e.V."
577msgstr ""
578
579#: template/ev.html.j2:33
580msgid ""
581"GNUnet developers with git (write) access can become members to participate "
582"in the decision process and formally support GNUnet e.V. For this, all you "
583"have to do is update the <tt>members.txt</tt> file in the <a href=\"https://"
584"git.gnunet.org/gnunet-ev.git/\">gnunet-ev</a> repository. There are no "
585"membership dues; however, members are required to support GNUnet e.V. and in "
586"particularly contribute to the technical development within their means. For "
587"further details, we refer to the <a href=\"https://git.gnunet.org/gnunet-ev."
588"git/\">Satzung</a> (currently only available in German, translations "
589"welcome)."
590msgstr ""
591
592#: template/ev.html.j2:52
593msgid "Governance"
594msgstr ""
595
596#: template/ev.html.j2:54
597msgid ""
598"You can find our \"Satzung\", and the list of members under <a href="
599"\"https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex\">https://git.gnunet."
600"org/gnunet-ev.git/tree/satzung.tex</a>. The current board consists of: "
601"<dl><dt>Vorsitz</dt> <dd><a href=\"https://grothoff.org/christian/"
602"\">Christian Grothoff</a></dd> <dt>stellvertretender Vorsitz</dt> <dd>xrs</"
603"dd> <dt>Kassenwart</dt> <dd>Florian Dold</dd> <dt>Beisitzer</dt> <dd>Lurchi</"
604"dd> </dl>"
605msgstr ""
606
607#: template/ev.html.j2:71
608msgid "Official Meeting Notes"
609msgstr ""
610
611#: template/ev.html.j2:84
612msgid "Support Us!"
613msgstr ""
614
615#: template/ev.html.j2:86
616msgid ""
617"Everybody is welcome to support us via donations. For financial "
618"contributions, Europeans are able to donate via SEPA. We hope to setup "
619"accounts in other major currency areas in the future. You can also donate "
620"via Bitcoin, routing details are given below. Please note that we are unable "
621"to provide receipts for your donations. If you are planning to donate a "
622"significant amount of money, please contact us first as it might be better "
623"to come to a custom arrangement. <dl><dt>BitCoin</dt> "
624"<dd>1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh</dd> <dt>SEPA/IBAN</dt> "
625"<dd>DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)</dd> </dl>"
626msgstr ""
627
628#: template/faq.html.j2:12
629msgid ""
630"I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. "
631"Should I worry?"
632msgstr ""
633
634#: template/faq.html.j2:14
635msgid ""
636"A: Right now, this is expected and a known cause for high latency in GNUnet. "
637"We have started a major rewrite to address this and other problems, but "
638"until the Transport Next Generation (TNG) is ready, these warnings are "
639"expected."
640msgstr ""
641
642#: template/faq.html.j2:23
643msgid "Is there a graphical user interface?"
644msgstr ""
645
646#: template/faq.html.j2:25
647msgid ""
648"A: gnunet-gtk is a separate download. The package contains various GTK+ "
649"based graphical interfaces, including a graphical tool for configuration."
650msgstr ""
651
652#: template/glossary.html.j2:12
653msgid "Ego"
654msgstr ""
655
656#: template/glossary.html.j2:14
657msgid ""
658"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
659"multiple unlinkable identities, in the sense of alter egos. The ability to "
660"have more than one identity is crucial, as we may want to keep our egos for "
661"business separate from those we use for political activities or romance.<br> "
662"Egos in GNUnet are technically equivalent to identities (and the code does "
663"not distinguish between them). We simply sometimes use the term \"ego\" to "
664"stress that you can have more than one."
665msgstr ""
666
667#: template/glossary.html.j2:27
668msgid "Identity"
669msgstr ""
670
671#: template/glossary.html.j2:29
672msgid ""
673"In GNUnet users are identified via a public key, and that public key is then "
674"often referred to as the \"Identity\" of the user. However, the concept is "
675"not as draconian as it often is in real life where many are forced to have "
676"one name, one passport and one unique identification number. <br> As long as "
677"identities in GNUnet are simply public keys, users are free to create any "
678"number of identities, and we call those egos to emphasize the difference. "
679"Even though users can create such egos freely, it is possible to have an ego "
680"certified by some certification authority, resulting in something that more "
681"closely resembles the traditional concept of an identity.<br> For example, a "
682"university may certify the identities of its students such that they can "
683"prove that they are studying. Students may keep their (certified) student "
684"identity separate from other egos that they use for other activities in life."
685msgstr ""
686
687#: template/glossary.html.j2:50
688msgid "Pseudonym"
689msgstr ""
690
691#: template/glossary.html.j2:52
692msgid ""
693"A pseudonym is an ego that is specifically intended to not be linked to "
694"one's real name. GNUnet users can create many egos, and thus also many "
695"pseudonyms. <br> Repeated uses of the same pseudonym are linkable by "
696"definition, as they involve the same public key. Anonymity requires the use "
697"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
698"neutral element on the elliptic curve) or a throw-away pseudonym that is "
699"only used once."
700msgstr ""
701
702#: template/glossary.html.j2:71
703msgid "Namespaces"
704msgstr ""
705
706#: template/glossary.html.j2:73
707msgid ""
708"The GNU Name System allows every ego (or identity) to securely and privately "
709"associate any number of label-value pairs with an ego. The values are called "
710"record sets following the terminology of the Domain Name System (DNS). The "
711"mapping of labels to record sets for a given ego is called a namespace. <br> "
712"If records are made public and thus published, it is possible for other "
713"users to lookup the record given the ego's public key and the label. Here, "
714"not only the label can thus act as a passphrase but also the public key -- "
715"which despite its name may not be public knowledge and is never disclosed by "
716"the GNS protocol itself."
717msgstr ""
718
719#: template/glossary.html.j2:89
720msgid "Peer"
721msgstr ""
722
723#: template/glossary.html.j2:91
724msgid ""
725"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
726"network addresses. Technically, it is possible to run multiple peers on the "
727"same host, but this only makes sense for testing. <br> By design GNUnet "
728"supports multiple users to share the same peer, just as UNIX is a multi-user "
729"system. A \"peer\" typically consists of a set of foundational GNUnet "
730"services running as the \"gnunet\" user and allowing all users in the "
731"\"gnunet\" group to utilize the API. On multi-user systems, additional "
732"\"personalized\" services may be required per user. <br> While peers are "
733"also identified by public keys, these public keys are completely unrelated "
734"to egos or identities. Namespaces cannot be associated with a peer, only "
735"with egos."
736msgstr ""
737
738#: template/gnurl.html.j2:20
739msgid ""
740"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
741"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
742"ensure a small footprint and uniform experience for developers regardless of "
743"how libcurl was compiled.<br> Our main usecase is for GNUnet, but it might "
744"be usable for others, hence we're releasing the code to the general public."
745"<br> libgnurl is released under the same license as libcurl. Please read the "
746"README for instructions, as you must supply the correct options to configure "
747"to get a proper build of libgnurl."
748msgstr ""
749
750#: template/gnurl.html.j2:35
751msgid "About gnurl"
752msgstr ""
753
754#: template/gnurl.html.j2:37
755msgid ""
756"Large parts of the following 6 paragraphs are old and need to be rewritten."
757msgstr ""
758
759#: template/gnurl.html.j2:43
760msgid "Motivation"
761msgstr ""
762
763#: template/gnurl.html.j2:45
764msgid ""
765"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
766"other variants are used by some distributions. Supporting other crypto "
767"backends would again expose us to a wider array of security issues, may "
768"create licensing issues and most importantly introduce new bugs as some "
769"crypto backends are known to introduce subtle runtime issues. While it is "
770"possible to have two versions of libcurl installed on the same system, this "
771"is error-prone, especially as if we are linked against the wrong version, "
772"the bugs that arise might be rather subtle."
773msgstr ""
774
775#: template/gnurl.html.j2:58
776msgid ""
777"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
778"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
779"one links cURL against this version of GnuTLS? Well, first one would install "
780"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
781"it just fine, but the linker will eventually complain bitterly. The reason "
782"is that cURL also links against a bunch of other system libraries (gssapi, "
783"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
784"which --- as they are part of the distribution --- were linked against an "
785"older version of GnuTLS. As a result, the same binary would be linked "
786"against two different versions of GnuTLS. That is typically a recipe for "
787"disaster. Thus, in order to avoid updating a dozen system libraries (and "
788"having two versions of those installed), it is necessary to disable all of "
789"those cURL features that GNUnet does not use, and there are many of those. "
790"For GNUnet, the more obscure protocols supported by cURL are close to dead "
791"code --- mostly harmless, but not useful. However, as some application may "
792"use one of those features, distributions are typically forced to enable all "
793"of those features, and thus including security issues that might arise from "
794"that code."
795msgstr ""
796
797#: template/gnurl.html.j2:82
798msgid ""
799"So to use a modern version of GnuTLS, a sane approach is to disable all of "
800"the \"optional\" features of cURL that drag in system libraries that link "
801"against the older GnuTLS. That works, except that one should then NEVER "
802"install that version of libcurl in say /usr or /usr/local, as that may break "
803"other parts of the system that might depend on these features that we just "
804"disabled. Libtool versioning doesn't help here, as it is not intended to "
805"deal with libraries that have optional features. Naturally, installing cURL "
806"somewhere else is also problematic, as we now need to be really careful that "
807"the linker will link GNUnet against the right version. Note that none of "
808"this can really be trivially fixed by the cURL developers."
809msgstr ""
810
811#: template/gnurl.html.j2:97
812msgid "Rename to fix"
813msgstr ""
814
815#: template/gnurl.html.j2:99
816#, python-format
817msgid ""
818"How does forking fix it? Easy. First, we can get rid of all of the "
819"compatibility issues --- if you use libgnurl, you state that you don't need "
820"anything but HTTP/HTTPS. Those applications that need more, should stick "
821"with the original cURL. Those that do not, can choose to move to something "
822"simpler. As the library gets a new name, we do not have to worry about tons "
823"of packages breaking as soon as one rebuilds it. So renaming itself and "
824"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" "
825"fixes 99%% of the problems that darkened my mood. Note that this pretty much "
826"CANNOT be done without a fork, as renaming is an essential part of the fix. "
827"Now, there might be creative solutions to achieve the same thing within the "
828"standard cURL build system, but I'm not happy to wait for a decade for "
829"Daniel to review the patches. The changes libgnurl makes to curl are "
830"miniscule and can easily be applied again and again whenever libcurl makes a "
831"new release."
832msgstr ""
833
834#: template/gnurl.html.j2:118
835msgid "Using libgnurl"
836msgstr ""
837
838#: template/gnurl.html.j2:120
839msgid ""
840"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
841"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
842"That's it. No changes to the source code should be required, as libgnurl "
843"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
844"cURL. We might add new features relating to this core subset if they are "
845"proposed, but so far we have kept our changes minimal and no additions to "
846"the original curl source have been written."
847msgstr ""
848
849#: template/gnurl.html.j2:133
850msgid "Gotchas"
851msgstr ""
852
853#: template/gnurl.html.j2:135
854msgid ""
855"libgnurl and gnurl are not intended to be used as a replacement for curl for "
856"users. Since no conflicts in filenames should occur you are not expected to "
857"remove curl to make use of gnurl and viceversa."
858msgstr ""
859
860#: template/gnurl.html.j2:149
861msgid "You can get the gnurl git repository using:"
862msgstr ""
863
864#: template/gnurl.html.j2:162
865msgid "The versions are checked in as (signed) git tags."
866msgstr ""
867
868#: template/gnurl.html.j2:171
869msgid ""
870"Releases are published on <a href=\"https://ftpmirror.gnu.org/gnu/gnunet/"
871"\">ftpmirror.gnu.org/gnu/gnunet</a>. gnurl is available from within a "
872"variety of distributions and package managers. Package Managers which "
873"include gnurl are: <a href=\"https://www.gnu.org/software/guix/\">GNU Guix</"
874"a> (available as \"gnurl\"), <a href=\"https://gentoo.org\">Gentoo</a> "
875"through the collaborative ebuild collection <a href=\"https://git.gnunet.org/"
876"youbroketheinternet-overlay.git/\">youbroketheinternet</a>, <a href="
877"\"https://nixos.org/nix/\">Nix</a>, and as www/gnurl in <a href=\"https://"
878"pkgsrc.org\">pkgsrc</a>."
879msgstr ""
880
881#: template/gnurl.html.j2:188
882msgid "Building gnurl"
883msgstr ""
884
885#: template/gnurl.html.j2:190
886msgid ""
887"We suggest to closely follow release announcements, as they might indicate "
888"changes in how gnurl is to be build. <br> If your package manager provides a "
889"binary build or build instructions to build gnurl from source automated and "
890"integrated with your environment, we strongly suggest to use this binary "
891"build. <br> There are two ways to build gnurl. The first one builds from the "
892"most recent git tag, the second one uses the distributed tarball. "
893"Distributors generally are supposed to build from the tarball, but we "
894"describe both methods here. Both methods are written with a NetBSD 9 "
895"userland in mind, substitute tools as necessary. <br> You should <b>avoid</"
896"b> building gnurl from the tip of the default git branch, as only tags are "
897"considered to be stable and approved builds."
898msgstr ""
899
900#: template/gnurl.html.j2:211
901msgid "Building from the distributed tarball (prefered method)"
902msgstr ""
903
904#: template/gnurl.html.j2:213
905msgid ""
906"If you want to verify the signature, install an OpenPGP compatible tool such "
907"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
908msgstr ""
909
910#: template/gnurl.html.j2:227
911msgid "Fetch the signature key from"
912msgstr ""
913
914#: template/gnurl.html.j2:231
915msgid "or via commandline with gnupg2."
916msgstr ""
917
918#: template/gnurl.html.j2:236
919msgid ""
920"Fetch the release, the signature, the checksum file as well as its signature:"
921msgstr ""
922
923#: template/gnurl.html.j2:255
924msgid ""
925"verify the signatures, and verify the checksums against the checksums in "
926"the .sum.txt file."
927msgstr ""
928
929#: template/gnurl.html.j2:261
930msgid "unpack the tarball:"
931msgstr ""
932
933#: template/gnurl.html.j2:271
934msgid "Change into the directory"
935msgstr ""
936
937#: template/gnurl.html.j2:281
938msgid "Now you can either run"
939msgstr ""
940
941#: template/gnurl.html.j2:291
942msgid "directly (and read configure-gnurl before you do so) or invoke"
943msgstr ""
944
945#: template/gnurl.html.j2:301
946msgid ""
947"and pass additional parameters such as a custom PREFIX location. Further "
948"reference can be the"
949msgstr ""
950
951#: template/gnurl.html.j2:306
952msgid "Now run"
953msgstr ""
954
955#: template/gnurl.html.j2:316
956msgid "(this is optional)"
957msgstr ""
958
959#: template/gnurl.html.j2:325
960msgid "and you are done."
961msgstr ""
962
963#: template/gnurl.html.j2:329
964msgid "Building from a tagged git commit"
965msgstr ""
966
967#: template/gnurl.html.j2:331
968msgid ""
969"Follow the steps above, but instead of downloading the tarball, clone the "
970"git tag you want to build from."
971msgstr ""
972
973#: template/gnurl.html.j2:342
974msgid "Reporting Bugs"
975msgstr ""
976
977#: template/gnurl.html.j2:344
978msgid ""
979"You can report bugs on our bug tracker: <a href=\"https://bugs.gnunet.org/"
980"\">bugs.gnunet.org</a>. Alternatively you can use our bug mailinglist, but "
981"we prefer to track bugs on the bugtracker."
982msgstr ""
983
984#: template/gnurl.html.j2:354
985msgid "Maintainer and Cryptographic signatures"
986msgstr ""
987
988#: template/gnurl.html.j2:356
989msgid ""
990"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP "
991"Key <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, with the key "
992"fingerprint <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>."
993msgstr ""
994
995#: template/gsoc-2018-gnunet-webui.html.j2:7
996msgid "GSoC 2018: GNUnet WebUI"
997msgstr ""
998
999#: template/gsoc-2018-gnunet-webui.html.j2:11
1000msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
1001msgstr ""
1002
1003#: template/gsoc-2018-gnunet-webui.html.j2:17
1004msgid ""
1005"<strong>What was done?</strong><br /> In the context of Google Summer of "
1006"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and "
1007"extending the REST API of GNUnet. Currently, we mirrored the functionality "
1008"of following commands:"
1009msgstr ""
1010
1011#: template/gsoc-2018-gnunet-webui.html.j2:32
1012msgid ""
1013"Additionally, we developed a website with the Javascript framework Angular 6 "
1014"and the design framework iotaCSS to use the new REST API. The REST API of "
1015"GNUnet is now documented with Sphinx."
1016msgstr ""
1017
1018#: template/gsoc-2018-gnunet-webui.html.j2:40
1019msgid ""
1020"<strong>Why did we create a REST API?</strong><br /> ... when you can use "
1021"the command line tools?<br /> We need to keep in mind, that everyone has the "
1022"right to stay secure and private but not everyone feels comfortable using a "
1023"terminal. The further developed REST access to GNUnet APIs in addition to "
1024"the new web application allows new users to interact with GNUnet over a well "
1025"known tool: their browsers. This addition to the C API and the command line "
1026"tools may attract new users and developers."
1027msgstr ""
1028
1029#: template/gsoc-2018-gnunet-webui.html.j2:52
1030msgid ""
1031"<strong>How can we use it?</strong><br /> 1. The REST API developed in "
1032"GNUnet<br /> The REST API is already merged into the gnunet.git repository "
1033"(<a href=\"https://gnunet.org/git/gnunet.git/\">GNUnet Main Git</a>).<br /> "
1034"To use the new features, clone the repository and follow the <a href="
1035"\"https://gnunet.org/en/install.html\">Installation</a> on gnunet.org. Then, "
1036"start the rest service with \"gnunet-arm -i rest\"."
1037msgstr ""
1038
1039#: template/gsoc-2018-gnunet-webui.html.j2:63
1040msgid ""
1041"2. The Web Application<br /> The web application is available under the "
1042"gnunet-webui.git repository (<a href=\"https://gnunet.org/git/gnunet-webui."
1043"git/\">GNUnet WebUI Git</a>).<br /> You need to install the newest version "
1044"of 'node' and 'yarn'. Dependent on your system, you may need to download "
1045"newer versions and install them manually and not over your packet manager. "
1046"After the installation succeeded, you need to clone the repository. Then, "
1047"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To "
1048"deploy the website (keep in mind, that this website communicates with "
1049"another localhost instance) use \"yarn build\" for building the web "
1050"application and use the output in the 'dist' directory."
1051msgstr ""
1052
1053#: template/gsoc-2018-gnunet-webui.html.j2:80
1054msgid ""
1055"3. The Documentation<br /> The documentation is available under the gnunet-"
1056"rest-api.git repository (<a href=\"https://gnunet.org/git/gnunet-rest-api."
1057"git/\">GNUnet REST API Docmentation Git</a>).<br /> Clone the repository and "
1058"\"make html\". Then open the 'index.html' under 'build/html/'."
1059msgstr ""
1060
1061#: template/gsoc-2018-gnunet-webui.html.j2:91
1062msgid ""
1063"Please, give it a try and contact me, if you find any bugs or unintentional "
1064"features. ;)"
1065msgstr ""
1066
1067#: template/gsoc-2018-gnunet-webui.html.j2:97
1068msgid ""
1069"<strong>What can be improved?</strong><br /> Right now, the build process of "
1070"the web application may be a little too complex for a casual user. We may be "
1071"able to solve this by using docker.<br /> Additionally, the web application "
1072"does not prevent wrong inputs but responds with error messages. Adding "
1073"GNUnet Records is currently only usable for people, who know how a GNS "
1074"Record looks like. This can be adapted to each record type.<br /> Last but "
1075"not least, additional features, design changes, etc..."
1076msgstr ""
1077
1078#: template/gsoc-2018-gnunet-webui.html.j2:111
1079msgid "Thanks for reading."
1080msgstr ""
1081
1082#: template/gsoc.html.j2:6
1083msgid "GNUnet's Google Summer of Code projects"
1084msgstr ""
1085
1086#: template/gsoc.html.j2:12 template/gsoc.html.j2:28
1087msgid "Current projects"
1088msgstr ""
1089
1090#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
1091msgid "Past projects"
1092msgstr ""
1093
1094#: template/gsoc.html.j2:14 template/gsoc.html.j2:553
1095msgid "Finished projects"
1096msgstr ""
1097
1098#: template/gsoc.html.j2:21
1099msgid ""
1100"As a GNU project, GNUnet has participated in the Google Summer of Code "
1101"(GSoC) for a number of years. This page lists all current, past, and "
1102"finished projects."
1103msgstr ""
1104
1105#: template/gsoc.html.j2:37
1106msgid ""
1107"It is time for GNUnet to run properly on Android. Note that GNUnet is "
1108"written in C, and this is not about rewriting GNUnet in Java, but about "
1109"getting the C code to run on Android."
1110msgstr ""
1111
1112#: template/gsoc.html.j2:44
1113msgid ""
1114"<strong>Mentors:</strong> <a href=\"https://www.goebel-consult.de/\">Hartmut "
1115"Goebel</a>"
1116msgstr ""
1117
1118#: template/gsoc.html.j2:53
1119msgid ""
1120"There is a push for migrating our CI to Gitlab. The CI should eventually not "
1121"just run \"make check\" on various platforms, but also perform tests with "
1122"multiple peers running in different VMs with specific network topologies (i."
1123"e. NAT) between them being simulated. The CI should also be integrated with "
1124"Gauger for performance regression analysis. Running jobs only when "
1125"dependencies have changed and scripting more granular triggers or ideally "
1126"automatic dependency discovery (as done by the autotools) is also important."
1127msgstr ""
1128
1129#: template/gsoc.html.j2:65
1130msgid "<strong>Mentors:</strong> TBD"
1131msgstr ""
1132
1133#: template/gsoc.html.j2:74
1134msgid ""
1135"reclaimID is a decentralized identity system build on top of the GNU Name "
1136"System. Upon authorization, the user provides a requesting party (RP) such "
1137"as a website with an authorization ticket (e.g. piggybacked in an OpenID "
1138"authorization code). The RP uses information contained in this ticket to "
1139"<ol> <li> Retrieve the decryption key from GNS</li> <li> Retrieve the user "
1140"attributes from GNS</li> </ol> The GNS lookups ensure that the RP receives "
1141"up-to-date attributes and functional decryption keys. However, in particular "
1142"the RP-specific encryption key resolution can be slow and even fail "
1143"depending on the network topology. We propose that in an initial exchange, "
1144"in particular OpenID authorization code flows, we try to incorporate key and "
1145"maybe even an attribute set in the ticket exchange. In order to mitigate "
1146"this issue, this project is meant to investigate and implement how... <ol> "
1147"<li> ... decryption keys can be added to an initial exchange in OpenID.</li> "
1148"<li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> </"
1149"ol> <br/> <strong>Mentors:</strong> Martin Schanzenbach"
1150msgstr ""
1151
1152#: template/gsoc.html.j2:105
1153msgid ""
1154"re:claimID is a decentralized identity system build on top of the GNU Name "
1155"System. The initial design and implementation of re:claimID includes an "
1156"attribute-based encryption module in order to prevent unauthorized access to "
1157"attributes in the name system. Our motivation for re:claimID was for it to "
1158"be name system agnostic, which means the design theoretically also works for "
1159"other name systems such as namecoin. Other name systems often do not have "
1160"built-in mechanisms in order to do this. Hence, we implemented an ABE access "
1161"control layer. Our ABE implementation requires two third party libraries: "
1162"libpbc and libgabe. While we could merge libgabe into the gnunet service "
1163"implementation of re:claimID, libpbc is a rather large, third party library "
1164"which lacks packaging in distributions and for platforms. On the other hand, "
1165"GNS supports record data encryption using symmetric keys as labels. If we "
1166"make the access control layer of re:claimID more generic in order to support "
1167"both ABE and GNS encryption, we could reduce the required depenencies. This "
1168"would result in gnunet packages to include re:claimID by default. In short, "
1169"the goals are to... <ol> <li> ... improve performance by reducing encryption "
1170"overhead.</li> <li> ... reduce dependencies.</li> </ol> <br/> "
1171"<strong>Mentors:</strong> Martin Schanzenbach"
1172msgstr ""
1173
1174#: template/gsoc.html.j2:140
1175msgid ""
1176"One great problem of the current Internet is the lack of disintermediation. "
1177"When people want to talk they need a chat service. When they want to share "
1178"files they need a file transfer service. Although GNUnet already possesses "
1179"quite advanced integration into Linux networking, a little extra work is "
1180"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
1181"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
1182"Once people have added a person to their GNS they can immediately message, "
1183"exchange files and suchlike directly, with nothing but the GNUnet in the "
1184"middle, using applications that have been distributed with unix systems ever "
1185"since the 1980's. We can produce an OS distribution where these things work "
1186"out of the box with the nicknames of people instead of cloud services. For "
1187"more information and context, read"
1188msgstr ""
1189
1190#: template/gsoc.html.j2:161
1191msgid "<strong>Mentors:</strong> lynX &amp; dvn"
1192msgstr ""
1193
1194#: template/gsoc.html.j2:169
1195msgid ""
1196"There are a variety of GNUNet APIs that should be exposed in the Rust "
1197"wrappers. Implementing these will require extending the port of GNUNet utils "
1198"written by Andrew Cann and Kelong Cong."
1199msgstr ""
1200
1201#: template/gsoc.html.j2:177
1202msgid ""
1203"As an introduction to the code base, we suggest that the student and Jeff "
1204"Burdges together update the asynchronous IO system from gjio to futures-rs "
1205"or another layer built upon it. Jeff Burdges is expected to concurrently be "
1206"implementing a GNUNet API for his own mix network work."
1207msgstr ""
1208
1209#: template/gsoc.html.j2:187 template/gsoc.html.j2:211
1210#: template/gsoc.html.j2:265 template/gsoc.html.j2:295
1211#: template/gsoc.html.j2:539
1212msgid "<strong>Mentors:</strong> Jeff Burdges"
1213msgstr ""
1214
1215#: template/gsoc.html.j2:192
1216msgid "Required Skills: Rust"
1217msgstr ""
1218
1219#: template/gsoc.html.j2:197
1220msgid "Difficulty level: low"
1221msgstr ""
1222
1223#: template/gsoc.html.j2:205
1224msgid ""
1225"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
1226msgstr ""
1227
1228#: template/gsoc.html.j2:216
1229msgid ""
1230"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
1231"using GNS over Tor too, but currently that's on hold until folks think more "
1232"about how names should be moved around the local system. We're calling this "
1233"more collaborative approach NSS2 for now."
1234msgstr ""
1235
1236#: template/gsoc.html.j2:225 template/gsoc.html.j2:399
1237#: template/gsoc.html.j2:439 template/gsoc.html.j2:469
1238msgid "Required Skills: C"
1239msgstr ""
1240
1241#: template/gsoc.html.j2:230 template/gsoc.html.j2:474
1242#: template/gsoc.html.j2:619
1243msgid "Difficulty level: medium"
1244msgstr ""
1245
1246#: template/gsoc.html.j2:238
1247msgid ""
1248"Design and implementation of <a href=\"http://jsonapi.org/\">REST APIs</a> "
1249"that expose the <a href=\"https://docs.gnunet.org/doxygen/modules.html"
1250"\">GNUnet API</a> so that easy, hands-on development is possible. Also, "
1251"browser-based UIs will be much easier to create on top of REST APIs."
1252msgstr ""
1253
1254#: template/gsoc.html.j2:249 template/gsoc.html.j2:609
1255msgid "<strong>Mentors:</strong> Martin Schanzenbach"
1256msgstr ""
1257
1258#: template/gsoc.html.j2:257
1259msgid ""
1260"Improve the Rust implementation of GNUnet utils, possibly including adding "
1261"support for asynchronous IO using mio, or perhaps a higher level "
1262"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
1263"gj."
1264msgstr ""
1265
1266#: template/gsoc.html.j2:273
1267msgid ""
1268"Implement rudimentary Android compatibility for GNUnet, in part by porting "
1269"the GNUnet utils scheduler to act as a thin wrapper over libuv."
1270msgstr ""
1271
1272#: template/gsoc.html.j2:280
1273msgid "<strong>Mentors:</strong> Jeff Burdges and Christian Grothoff"
1274msgstr ""
1275
1276#: template/gsoc.html.j2:288 template/gsoc.html.j2:532
1277msgid ""
1278"Implementation of a replacement for PANDA (see Pond) with better security, "
1279"and maybe integration with the GNU Name System for key exchange."
1280msgstr ""
1281
1282#: template/gsoc.html.j2:300
1283msgid "Required Skills: Rust or C, crypto"
1284msgstr ""
1285
1286#: template/gsoc.html.j2:305 template/gsoc.html.j2:362
1287#: template/gsoc.html.j2:404 template/gsoc.html.j2:444
1288msgid "Difficulty level: high"
1289msgstr ""
1290
1291#: template/gsoc.html.j2:313
1292msgid ""
1293"Implement different place types and file sharing by creating a new place for "
1294"the shared content."
1295msgstr ""
1296
1297#: template/gsoc.html.j2:319
1298msgid "Place types to be implemented:"
1299msgstr ""
1300
1301#: template/gsoc.html.j2:323
1302msgid ""
1303"<ul> <li>File: generic file with comments</li> <li>Image: display an image "
1304"with comments referencing a region of the image</li> <li>Sound: play a sound "
1305"file with comments referencing a timestamp</li> <li>Directory/Album: "
1306"pointers to File / Image / Sound places</li> <li>Event: with RSVP</li> "
1307"<li>Survey: ask your social neighborhood questions in a structured form</li> "
1308"</ul>"
1309msgstr ""
1310
1311#: template/gsoc.html.j2:334
1312msgid "Also provide the following UI functionality:"
1313msgstr ""
1314
1315#: template/gsoc.html.j2:338
1316msgid ""
1317"<ul> <li>Fork existing channels, reorganize people into new chatrooms or "
1318"channels.</li> <li>Share a post (edit and repost something elsewhere, on a "
1319"fan page for example).</li> <li>Edit a previously published post + offer "
1320"edit history to readers.</li> <li>Control expiry of channel history.</li> </"
1321"ul>"
1322msgstr ""
1323
1324#: template/gsoc.html.j2:347
1325msgid ""
1326"See also <a href=\"http://secushare.org/features\">http://secushare.org/"
1327"features</a>"
1328msgstr ""
1329
1330#: template/gsoc.html.j2:352
1331msgid "<strong>Mentors:</strong> lynX"
1332msgstr ""
1333
1334#: template/gsoc.html.j2:357
1335msgid "Required Skills: C/C++"
1336msgstr ""
1337
1338#: template/gsoc.html.j2:370
1339msgid ""
1340"Implement aggregation of distributed state from various channels in order to "
1341"provide for a powerful social graph API capable of producing social network "
1342"profiles, dashboards, a calendar out of upcoming event invitations (if "
1343"available), social search functionality and most of all to make it easy for "
1344"users to adopt cryptographic identities of their contacts/friends simply by "
1345"finding them in the social graph of their existing contacts (\"This is "
1346"Linda. You have 11 contacts in common with her. [ADD]\")."
1347msgstr ""
1348
1349#: template/gsoc.html.j2:388
1350msgid ""
1351"Related to <a href=\"http://secushare.org/rendezvous\">secushare.org/"
1352"rendezvous</a>"
1353msgstr ""
1354
1355#: template/gsoc.html.j2:394 template/gsoc.html.j2:434
1356msgid "<strong>Mentors:</strong> t3sserakt, lynX"
1357msgstr ""
1358
1359#: template/gsoc.html.j2:411
1360msgid ""
1361"<ul> <li> Emulate IMAP/SMTP protocols as necessary to transform traditional "
1362"mail clients into secushare user interfaces. </li> <li> Think of ways to map "
1363"e-mail addresses to secushare identities. </li> <li> Encode or translate "
1364"various e-mail features into secushare equivalents. </li> <li> Parts of "
1365"secushare are currently written in Rust, therefore Rust is preferred for "
1366"this task but it is not an requirement. </li> </ul>"
1367msgstr ""
1368
1369#: template/gsoc.html.j2:452
1370msgid ""
1371"Implementation of the GNUnet auction system described in Chapter 3 of <a "
1372"href=\"https://grothoff.org/christian/teich2017ms.pdf\">this thesis</a>. "
1373"Specific tasks are adding smart contract creation and round time enforcement "
1374"to libbrandt as well as creating the GNUnet auction service, library and the "
1375"three user interface programs create, info and join."
1376msgstr ""
1377
1378#: template/gsoc.html.j2:464
1379msgid "<strong>Mentors:</strong> mate, cg"
1380msgstr ""
1381
1382#: template/gsoc.html.j2:482
1383msgid ""
1384"Implementation of additional transports to make GNUnet communication more "
1385"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
1386"over-DNS"
1387msgstr ""
1388
1389#: template/gsoc.html.j2:489 template/gsoc.html.j2:503
1390msgid "<strong>Mentors:</strong> Matthias Wachs"
1391msgstr ""
1392
1393#: template/gsoc.html.j2:497
1394msgid ""
1395"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
1396"punching, better STUN support)"
1397msgstr ""
1398
1399#: template/gsoc.html.j2:511
1400msgid ""
1401"<strong>Mentors:</strong> Matthias Wachs, Christian Grothoff, Jeff Burdges"
1402msgstr ""
1403
1404#: template/gsoc.html.j2:519
1405msgid ""
1406"Improving libaboss to make computation on shared secrets (including repeated "
1407"multiplication) based on <a href=\"https://dl.acm.org/citation.cfm?"
1408"doid=62212.62213\">Ben-Or et al.</a> if possible. This in particular means "
1409"moving libaboss to bignums (gcry_mpi)."
1410msgstr ""
1411
1412#: template/gsoc.html.j2:547
1413msgid ""
1414"Please refer to the description for this project listed under GNU Guix "
1415"project ideas."
1416msgstr ""
1417
1418#: template/gsoc.html.j2:559
1419msgid ""
1420"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
1421"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
1422"around python-zbar, which itself wraps libzbar. The goal of this project is "
1423"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
1424"(see also <a href=\"https://bugs.gnunet.org/view.php?id=5562\">#5562</a>)."
1425msgstr ""
1426
1427#: template/gsoc.html.j2:569
1428msgid "<strong>Mentors:</strong> Christian Grothoff"
1429msgstr ""
1430
1431#: template/gsoc.html.j2:574
1432msgid "Required Skills:"
1433msgstr ""
1434
1435#: template/gsoc.html.j2:579
1436msgid "Difficulty level:"
1437msgstr ""
1438
1439#: template/gsoc.html.j2:584
1440msgid "Report:"
1441msgstr ""
1442
1443#: template/gsoc.html.j2:589
1444msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
1445msgstr ""
1446
1447#: template/gsoc.html.j2:599
1448msgid ""
1449"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
1450"to be determined framework such as Angular2. This includes the design and "
1451"implementation of not yet existing <a href=\"http://jsonapi.org/\">REST "
1452"APIs</a> that expose the <a href=\"https://docs.gnunet.org/doxygen/modules."
1453"html\">GNUnet API</a>."
1454msgstr ""
1455
1456#: template/gsoc.html.j2:614
1457msgid "Required Skills: C, JavaScript, CSS"
1458msgstr ""
1459
1460#: template/gsoc.html.j2:624
1461msgid ""
1462"Report: <a href=\"gsoc-2018-gnunet-webui.html\">GSoC 2018: GNUnet WebUI</a>"
1463msgstr ""
1464
1465#: template/index.html.j2:19
1466msgid ""
1467"GNUnet is a new network protocol stack for building secure, distributed, and "
1468"privacy-preserving applications. With strong roots in <a href=\"https://bib."
1469"gnunet.org\">academic research</a>, our goal is to replace the <a href="
1470"\"https://secushare.org/broken-internet\">old insecure Internet</a> protocol "
1471"stack."
1472msgstr ""
1473
1474#: template/index.html.j2:29
1475msgid ""
1476"GNUnet is typically run as an <a href=\"https://en.wikipedia.org/wiki/"
1477"Overlay_network\">overlay network</a> on top of the existing Internet "
1478"infrastructure forming the basis of a hybrid <a href=\"architecture.html"
1479"\">peer-to-peer mesh and relay backbone</a> for applications to run on. It "
1480"could just as well be run independently of the Internet, over <a href="
1481"\"https://en.wikipedia.org/wiki/Physical_layer\">dedicated radio and cable</"
1482"a>."
1483msgstr ""
1484
1485#: template/index.html.j2:38
1486msgid ""
1487"GNUnet is made for a free and open society: It&#39;s a self-organizing "
1488"network and it is <a href=\"http://www.gnu.org/philosophy/free-sw.html"
1489"\">free software</a> as in freedom. GNUnet puts you in control of your data. "
1490"You determine which data to share with whom, and you&#39;re not pressured to "
1491"accept compromises."
1492msgstr ""
1493
1494#: template/index.html.j2:89
1495msgid "The Internet of tomorrow needs GNUnet today"
1496msgstr ""
1497
1498#: template/index.html.j2:95
1499msgid "Imagine..."
1500msgstr ""
1501
1502#: template/index.html.j2:97
1503msgid ""
1504"The conventional Internet is currently like a system of roads with deep "
1505"potholes and highwaymen all over the place. Even if you still can use the "
1506"roads (e.g. send emails, or browse websites) your vehicle might get "
1507"hijacked, damaged, or long arms might reach into its back and steal your "
1508"items (data) to use it against you and sell it to others - while you can&#39;"
1509"t even notice the thievery nor accuse and hold the scroungers accountable. "
1510"<!-- Proposal from Fabian Gerlach: The conventional Internet is currently "
1511"like a system of roads with deep potholes and surveillance cameras all over "
1512"the place. Even if you still can use the roads (e.g. send emails, or browse "
1513"websites) your vehicle might gets damaged. And the surveillance cameras will "
1514"create a movement profile about your life: They recognize your car license "
1515"plate, track you everywhere you drive, and save this information in a "
1516"central data base. -->"
1517msgstr ""
1518
1519#: template/index.html.j2:121
1520msgid "The Internet is broken"
1521msgstr ""
1522
1523#: template/index.html.j2:123
1524msgid ""
1525"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: "
1526"protecting against address forgery, routers learning metadata, or choosing "
1527"trustworthy CAs is nontrivial and sometimes impossible. <!-- Proposal from "
1528"Fabian Gerlach: The Internet is not designed with security in mind: The "
1529"network generally learns too much about users; it has insecure defaults and "
1530"high complexity; and it is centralized. That makes it very vulnerable for "
1531"multiple attacks massively threatening our freedom. -->"
1532msgstr ""
1533
1534#: template/index.html.j2:137
1535msgid ""
1536"GNUnet provides <a href=\"https://www.w3.org/2014/strint/papers/65.pdf"
1537"\">privacy by design</a>, improving addressing, routing, naming and content "
1538"distribution in a technically robust manner - as opposed to ad-hoc designs "
1539"in place today. <!-- Proposal from fabian gerlach: GNUnet is built <a href="
1540"\"https://www.w3.org/2014/strint/papers/65.pdf\">\"privacy by design\"</a> "
1541"and \"distributed by design\". This improves addressing, routing, naming and "
1542"content distribution in a technically robust manner. -->"
1543msgstr ""
1544
1545#: template/index.html.j2:155
1546msgid "Decentralization is hard"
1547msgstr ""
1548
1549#: template/index.html.j2:158
1550msgid ""
1551"<!-- replaced with Proposal from Fabian Gerlach: It seems as if every other "
1552"distributed or P2P project develops its own library stack, covering "
1553"transports, stream muxing, discovery and others. This divides effort and "
1554"multiplies bug count. --> Instead of sharing common components and tools for "
1555"building P2P systems, every P2P project seems to re-invent the wheel. <!-- "
1556"TODO: rework this sentence. --> This heightens the effort and increases the "
1557"potential number of vulnerabilities."
1558msgstr ""
1559
1560#: template/index.html.j2:174
1561msgid ""
1562"GNUnet is a metadata-preserving foundation for your application, covering "
1563"areas from addressing to reliable bidirectional Axolotl-encrypted channels, "
1564"with advanced routing. Our work is based on continuous research spanning "
1565"almost two decades."
1566msgstr ""
1567
1568#: template/index.html.j2:188
1569msgid "Metadata is exposed"
1570msgstr ""
1571
1572#: template/index.html.j2:190
1573msgid ""
1574"Your metadata is just as revealing as the actual content; and it gets "
1575"exposed on the Internet.<br> Even though transport encryption is "
1576"increasingly being deployed on the Internet, it still reveals data that can "
1577"threaten democracy: the identities of senders and receivers, the times, "
1578"frequency and the volume of communication are all still revealed.<br> <!-- "
1579"Looks like a weak argumentation to me: which <a href=\"https://www.freehaven."
1580"net/anonbib/cache/websitefingerprinting-pets2016.pdf\">enables reverse-"
1581"engineering pages visited via website fingerprinting</a>. --> GNUnet <a href="
1582"\"https://secushare.org/anonymity\">addresses</a> these concerns with "
1583"perfect forward secrecy via ephemeral public key addressing, fixed packet "
1584"size to hinder traffic analysis, layered encryption, Sybil-resistant "
1585"routing, and more."
1586msgstr ""
1587
1588#: template/index.html.j2:213
1589msgid "Freedoms are not respected"
1590msgstr ""
1591
1592#: template/index.html.j2:215
1593msgid ""
1594"Today, monitoring increasingly centralized infrastructure, proprietary "
1595"implementations, traffic shapers and firewalls restrict all of the <a href="
1596"\"https://www.gnu.org/philosophy/free-sw.html\">essential freedoms</a> to "
1597"various degrees."
1598msgstr ""
1599
1600#: template/index.html.j2:224
1601msgid ""
1602"GNUnet gives users freedoms to securely access information (\"run\" the "
1603"network), to study all aspects of the network&#39;s operation (\"access the "
1604"code\"), to distribute information (\"copy\"), as well as the freedom to "
1605"deploy new applications (\"modify\")."
1606msgstr ""
1607
1608#: template/index.html.j2:236
1609msgid "Learn more about GNUnet"
1610msgstr ""
1611
1612#: template/index.html.j2:238
1613msgid ""
1614"If you want to know more about the GNUnet please continue reading the <a "
1615"href=\"about.html\">about page</a>. There are much more resources, such as "
1616"the <a href=\"https://docs.gnunet.org\">main handbook / reference manual</"
1617"a>, a <a href=\"https://bib.gnunet.org/\">bibliography</a> and <a href="
1618"\"https://gnunet.org/en/video.html\">videos</a>."
1619msgstr ""
1620
1621#: template/index.html.j2:247
1622msgid ""
1623"You are very welcome to <a href=\"https://gnunet.org/en/engage.html\"> get "
1624"engaged into the conversation</a>, <a href=\"https://gnunet.org/en/install."
1625"html\">install GNUnet</a>, <a href=\"https://gnunet.org/en/use.html\">use "
1626"it</a> and <a href=\"https://gnunet.org/en/engage.html\">contribute</a>. "
1627"<br> Be aware that this project is still in an early alpha stage when it "
1628"comes to software &#8211; it is not an easy task to rewrite the whole "
1629"Internet!"
1630msgstr ""
1631
1632#: template/index.html.j2:269
1633msgid "Featured Applications"
1634msgstr ""
1635
1636#: template/index.html.j2:275
1637msgid "GNU Taler (Alpha)"
1638msgstr ""
1639
1640#: template/index.html.j2:277
1641msgid ""
1642"<a href=\"https://taler.net/\">GNU Taler</a> is a new privacy-preserving "
1643"electronic payment system. Payments are cryptographically secured and are "
1644"confirmed within milliseconds with extremely low transaction costs."
1645msgstr ""
1646
1647#: template/index.html.j2:289
1648msgid "The GNU Name System"
1649msgstr ""
1650
1651#: template/index.html.j2:292
1652msgid ""
1653"<!-- The <a href=\"use.html#gns\">GNU Name System (GNS)</a> --> The <a href="
1654"\"https://docs.gnunet.org/handbook/gnunet.html#The-GNU-Name-System\">GNU "
1655"Name System (GNS)</a> is a fully decentralized replacement for the Domain "
1656"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. "
1657"Naming conventions are similar to DNS, but queries and replies are private "
1658"even with respect to peers providing the answers. The integrity of records "
1659"and privacy of look-ups is cryptographically secured. <!-- Too technical: "
1660"GNS integrates a robust, efficient and instant key revocation mechanism. -->"
1661msgstr ""
1662
1663#: template/index.html.j2:309
1664msgid "re:claimID"
1665msgstr ""
1666
1667#: template/index.html.j2:311
1668msgid ""
1669"<a href=\"https://reclaim-identity.io/\">re:claimID</a> is a decentralized "
1670"Identity Provider (IdP) service built in top of the GNU Name System. It "
1671"allows users to securely share personal information with websites using "
1672"standardized protocols (OpenID Connect)."
1673msgstr ""
1674
1675#: template/index.html.j2:324
1676msgid "Filesharing (Alpha)"
1677msgstr ""
1678
1679#: template/index.html.j2:326
1680msgid ""
1681"GNUnet <a href=\"use.html#fs\">filesharing</a> is an application that aims "
1682"to provide censorship-resistant, anonymous filesharing. The publisher is "
1683"empowered to make a gradual choice between performance and anonymity."
1684msgstr ""
1685
1686#: template/index.html.j2:337
1687msgid "Conversation (Pre-Alpha)"
1688msgstr ""
1689
1690#: template/index.html.j2:339
1691msgid ""
1692"GNUnet conversation is an application that provides secure voice "
1693"communication in a fully decentralized way by employing GNUnet for routing "
1694"and transport."
1695msgstr ""
1696
1697#: template/index.html.j2:355
1698msgid "Upcoming Applications"
1699msgstr ""
1700
1701#: template/index.html.j2:361
1702msgid "secushare"
1703msgstr ""
1704
1705#: template/index.html.j2:363
1706msgid ""
1707"<a href=\"https://secushare.org/\">secushare</a> is creating a decentralized "
1708"social networking application on top of GNUnet. Using overlay multicast and "
1709"the extensible PSYC protocol, notifications are distributed end-to-end "
1710"encrypted to authorized recipients only."
1711msgstr ""
1712
1713#: template/index.html.j2:375
1714msgid "pretty Easy privacy"
1715msgstr ""
1716
1717#: template/index.html.j2:377
1718msgid ""
1719"<a href=\"https://pep.foundation/\">pretty Easy privacy</a> (p&#8801;p) is "
1720"creating a usable end-to-end encrypted e-mail solution using opportunistic "
1721"key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
1722"cryptographic protocols to verify keys."
1723msgstr ""
1724
1725#: template/install-on-archpi.html.j2:6
1726msgid "Tutorial: GNUnet on Arch Linux/Pi"
1727msgstr ""
1728
1729#: template/install-on-archpi.html.j2:16
1730msgid "Requirements for Raspberry Pi 3"
1731msgstr ""
1732
1733#: template/install-on-archpi.html.j2:40
1734msgid "Get the Source Code"
1735msgstr ""
1736
1737#: template/install-on-archpi.html.j2:62
1738#: template/install-on-debian9.html.j2:130
1739msgid "In Addition: gnunet-gtk"
1740msgstr ""
1741
1742#: template/install-on-archpi.html.j2:79
1743msgid "Run"
1744msgstr ""
1745
1746#: template/install-on-archpi.html.j2:131
1747msgid "Make sure, it works!"
1748msgstr ""
1749
1750#: template/install-on-debian9.html.j2:6
1751msgid "Tutorial: GNUnet on Debian 9"
1752msgstr ""
1753
1754#: template/install-on-debian9.html.j2:9
1755#: template/install-on-ubuntu1804.html.j2:9
1756msgid "Introduction"
1757msgstr ""
1758
1759#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17
1760#: template/install-on-netbsd.html.j2:19
1761#: template/install-on-ubuntu1804.html.j2:26
1762msgid "Requirements"
1763msgstr ""
1764
1765#: template/install-on-debian9.html.j2:45
1766#: template/install-on-ubuntu1804.html.j2:41
1767msgid "Make an installation directory"
1768msgstr ""
1769
1770#: template/install-on-debian9.html.j2:59
1771#: template/install-on-macos.html.j2:134
1772#: template/install-on-netbsd.html.j2:224
1773#: template/install-on-ubuntu1804.html.j2:53
1774msgid "Get the source code"
1775msgstr ""
1776
1777#: template/install-on-debian9.html.j2:78
1778#: template/install-on-macos.html.j2:142
1779#: template/install-on-netbsd.html.j2:232
1780#: template/install-on-ubuntu1804.html.j2:61
1781msgid "Compile and Install"
1782msgstr ""
1783
1784#: template/install-on-debian9.html.j2:103
1785#: template/install-on-ubuntu1804.html.j2:70
1786msgid "Option 1: GNUnet for testing / usage"
1787msgstr ""
1788
1789#: template/install-on-debian9.html.j2:116
1790#: template/install-on-ubuntu1804.html.j2:82
1791msgid "Option 2: GNUnet for development"
1792msgstr ""
1793
1794#: template/install-on-debian9.html.j2:153
1795#: template/install-on-ubuntu1804.html.j2:97
1796msgid "Install GNUnet plugin for name resolution"
1797msgstr ""
1798
1799#: template/install-on-debian9.html.j2:207
1800#: template/install-on-ubuntu1804.html.j2:134
1801msgid "Create configuration file"
1802msgstr ""
1803
1804#: template/install-on-debian9.html.j2:227
1805#: template/install-on-ubuntu1804.html.j2:156
1806msgid "Use GNUnet!"
1807msgstr ""
1808
1809#: template/install-on-debian9.html.j2:232
1810#: template/install-on-ubuntu1804.html.j2:162
1811msgid "Uninstall GNUnet and its dependencies"
1812msgstr ""
1813
1814#: template/install-on-macos.html.j2:6
1815msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
1816msgstr ""
1817
1818#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30
1819msgid "Installation"
1820msgstr ""
1821
1822#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102
1823msgid "First steps"
1824msgstr ""
1825
1826#: template/install-on-macos.html.j2:109
1827#: template/install-on-netbsd.html.j2:182
1828msgid "Alternative: Installation from source"
1829msgstr ""
1830
1831#: template/install-on-macos.html.j2:154
1832#: template/install-on-netbsd.html.j2:242
1833msgid "Option 1: GNUnet for production / usage"
1834msgstr ""
1835
1836#: template/install-on-macos.html.j2:187
1837#: template/install-on-netbsd.html.j2:267
1838msgid "Option 2: GNUnet experimental"
1839msgstr ""
1840
1841#: template/install-on-netbsd.html.j2:6
1842msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
1843msgstr ""
1844
1845#: template/install-on-ubuntu1804.html.j2:6
1846msgid "Tutorial: GNUnet on Ubuntu 18.04"
1847msgstr ""
1848
1849#: template/install.html.j2:11
1850msgid ""
1851"<p>The following GNUnet installation instructions help you building from "
1852"source for your distribution.</p> <p><i>Please note that the installation "
1853"process will get much easier once we have proper packages again (planned for "
1854"winter 2019).</i></p> <p>You have already installed GNUnet and want to use "
1855"it? <a href=\"https://gnunet.org/en/use\">Check this out!</a> </p>"
1856msgstr ""
1857
1858#: template/install.html.j2:19
1859msgid ""
1860"<p>Please be aware that this project is still in an early alpha stage when "
1861"it comes to running software &#8211; its not an easy task to rewrite the "
1862"whole Internet! We are happy to get your <a href=\"engage.html\">helping "
1863"hand</a> anytime!</p> <p>Further information is available in our <a href="
1864"\"https://docs.gnunet.org/#toc-Using-GNUnet-1\">handbook</a>.</p> <p>If you "
1865"have any queries about the installation or the usage, please <a href="
1866"\"engage.html\">get in touch!</a></p>"
1867msgstr ""
1868
1869#: template/use.html.j2:6
1870msgid "How to use GNUnet - in a nutshell"
1871msgstr ""
1872
1873#: template/use.html.j2:12 template/use.html.j2:123
1874msgid "Filesharing"
1875msgstr ""
1876
1877#: template/use.html.j2:13
1878msgid "CADET"
1879msgstr ""
1880
1881#: template/use.html.j2:14
1882msgid "Minimal Groupchat"
1883msgstr ""
1884
1885#: template/use.html.j2:15
1886msgid "GNS with CLI"
1887msgstr ""
1888
1889#: template/use.html.j2:16
1890msgid "GNS with Browser"
1891msgstr ""
1892
1893#: template/use.html.j2:17 template/use.html.j2:441
1894msgid "VPN"
1895msgstr ""
1896
1897#: template/use.html.j2:18 template/use.html.j2:501
1898msgid "Conversation"
1899msgstr ""
1900
1901#: template/use.html.j2:19 template/use.html.j2:512
1902msgid "Trouble Shooting"
1903msgstr ""
1904
1905#: template/use.html.j2:34
1906msgid "Get on GNUnet"
1907msgstr ""
1908
1909#: template/use.html.j2:78
1910msgid "Get off GNUnet"
1911msgstr ""
1912
1913#: template/use.html.j2:88
1914msgid "Make sure your GNUnet installation works..."
1915msgstr ""
1916
1917#: template/use.html.j2:105
1918msgid "... and play around with it."
1919msgstr ""
1920
1921#: template/use.html.j2:181
1922msgid "CADET (and Chat)"
1923msgstr ""
1924
1925#: template/use.html.j2:215
1926msgid "Chatting with a (simple) client"
1927msgstr ""
1928
1929#: template/use.html.j2:289
1930msgid "Name resolution using GNS on the command line"
1931msgstr ""
1932
1933#: template/use.html.j2:361
1934msgid "Name resolution using GNS with a browser"
1935msgstr ""
1936
1937#: template/use.html.j2:514
1938msgid "You can't reach other people's nodes"
1939msgstr ""
1940
1941#: template/use.html.j2:550
1942msgid "OMG you guys broke my internet"
1943msgstr ""
1944
1945#: template/video.html.j2:12
1946msgid "Videos related to GNUnet"
1947msgstr ""
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index 99bca689..433198f8 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -18,1933 +18,5 @@ msgstr ""
18"Language: it\n" 18"Language: it\n"
19"Generated-By: Babel 2.4.0\n" 19"Generated-By: Babel 2.4.0\n"
20 20
21#: common/base.j2:5 common/news.j2:5
22msgid "GNUnet"
23msgstr ""
24
25#: common/base.j2:6 common/news.j2:6
26msgid "GNU's framework for secure p2p networking"
27msgstr ""
28
29#: common/footer.j2.inc:7
30msgid "Contact"
31msgstr ""
32
33#: common/footer.j2.inc:8 common/navigation.j2.inc:48
34msgid "GNUnet e.V."
35msgstr ""
36
37#: common/footer.j2.inc:9 template/about.html.j2:6
38msgid "About GNUnet"
39msgstr ""
40
41#: common/footer.j2.inc:14 common/navigation.j2.inc:61
42msgid "Bug Tracker"
43msgstr ""
44
45#: common/footer.j2.inc:19 template/copyright.html.j2:6
46msgid "Copyright Assignment"
47msgstr ""
48
49#: common/footer.j2.inc:20 common/navigation.j2.inc:89
50#: template/developers.html.j2:24
51msgid "Bibliography"
52msgstr ""
53
54#: common/footer.j2.inc:31
55msgid "Source code of this site."
56msgstr ""
57
58#: common/footer.j2.inc:32
59msgid "Report issues with this website."
60msgstr ""
61
62#: common/navigation.j2.inc:38 template/index.html.j2:51
63msgid "About"
64msgstr ""
65
66#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64
67msgid "News"
68msgstr ""
69
70#: common/navigation.j2.inc:43
71msgid "Community"
72msgstr ""
73
74#: common/navigation.j2.inc:46 template/index.html.j2:55
75msgid "Engage"
76msgstr ""
77
78#: common/navigation.j2.inc:47
79msgid "GSoC Projects"
80msgstr ""
81
82#: common/navigation.j2.inc:49
83msgid "Copyright for Contributors"
84msgstr ""
85
86#: common/navigation.j2.inc:50
87msgid "IRC Archive"
88msgstr ""
89
90#: common/navigation.j2.inc:57
91msgid "Development"
92msgstr ""
93
94#: common/navigation.j2.inc:60
95msgid "System Architecture"
96msgstr ""
97
98#: common/navigation.j2.inc:62 template/gnurl.html.j2:147
99msgid "Source Code"
100msgstr ""
101
102#: common/navigation.j2.inc:63
103msgid "Source Code Documentation"
104msgstr ""
105
106#: common/navigation.j2.inc:66
107msgid "Continuous Integration"
108msgstr ""
109
110#: common/navigation.j2.inc:68
111msgid "Development Tutorial"
112msgstr ""
113
114#: common/navigation.j2.inc:79
115msgid "Documentation"
116msgstr ""
117
118#: common/navigation.j2.inc:82 template/index.html.j2:53
119#: template/install.html.j2:6
120msgid "Install"
121msgstr ""
122
123#: common/navigation.j2.inc:83
124msgid "Use"
125msgstr ""
126
127#: common/navigation.j2.inc:84
128msgid "Videos"
129msgstr ""
130
131#: common/navigation.j2.inc:85 template/glossary.html.j2:6
132msgid "Glossary"
133msgstr ""
134
135#: common/navigation.j2.inc:86
136msgid "Handbook"
137msgstr ""
138
139#: common/navigation.j2.inc:87
140msgid "REST API"
141msgstr ""
142
143#: common/navigation.j2.inc:88
144msgid "FAQ"
145msgstr ""
146
147#: inc/news.macro.j2:10
148msgid "read more"
149msgstr ""
150
151#: template/about.html.j2:11
152msgid "What is GNUnet?"
153msgstr ""
154
155#: template/about.html.j2:13
156msgid ""
157"GNUnet is an alternative network stack for building secure, decentralized "
158"and privacy-preserving distributed applications. Our goal is to replace the "
159"old insecure Internet protocol stack. Starting from an application for "
160"secure publication of files, it has grown to include all kinds of basic "
161"protocol components and applications towards the creation of a GNU internet."
162msgstr ""
163
164#: template/about.html.j2:23
165msgid ""
166"Today, the actual use and thus the social requirements for a global network "
167"differs widely from those goals of 1970. While the Internet remains suitable "
168"for military use, where the network equipment is operated by a command "
169"hierarchy and when necessary isolated from the rest of the world, the "
170"situation is less tenable for civil society."
171msgstr ""
172
173#: template/about.html.j2:32
174msgid ""
175"Due to fundamental Internet design choices, Internet traffic can be "
176"misdirected, intercepted, censored and manipulated by hostile routers on the "
177"network. And indeed, the modern Internet has evolved exactly to the point "
178"where, as Matthew Green put it, <a href=\"https://blog."
179"cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the "
180"network is hostile\"</a>."
181msgstr ""
182
183#: template/about.html.j2:41
184msgid ""
185"We believe liberal societies need a network architecture that uses the anti-"
186"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
187"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
188"Software realization of this ideal."
189msgstr ""
190
191#: template/about.html.j2:49
192msgid ""
193"Specifically, GNUnet tries to follow the following design principles, in "
194"order of importance:"
195msgstr ""
196
197#: template/about.html.j2:56
198msgid ""
199"GNUnet must be implemented as <a href=\"https://www.gnu.org/philosophy/free-"
200"sw.html\">Free Software</a>."
201msgstr ""
202
203#: template/about.html.j2:60
204msgid ""
205"GNUnet must minimize the amount of personally identifiable information "
206"exposed."
207msgstr ""
208
209#: template/about.html.j2:61
210msgid ""
211"GNUnet must be fully distributed and resilient to external attacks and rogue "
212"participants."
213msgstr ""
214
215#: template/about.html.j2:62
216msgid ""
217"GNUnet must be self-organizing and not depend on administrators or "
218"centralized infrastructure."
219msgstr ""
220
221#: template/about.html.j2:63
222msgid ""
223"GNUnet must inform the user which other participants have to be trusted when "
224"establishing private communications."
225msgstr ""
226
227#: template/about.html.j2:64
228msgid "GNUnet must be open and permit new peers to join."
229msgstr ""
230
231#: template/about.html.j2:65
232msgid "GNUnet must support a diverse range of applications and devices."
233msgstr ""
234
235#: template/about.html.j2:66
236msgid "GNUnet must use compartmentalization to protect sensitive information."
237msgstr ""
238
239#: template/about.html.j2:67
240msgid "The GNUnet architecture must be resource efficient."
241msgstr ""
242
243#: template/about.html.j2:68
244msgid ""
245"GNUnet must provide incentives for peers to contribute more resources than "
246"they consume."
247msgstr ""
248
249#: template/about.html.j2:72
250msgid ""
251"To get know and learn more, please check our <a href=\"https://docs.gnunet."
252"org/handbook/gnunet.html\">handbook</a>, especially the <a href=\"https://"
253"docs.gnunet.org/handbook/gnunet.html#Key-Concepts\">chapter on \"Key Concepts"
254"\"</a>, explaining the fundamental concepts of GNUnet: <ul> <li><a href="
255"\"https://docs.gnunet.org/handbook/gnunet.html#Authentication"
256"\">Authentication</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
257"gnunet.html#Accounting-to-Encourage-Resource-Sharing\">Accounting to "
258"Encourage Resource Sharing</a></li> <li><a href=\"https://docs.gnunet.org/"
259"handbook/gnunet.html#Confidentiality\">Confidentiality</a></li> <li><a href="
260"\"https://docs.gnunet.org/handbook/gnunet.html#Anonymity\">Anonymity</a></"
261"li> <li><a href=\"https://docs.gnunet.org/handbook/gnunet.html#Deniability"
262"\">Deniability</a></li> <li><a href=\"https://docs.gnunet.org/handbook/"
263"gnunet.html#Peer-Identities\">Peer Identities</a></li> <li><a href=\"https://"
264"docs.gnunet.org/handbook/gnunet.html#Zones-in-the-GNU-Name-System-_0028GNS-"
265"Zones_0029\">Zones in the GNU Name System (GNS Zones)</a></li> <li><a href="
266"\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos</a></li> </ul>"
267msgstr ""
268
269#: template/about.html.j2:88
270msgid "More Resources"
271msgstr ""
272
273#: template/about.html.j2:90
274msgid ""
275"There are many more resources to learn about GNUnet besides the <a href="
276"\"https://docs.gnunet.org/handbook/gnunet.html\">handbook</a>, such as the "
277"<a href=\"https://bib.gnunet.org/\">bibliography</a> with papers covering "
278"the various layers, many <a href=\"https://gnunet.org/en/video.html"
279"\">videos</a> or a brief <a href=\"https://gnunet.org/en/glossary.html"
280"\">glossary</a>."
281msgstr ""
282
283#: template/about.html.j2:95
284msgid ""
285"You are most welcome to <a href=\"engage.html\">get engaged into the "
286"conversation</a>, <a href=\"install.html\">install GNUnet</a>, <a href=\"use."
287"html\">use it</a> and <a href=\"engage.html\">contribute and get engaged</a> "
288"in various ways."
289msgstr ""
290
291#: template/about.html.j2:100
292msgid ""
293"Please be aware that this project is (despite of it's age) still in an early "
294"alpha stage when it comes to software &#8211; its not an easy task to "
295"rewrite the whole Internet!"
296msgstr ""
297
298#: template/about.html.j2:105
299msgid "Current funding"
300msgstr ""
301
302#: template/about.html.j2:110
303msgid ""
304"We're receiving funding from NLnet's Next Generation Internet funding line "
305"to document and implement the GNU Name System protocol in a way suitable for "
306"the IETF standardization process."
307msgstr ""
308
309#: template/about.html.j2:123
310msgid ""
311"We are grateful for free hosting offered by the following organizations:"
312msgstr ""
313
314#: template/about.html.j2:132
315msgid "Past funding"
316msgstr ""
317
318#: template/about.html.j2:134
319msgid "We are grateful for past funding from the following organizations:"
320msgstr ""
321
322#: template/architecture.html.j2:6
323msgid "GNUnet System Architecture"
324msgstr ""
325
326#: template/architecture.html.j2:15
327msgid "Legend"
328msgstr ""
329
330#: template/architecture.html.j2:55
331msgid "Foundations"
332msgstr ""
333
334#: template/architecture.html.j2:57
335msgid ""
336"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
337"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
338"(GNS) and a pluggable transport system (TRANSPORT).<br> Using public keys "
339"for addresses and self-organized decentralized routing algorithms, these "
340"subsystems replace the traditional TCP/IP stack."
341msgstr ""
342
343#: template/architecture.html.j2:70
344msgid "Security"
345msgstr ""
346
347#: template/architecture.html.j2:73
348msgid ""
349"GNUnet is implemented using a multi-process architecture. Each subsystem "
350"runs as a separate process, providing fault-isolation and enabling tight "
351"permissions to be granted to each subsystem. Naturally, the implementation "
352"is a <a href=\"https://www.gnu.org/\">GNU</a> package, and will always "
353"remain free software."
354msgstr ""
355
356#: template/architecture.html.j2:87
357msgid "System architecture"
358msgstr ""
359
360#: template/architecture.html.j2:93
361msgid "Subsystems"
362msgstr ""
363
364#: template/architecture.html.j2:102
365msgid "libgnunetutil"
366msgstr ""
367
368#: template/architecture.html.j2:108
369msgid "APIs"
370msgstr ""
371
372#: template/contact.html.j2:6
373msgid "Contact information"
374msgstr ""
375
376#: template/contact.html.j2:11
377msgid "The mailing list"
378msgstr ""
379
380#: template/contact.html.j2:13
381msgid ""
382"An archived, public mailing list for GNUnet is hosted at <a href=\"https://"
383"lists.gnu.org/mailman/listinfo/gnunet-developers\">https://lists.gnu.org/"
384"mailman/listinfo/gnunet-developers</a>. You can send messages to the list at "
385"<a href=\"mailto:gnunet-developers@gnu.org\">gnunet-developers@gnu.org</a>."
386msgstr ""
387
388#: template/contact.html.j2:23
389msgid "The IRC channel"
390msgstr ""
391
392#: template/contact.html.j2:25
393msgid ""
394"<tt>#gnunet</tt> is reachable via <a href=\"https://freenode.net\">irc."
395"freenode.net</a>. There is also an <a href=\"https://old.gnunet.org/bot/log/"
396"gnunet\">archive</a> available (currently unavailable, we are working on "
397"restoring access to it)."
398msgstr ""
399
400#: template/contact.html.j2:38
401msgid "Contacting individuals"
402msgstr ""
403
404#: template/contact.html.j2:40
405msgid ""
406"GNUnet developers are generally reachable at either <tt>PSEUDONYM@gnunet."
407"org</tt> or <tt>LASTNAME@gnunet.org</tt>. Most of us support receiving GnuPG "
408"encrypted Emails."
409msgstr ""
410
411#: template/contact.html.j2:50
412msgid "Reporting bugs"
413msgstr ""
414
415#: template/contact.html.j2:52
416msgid ""
417"We track open feature requests and bugs for projects within GNUnet in our <a "
418"href=\"https://bugs.gnunet.org/\">Bug tracker</a>. You can also report bugs "
419"or feature requests to the <a href=\"https://lists.gnu.org/mailman/listinfo/"
420"bug-gnunet\">bug-gnunet</a> mailing list. The mailinglist requires no "
421"subscription."
422msgstr ""
423
424#: template/copyright.html.j2:11
425msgid ""
426"<p> Contributors to GNUnet with Git access must sign the <a href=\"/static/"
427"pdf/copyright.pdf\">copyright assignment</a> to ensure that the <a href="
428"\"https://git.gnunet.org/gnunet-ev.git/tree/gnunet_taler_agreement.tex"
429"\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative "
430"development</a> of the GNUnet and GNU Taler projects is satisfied. </p>"
431msgstr ""
432
433#: template/copyright.html.j2:22
434msgid ""
435"<p>The agreements ensure that the code will continue to be made available "
436"under free software licenses, but gives developers the freedom to move code "
437"between GNUnet and GNU Taler without worrying about licenses and to give the "
438"company the ability to dual-license (for example, so that we can distribute "
439"via App-stores that are hostile to free software).</p>"
440msgstr ""
441
442#: template/copyright.html.j2:30
443msgid ""
444"<p>Minor contributions (basically, anyone without Git access) do not require "
445"copyright assignment. Pseudonymous contributions are accepted, in this case "
446"simply sign the agreement with your pseudonym. Scanned copies are "
447"sufficient, but snail mail is preferred.</p>"
448msgstr ""
449
450#: template/developers.html.j2:5
451msgid "GNUnet for developers"
452msgstr ""
453
454#: template/developers.html.j2:13
455msgid "Repositories"
456msgstr ""
457
458#: template/developers.html.j2:16
459msgid ""
460"A list of our Git repositories can be found on our our <a href=\"https://git."
461"gnunet.org/\">Git Server</a>."
462msgstr ""
463
464#: template/developers.html.j2:27
465msgid ""
466"Technical papers can be found in our <a href=\"https://old.gnunet.org/"
467"bibliography\">bibliography</a>."
468msgstr ""
469
470#: template/developers.html.j2:34
471msgid "Discussion"
472msgstr ""
473
474#: template/developers.html.j2:37
475msgid ""
476"We have a mailing list for developer discussions. You can subscribe to or "
477"read the list archive at <a href=\"http://lists.gnu.org/mailman/listinfo/"
478"gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers</"
479"a>."
480msgstr ""
481
482#: template/developers.html.j2:47
483msgid "Regression Testing"
484msgstr ""
485
486#: template/developers.html.j2:50
487msgid ""
488"We have <a href=\"https://buildbot.net/\">Buildbot</a> automation tests to "
489"detect regressions and check for portability at <a href=\"https://old.gnunet."
490"org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/</a>."
491msgstr ""
492
493#: template/developers.html.j2:59
494msgid "Code Coverage Analysis"
495msgstr ""
496
497#: template/developers.html.j2:62
498msgid ""
499"We use <a href=\"http://ltp.sourceforge.net/coverage/lcov.php\">LCOV</a> to "
500"analyze the code coverage of our tests, the results are available at <a href="
501"\"https://old.gnunet.org/coverage/\">https://old.gnunet.org/coverage/</a>."
502msgstr ""
503
504#: template/developers.html.j2:72
505msgid "Performance Analysis"
506msgstr ""
507
508#: template/developers.html.j2:75
509msgid ""
510"We use <a href=\"https://old.gnunet.org/gauger\">Gauger</a> for performance "
511"regression analysis of the exchange backend at <a href=\"https://old.gnunet."
512"org/gauger/\">https://old.gnunet.org/gauger/</a>."
513msgstr ""
514
515#: template/download.html.j2:7 template/gnurl.html.j2:169
516msgid "Downloads"
517msgstr ""
518
519#: template/download.html.j2:11
520msgid ""
521"Here you can download releases of our software and find links to the various "
522"versions."
523msgstr ""
524
525#: template/download.html.j2:17
526msgid "0.11.x series"
527msgstr ""
528
529#: template/download.html.j2:18
530msgid "tarball"
531msgstr ""
532
533#: template/download.html.j2:20
534msgid ""
535"The tarball of the latest version can be obtained from GNU FTP and its "
536"mirrors."
537msgstr ""
538
539#: template/download.html.j2:30
540msgid "git"
541msgstr ""
542
543#: template/download.html.j2:32
544msgid ""
545"You can fetch the git tag of version 0.11.x from our development server:"
546msgstr ""
547
548#: template/engage.html.j2:6
549msgid "Engage!"
550msgstr ""
551
552#: template/ev.html.j2:6
553msgid "Verein zur F&ouml;rderung von GNUnet e.V."
554msgstr ""
555
556#: template/ev.html.j2:11
557msgid "About GNUnet e.V."
558msgstr ""
559
560#: template/ev.html.j2:13
561msgid ""
562"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
563"\"Verein zur F&ouml;rderung von GNUnet e.V.\", an association under German "
564"law to support GNUnet development. The Amtsgericht M&uuml;nchen registered "
565"the association on the 7th of March under VR 205287."
566msgstr ""
567
568#: template/ev.html.j2:22
569msgid ""
570"The association is officially dedicated to supporting research, development "
571"and education in the area of secure decentralized networking in general, and "
572"GNUnet specifically. This is the official website for the association."
573msgstr ""
574
575#: template/ev.html.j2:31
576msgid "Becoming a Member of GNUnet e.V."
577msgstr ""
578
579#: template/ev.html.j2:33
580msgid ""
581"GNUnet developers with git (write) access can become members to participate "
582"in the decision process and formally support GNUnet e.V. For this, all you "
583"have to do is update the <tt>members.txt</tt> file in the <a href=\"https://"
584"git.gnunet.org/gnunet-ev.git/\">gnunet-ev</a> repository. There are no "
585"membership dues; however, members are required to support GNUnet e.V. and in "
586"particularly contribute to the technical development within their means. For "
587"further details, we refer to the <a href=\"https://git.gnunet.org/gnunet-ev."
588"git/\">Satzung</a> (currently only available in German, translations "
589"welcome)."
590msgstr ""
591
592#: template/ev.html.j2:52
593msgid "Governance"
594msgstr ""
595
596#: template/ev.html.j2:54
597msgid ""
598"You can find our \"Satzung\", and the list of members under <a href="
599"\"https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex\">https://git.gnunet."
600"org/gnunet-ev.git/tree/satzung.tex</a>. The current board consists of: "
601"<dl><dt>Vorsitz</dt> <dd><a href=\"https://grothoff.org/christian/"
602"\">Christian Grothoff</a></dd> <dt>stellvertretender Vorsitz</dt> <dd>xrs</"
603"dd> <dt>Kassenwart</dt> <dd>Florian Dold</dd> <dt>Beisitzer</dt> <dd>Lurchi</"
604"dd> </dl>"
605msgstr ""
606
607#: template/ev.html.j2:71
608msgid "Official Meeting Notes"
609msgstr ""
610
611#: template/ev.html.j2:84
612msgid "Support Us!"
613msgstr ""
614
615#: template/ev.html.j2:86
616msgid ""
617"Everybody is welcome to support us via donations. For financial "
618"contributions, Europeans are able to donate via SEPA. We hope to setup "
619"accounts in other major currency areas in the future. You can also donate "
620"via Bitcoin, routing details are given below. Please note that we are unable "
621"to provide receipts for your donations. If you are planning to donate a "
622"significant amount of money, please contact us first as it might be better "
623"to come to a custom arrangement. <dl><dt>BitCoin</dt> "
624"<dd>1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh</dd> <dt>SEPA/IBAN</dt> "
625"<dd>DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)</dd> </dl>"
626msgstr ""
627
628#: template/faq.html.j2:12
629msgid ""
630"I receive many &quot;WARNING Calculated flow delay for X at Y for Z&quot;. "
631"Should I worry?"
632msgstr ""
633
634#: template/faq.html.j2:14
635msgid ""
636"A: Right now, this is expected and a known cause for high latency in GNUnet. "
637"We have started a major rewrite to address this and other problems, but "
638"until the Transport Next Generation (TNG) is ready, these warnings are "
639"expected."
640msgstr ""
641
642#: template/faq.html.j2:23
643msgid "Is there a graphical user interface?"
644msgstr ""
645
646#: template/faq.html.j2:25
647msgid ""
648"A: gnunet-gtk is a separate download. The package contains various GTK+ "
649"based graphical interfaces, including a graphical tool for configuration."
650msgstr ""
651
652#: template/glossary.html.j2:12
653msgid "Ego"
654msgstr ""
655
656#: template/glossary.html.j2:14
657msgid ""
658"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
659"multiple unlinkable identities, in the sense of alter egos. The ability to "
660"have more than one identity is crucial, as we may want to keep our egos for "
661"business separate from those we use for political activities or romance.<br> "
662"Egos in GNUnet are technically equivalent to identities (and the code does "
663"not distinguish between them). We simply sometimes use the term \"ego\" to "
664"stress that you can have more than one."
665msgstr ""
666
667#: template/glossary.html.j2:27
668msgid "Identity"
669msgstr ""
670
671#: template/glossary.html.j2:29
672msgid ""
673"In GNUnet users are identified via a public key, and that public key is then "
674"often referred to as the \"Identity\" of the user. However, the concept is "
675"not as draconian as it often is in real life where many are forced to have "
676"one name, one passport and one unique identification number. <br> As long as "
677"identities in GNUnet are simply public keys, users are free to create any "
678"number of identities, and we call those egos to emphasize the difference. "
679"Even though users can create such egos freely, it is possible to have an ego "
680"certified by some certification authority, resulting in something that more "
681"closely resembles the traditional concept of an identity.<br> For example, a "
682"university may certify the identities of its students such that they can "
683"prove that they are studying. Students may keep their (certified) student "
684"identity separate from other egos that they use for other activities in life."
685msgstr ""
686
687#: template/glossary.html.j2:50
688msgid "Pseudonym"
689msgstr ""
690
691#: template/glossary.html.j2:52
692msgid ""
693"A pseudonym is an ego that is specifically intended to not be linked to "
694"one's real name. GNUnet users can create many egos, and thus also many "
695"pseudonyms. <br> Repeated uses of the same pseudonym are linkable by "
696"definition, as they involve the same public key. Anonymity requires the use "
697"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
698"neutral element on the elliptic curve) or a throw-away pseudonym that is "
699"only used once."
700msgstr ""
701
702#: template/glossary.html.j2:71
703msgid "Namespaces"
704msgstr ""
705
706#: template/glossary.html.j2:73
707msgid ""
708"The GNU Name System allows every ego (or identity) to securely and privately "
709"associate any number of label-value pairs with an ego. The values are called "
710"record sets following the terminology of the Domain Name System (DNS). The "
711"mapping of labels to record sets for a given ego is called a namespace. <br> "
712"If records are made public and thus published, it is possible for other "
713"users to lookup the record given the ego's public key and the label. Here, "
714"not only the label can thus act as a passphrase but also the public key -- "
715"which despite its name may not be public knowledge and is never disclosed by "
716"the GNS protocol itself."
717msgstr ""
718
719#: template/glossary.html.j2:89
720msgid "Peer"
721msgstr ""
722
723#: template/glossary.html.j2:91
724msgid ""
725"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
726"network addresses. Technically, it is possible to run multiple peers on the "
727"same host, but this only makes sense for testing. <br> By design GNUnet "
728"supports multiple users to share the same peer, just as UNIX is a multi-user "
729"system. A \"peer\" typically consists of a set of foundational GNUnet "
730"services running as the \"gnunet\" user and allowing all users in the "
731"\"gnunet\" group to utilize the API. On multi-user systems, additional "
732"\"personalized\" services may be required per user. <br> While peers are "
733"also identified by public keys, these public keys are completely unrelated "
734"to egos or identities. Namespaces cannot be associated with a peer, only "
735"with egos."
736msgstr ""
737
738#: template/gnurl.html.j2:20
739msgid ""
740"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
741"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
742"ensure a small footprint and uniform experience for developers regardless of "
743"how libcurl was compiled.<br> Our main usecase is for GNUnet, but it might "
744"be usable for others, hence we're releasing the code to the general public."
745"<br> libgnurl is released under the same license as libcurl. Please read the "
746"README for instructions, as you must supply the correct options to configure "
747"to get a proper build of libgnurl."
748msgstr ""
749
750#: template/gnurl.html.j2:35
751msgid "About gnurl"
752msgstr ""
753
754#: template/gnurl.html.j2:37
755msgid ""
756"Large parts of the following 6 paragraphs are old and need to be rewritten."
757msgstr ""
758
759#: template/gnurl.html.j2:43
760msgid "Motivation"
761msgstr ""
762
763#: template/gnurl.html.j2:45
764msgid ""
765"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
766"other variants are used by some distributions. Supporting other crypto "
767"backends would again expose us to a wider array of security issues, may "
768"create licensing issues and most importantly introduce new bugs as some "
769"crypto backends are known to introduce subtle runtime issues. While it is "
770"possible to have two versions of libcurl installed on the same system, this "
771"is error-prone, especially as if we are linked against the wrong version, "
772"the bugs that arise might be rather subtle."
773msgstr ""
774
775#: template/gnurl.html.j2:58
776msgid ""
777"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
778"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
779"one links cURL against this version of GnuTLS? Well, first one would install "
780"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
781"it just fine, but the linker will eventually complain bitterly. The reason "
782"is that cURL also links against a bunch of other system libraries (gssapi, "
783"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
784"which --- as they are part of the distribution --- were linked against an "
785"older version of GnuTLS. As a result, the same binary would be linked "
786"against two different versions of GnuTLS. That is typically a recipe for "
787"disaster. Thus, in order to avoid updating a dozen system libraries (and "
788"having two versions of those installed), it is necessary to disable all of "
789"those cURL features that GNUnet does not use, and there are many of those. "
790"For GNUnet, the more obscure protocols supported by cURL are close to dead "
791"code --- mostly harmless, but not useful. However, as some application may "
792"use one of those features, distributions are typically forced to enable all "
793"of those features, and thus including security issues that might arise from "
794"that code."
795msgstr ""
796
797#: template/gnurl.html.j2:82
798msgid ""
799"So to use a modern version of GnuTLS, a sane approach is to disable all of "
800"the \"optional\" features of cURL that drag in system libraries that link "
801"against the older GnuTLS. That works, except that one should then NEVER "
802"install that version of libcurl in say /usr or /usr/local, as that may break "
803"other parts of the system that might depend on these features that we just "
804"disabled. Libtool versioning doesn't help here, as it is not intended to "
805"deal with libraries that have optional features. Naturally, installing cURL "
806"somewhere else is also problematic, as we now need to be really careful that "
807"the linker will link GNUnet against the right version. Note that none of "
808"this can really be trivially fixed by the cURL developers."
809msgstr ""
810
811#: template/gnurl.html.j2:97
812msgid "Rename to fix"
813msgstr ""
814
815#: template/gnurl.html.j2:99
816#, python-format
817msgid ""
818"How does forking fix it? Easy. First, we can get rid of all of the "
819"compatibility issues --- if you use libgnurl, you state that you don't need "
820"anything but HTTP/HTTPS. Those applications that need more, should stick "
821"with the original cURL. Those that do not, can choose to move to something "
822"simpler. As the library gets a new name, we do not have to worry about tons "
823"of packages breaking as soon as one rebuilds it. So renaming itself and "
824"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" "
825"fixes 99%% of the problems that darkened my mood. Note that this pretty much "
826"CANNOT be done without a fork, as renaming is an essential part of the fix. "
827"Now, there might be creative solutions to achieve the same thing within the "
828"standard cURL build system, but I'm not happy to wait for a decade for "
829"Daniel to review the patches. The changes libgnurl makes to curl are "
830"miniscule and can easily be applied again and again whenever libcurl makes a "
831"new release."
832msgstr ""
833
834#: template/gnurl.html.j2:118
835msgid "Using libgnurl"
836msgstr ""
837
838#: template/gnurl.html.j2:120
839msgid ""
840"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
841"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
842"That's it. No changes to the source code should be required, as libgnurl "
843"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
844"cURL. We might add new features relating to this core subset if they are "
845"proposed, but so far we have kept our changes minimal and no additions to "
846"the original curl source have been written."
847msgstr ""
848
849#: template/gnurl.html.j2:133
850msgid "Gotchas"
851msgstr ""
852
853#: template/gnurl.html.j2:135
854msgid ""
855"libgnurl and gnurl are not intended to be used as a replacement for curl for "
856"users. Since no conflicts in filenames should occur you are not expected to "
857"remove curl to make use of gnurl and viceversa."
858msgstr ""
859
860#: template/gnurl.html.j2:149
861msgid "You can get the gnurl git repository using:"
862msgstr ""
863
864#: template/gnurl.html.j2:162
865msgid "The versions are checked in as (signed) git tags."
866msgstr ""
867
868#: template/gnurl.html.j2:171
869msgid ""
870"Releases are published on <a href=\"https://ftpmirror.gnu.org/gnu/gnunet/"
871"\">ftpmirror.gnu.org/gnu/gnunet</a>. gnurl is available from within a "
872"variety of distributions and package managers. Package Managers which "
873"include gnurl are: <a href=\"https://www.gnu.org/software/guix/\">GNU Guix</"
874"a> (available as \"gnurl\"), <a href=\"https://gentoo.org\">Gentoo</a> "
875"through the collaborative ebuild collection <a href=\"https://git.gnunet.org/"
876"youbroketheinternet-overlay.git/\">youbroketheinternet</a>, <a href="
877"\"https://nixos.org/nix/\">Nix</a>, and as www/gnurl in <a href=\"https://"
878"pkgsrc.org\">pkgsrc</a>."
879msgstr ""
880
881#: template/gnurl.html.j2:188
882msgid "Building gnurl"
883msgstr ""
884
885#: template/gnurl.html.j2:190
886msgid ""
887"We suggest to closely follow release announcements, as they might indicate "
888"changes in how gnurl is to be build. <br> If your package manager provides a "
889"binary build or build instructions to build gnurl from source automated and "
890"integrated with your environment, we strongly suggest to use this binary "
891"build. <br> There are two ways to build gnurl. The first one builds from the "
892"most recent git tag, the second one uses the distributed tarball. "
893"Distributors generally are supposed to build from the tarball, but we "
894"describe both methods here. Both methods are written with a NetBSD 9 "
895"userland in mind, substitute tools as necessary. <br> You should <b>avoid</"
896"b> building gnurl from the tip of the default git branch, as only tags are "
897"considered to be stable and approved builds."
898msgstr ""
899
900#: template/gnurl.html.j2:211
901msgid "Building from the distributed tarball (prefered method)"
902msgstr ""
903
904#: template/gnurl.html.j2:213
905msgid ""
906"If you want to verify the signature, install an OpenPGP compatible tool such "
907"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
908msgstr ""
909
910#: template/gnurl.html.j2:227
911msgid "Fetch the signature key from"
912msgstr ""
913
914#: template/gnurl.html.j2:231
915msgid "or via commandline with gnupg2."
916msgstr ""
917
918#: template/gnurl.html.j2:236
919msgid ""
920"Fetch the release, the signature, the checksum file as well as its signature:"
921msgstr ""
922
923#: template/gnurl.html.j2:255
924msgid ""
925"verify the signatures, and verify the checksums against the checksums in "
926"the .sum.txt file."
927msgstr ""
928
929#: template/gnurl.html.j2:261
930msgid "unpack the tarball:"
931msgstr ""
932
933#: template/gnurl.html.j2:271
934msgid "Change into the directory"
935msgstr ""
936
937#: template/gnurl.html.j2:281
938msgid "Now you can either run"
939msgstr ""
940
941#: template/gnurl.html.j2:291
942msgid "directly (and read configure-gnurl before you do so) or invoke"
943msgstr ""
944
945#: template/gnurl.html.j2:301
946msgid ""
947"and pass additional parameters such as a custom PREFIX location. Further "
948"reference can be the"
949msgstr ""
950
951#: template/gnurl.html.j2:306
952msgid "Now run"
953msgstr ""
954
955#: template/gnurl.html.j2:316
956msgid "(this is optional)"
957msgstr ""
958
959#: template/gnurl.html.j2:325
960msgid "and you are done."
961msgstr ""
962
963#: template/gnurl.html.j2:329
964msgid "Building from a tagged git commit"
965msgstr ""
966
967#: template/gnurl.html.j2:331
968msgid ""
969"Follow the steps above, but instead of downloading the tarball, clone the "
970"git tag you want to build from."
971msgstr ""
972
973#: template/gnurl.html.j2:342
974msgid "Reporting Bugs"
975msgstr ""
976
977#: template/gnurl.html.j2:344
978msgid ""
979"You can report bugs on our bug tracker: <a href=\"https://bugs.gnunet.org/"
980"\">bugs.gnunet.org</a>. Alternatively you can use our bug mailinglist, but "
981"we prefer to track bugs on the bugtracker."
982msgstr ""
983
984#: template/gnurl.html.j2:354
985msgid "Maintainer and Cryptographic signatures"
986msgstr ""
987
988#: template/gnurl.html.j2:356
989msgid ""
990"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP "
991"Key <b>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</b>, with the key "
992"fingerprint <b>A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588</b>."
993msgstr ""
994
995#: template/gsoc-2018-gnunet-webui.html.j2:7
996msgid "GSoC 2018: GNUnet WebUI"
997msgstr ""
998
999#: template/gsoc-2018-gnunet-webui.html.j2:11
1000msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
1001msgstr ""
1002
1003#: template/gsoc-2018-gnunet-webui.html.j2:17
1004msgid ""
1005"<strong>What was done?</strong><br /> In the context of Google Summer of "
1006"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and "
1007"extending the REST API of GNUnet. Currently, we mirrored the functionality "
1008"of following commands:"
1009msgstr ""
1010
1011#: template/gsoc-2018-gnunet-webui.html.j2:32
1012msgid ""
1013"Additionally, we developed a website with the Javascript framework Angular 6 "
1014"and the design framework iotaCSS to use the new REST API. The REST API of "
1015"GNUnet is now documented with Sphinx."
1016msgstr ""
1017
1018#: template/gsoc-2018-gnunet-webui.html.j2:40
1019msgid ""
1020"<strong>Why did we create a REST API?</strong><br /> ... when you can use "
1021"the command line tools?<br /> We need to keep in mind, that everyone has the "
1022"right to stay secure and private but not everyone feels comfortable using a "
1023"terminal. The further developed REST access to GNUnet APIs in addition to "
1024"the new web application allows new users to interact with GNUnet over a well "
1025"known tool: their browsers. This addition to the C API and the command line "
1026"tools may attract new users and developers."
1027msgstr ""
1028
1029#: template/gsoc-2018-gnunet-webui.html.j2:52
1030msgid ""
1031"<strong>How can we use it?</strong><br /> 1. The REST API developed in "
1032"GNUnet<br /> The REST API is already merged into the gnunet.git repository "
1033"(<a href=\"https://gnunet.org/git/gnunet.git/\">GNUnet Main Git</a>).<br /> "
1034"To use the new features, clone the repository and follow the <a href="
1035"\"https://gnunet.org/en/install.html\">Installation</a> on gnunet.org. Then, "
1036"start the rest service with \"gnunet-arm -i rest\"."
1037msgstr ""
1038
1039#: template/gsoc-2018-gnunet-webui.html.j2:63
1040msgid ""
1041"2. The Web Application<br /> The web application is available under the "
1042"gnunet-webui.git repository (<a href=\"https://gnunet.org/git/gnunet-webui."
1043"git/\">GNUnet WebUI Git</a>).<br /> You need to install the newest version "
1044"of 'node' and 'yarn'. Dependent on your system, you may need to download "
1045"newer versions and install them manually and not over your packet manager. "
1046"After the installation succeeded, you need to clone the repository. Then, "
1047"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To "
1048"deploy the website (keep in mind, that this website communicates with "
1049"another localhost instance) use \"yarn build\" for building the web "
1050"application and use the output in the 'dist' directory."
1051msgstr ""
1052
1053#: template/gsoc-2018-gnunet-webui.html.j2:80
1054msgid ""
1055"3. The Documentation<br /> The documentation is available under the gnunet-"
1056"rest-api.git repository (<a href=\"https://gnunet.org/git/gnunet-rest-api."
1057"git/\">GNUnet REST API Docmentation Git</a>).<br /> Clone the repository and "
1058"\"make html\". Then open the 'index.html' under 'build/html/'."
1059msgstr ""
1060
1061#: template/gsoc-2018-gnunet-webui.html.j2:91
1062msgid ""
1063"Please, give it a try and contact me, if you find any bugs or unintentional "
1064"features. ;)"
1065msgstr ""
1066
1067#: template/gsoc-2018-gnunet-webui.html.j2:97
1068msgid ""
1069"<strong>What can be improved?</strong><br /> Right now, the build process of "
1070"the web application may be a little too complex for a casual user. We may be "
1071"able to solve this by using docker.<br /> Additionally, the web application "
1072"does not prevent wrong inputs but responds with error messages. Adding "
1073"GNUnet Records is currently only usable for people, who know how a GNS "
1074"Record looks like. This can be adapted to each record type.<br /> Last but "
1075"not least, additional features, design changes, etc..."
1076msgstr ""
1077
1078#: template/gsoc-2018-gnunet-webui.html.j2:111
1079msgid "Thanks for reading."
1080msgstr ""
1081
1082#: template/gsoc.html.j2:6
1083msgid "GNUnet's Google Summer of Code projects"
1084msgstr ""
1085
1086#: template/gsoc.html.j2:12 template/gsoc.html.j2:28
1087msgid "Current projects"
1088msgstr ""
1089
1090#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
1091msgid "Past projects"
1092msgstr ""
1093
1094#: template/gsoc.html.j2:14 template/gsoc.html.j2:553
1095msgid "Finished projects"
1096msgstr ""
1097
1098#: template/gsoc.html.j2:21
1099msgid ""
1100"As a GNU project, GNUnet has participated in the Google Summer of Code "
1101"(GSoC) for a number of years. This page lists all current, past, and "
1102"finished projects."
1103msgstr ""
1104
1105#: template/gsoc.html.j2:37
1106msgid ""
1107"It is time for GNUnet to run properly on Android. Note that GNUnet is "
1108"written in C, and this is not about rewriting GNUnet in Java, but about "
1109"getting the C code to run on Android."
1110msgstr ""
1111
1112#: template/gsoc.html.j2:44
1113msgid ""
1114"<strong>Mentors:</strong> <a href=\"https://www.goebel-consult.de/\">Hartmut "
1115"Goebel</a>"
1116msgstr ""
1117
1118#: template/gsoc.html.j2:53
1119msgid ""
1120"There is a push for migrating our CI to Gitlab. The CI should eventually not "
1121"just run \"make check\" on various platforms, but also perform tests with "
1122"multiple peers running in different VMs with specific network topologies (i."
1123"e. NAT) between them being simulated. The CI should also be integrated with "
1124"Gauger for performance regression analysis. Running jobs only when "
1125"dependencies have changed and scripting more granular triggers or ideally "
1126"automatic dependency discovery (as done by the autotools) is also important."
1127msgstr ""
1128
1129#: template/gsoc.html.j2:65
1130msgid "<strong>Mentors:</strong> TBD"
1131msgstr ""
1132
1133#: template/gsoc.html.j2:74
1134msgid ""
1135"reclaimID is a decentralized identity system build on top of the GNU Name "
1136"System. Upon authorization, the user provides a requesting party (RP) such "
1137"as a website with an authorization ticket (e.g. piggybacked in an OpenID "
1138"authorization code). The RP uses information contained in this ticket to "
1139"<ol> <li> Retrieve the decryption key from GNS</li> <li> Retrieve the user "
1140"attributes from GNS</li> </ol> The GNS lookups ensure that the RP receives "
1141"up-to-date attributes and functional decryption keys. However, in particular "
1142"the RP-specific encryption key resolution can be slow and even fail "
1143"depending on the network topology. We propose that in an initial exchange, "
1144"in particular OpenID authorization code flows, we try to incorporate key and "
1145"maybe even an attribute set in the ticket exchange. In order to mitigate "
1146"this issue, this project is meant to investigate and implement how... <ol> "
1147"<li> ... decryption keys can be added to an initial exchange in OpenID.</li> "
1148"<li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> </"
1149"ol> <br/> <strong>Mentors:</strong> Martin Schanzenbach"
1150msgstr ""
1151
1152#: template/gsoc.html.j2:105
1153msgid ""
1154"re:claimID is a decentralized identity system build on top of the GNU Name "
1155"System. The initial design and implementation of re:claimID includes an "
1156"attribute-based encryption module in order to prevent unauthorized access to "
1157"attributes in the name system. Our motivation for re:claimID was for it to "
1158"be name system agnostic, which means the design theoretically also works for "
1159"other name systems such as namecoin. Other name systems often do not have "
1160"built-in mechanisms in order to do this. Hence, we implemented an ABE access "
1161"control layer. Our ABE implementation requires two third party libraries: "
1162"libpbc and libgabe. While we could merge libgabe into the gnunet service "
1163"implementation of re:claimID, libpbc is a rather large, third party library "
1164"which lacks packaging in distributions and for platforms. On the other hand, "
1165"GNS supports record data encryption using symmetric keys as labels. If we "
1166"make the access control layer of re:claimID more generic in order to support "
1167"both ABE and GNS encryption, we could reduce the required depenencies. This "
1168"would result in gnunet packages to include re:claimID by default. In short, "
1169"the goals are to... <ol> <li> ... improve performance by reducing encryption "
1170"overhead.</li> <li> ... reduce dependencies.</li> </ol> <br/> "
1171"<strong>Mentors:</strong> Martin Schanzenbach"
1172msgstr ""
1173
1174#: template/gsoc.html.j2:140
1175msgid ""
1176"One great problem of the current Internet is the lack of disintermediation. "
1177"When people want to talk they need a chat service. When they want to share "
1178"files they need a file transfer service. Although GNUnet already possesses "
1179"quite advanced integration into Linux networking, a little extra work is "
1180"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
1181"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
1182"Once people have added a person to their GNS they can immediately message, "
1183"exchange files and suchlike directly, with nothing but the GNUnet in the "
1184"middle, using applications that have been distributed with unix systems ever "
1185"since the 1980's. We can produce an OS distribution where these things work "
1186"out of the box with the nicknames of people instead of cloud services. For "
1187"more information and context, read"
1188msgstr ""
1189
1190#: template/gsoc.html.j2:161
1191msgid "<strong>Mentors:</strong> lynX &amp; dvn"
1192msgstr ""
1193
1194#: template/gsoc.html.j2:169
1195msgid ""
1196"There are a variety of GNUNet APIs that should be exposed in the Rust "
1197"wrappers. Implementing these will require extending the port of GNUNet utils "
1198"written by Andrew Cann and Kelong Cong."
1199msgstr ""
1200
1201#: template/gsoc.html.j2:177
1202msgid ""
1203"As an introduction to the code base, we suggest that the student and Jeff "
1204"Burdges together update the asynchronous IO system from gjio to futures-rs "
1205"or another layer built upon it. Jeff Burdges is expected to concurrently be "
1206"implementing a GNUNet API for his own mix network work."
1207msgstr ""
1208
1209#: template/gsoc.html.j2:187 template/gsoc.html.j2:211
1210#: template/gsoc.html.j2:265 template/gsoc.html.j2:295
1211#: template/gsoc.html.j2:539
1212msgid "<strong>Mentors:</strong> Jeff Burdges"
1213msgstr ""
1214
1215#: template/gsoc.html.j2:192
1216msgid "Required Skills: Rust"
1217msgstr ""
1218
1219#: template/gsoc.html.j2:197
1220msgid "Difficulty level: low"
1221msgstr ""
1222
1223#: template/gsoc.html.j2:205
1224msgid ""
1225"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
1226msgstr ""
1227
1228#: template/gsoc.html.j2:216
1229msgid ""
1230"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
1231"using GNS over Tor too, but currently that's on hold until folks think more "
1232"about how names should be moved around the local system. We're calling this "
1233"more collaborative approach NSS2 for now."
1234msgstr ""
1235
1236#: template/gsoc.html.j2:225 template/gsoc.html.j2:399
1237#: template/gsoc.html.j2:439 template/gsoc.html.j2:469
1238msgid "Required Skills: C"
1239msgstr ""
1240
1241#: template/gsoc.html.j2:230 template/gsoc.html.j2:474
1242#: template/gsoc.html.j2:619
1243msgid "Difficulty level: medium"
1244msgstr ""
1245
1246#: template/gsoc.html.j2:238
1247msgid ""
1248"Design and implementation of <a href=\"http://jsonapi.org/\">REST APIs</a> "
1249"that expose the <a href=\"https://docs.gnunet.org/doxygen/modules.html"
1250"\">GNUnet API</a> so that easy, hands-on development is possible. Also, "
1251"browser-based UIs will be much easier to create on top of REST APIs."
1252msgstr ""
1253
1254#: template/gsoc.html.j2:249 template/gsoc.html.j2:609
1255msgid "<strong>Mentors:</strong> Martin Schanzenbach"
1256msgstr ""
1257
1258#: template/gsoc.html.j2:257
1259msgid ""
1260"Improve the Rust implementation of GNUnet utils, possibly including adding "
1261"support for asynchronous IO using mio, or perhaps a higher level "
1262"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
1263"gj."
1264msgstr ""
1265
1266#: template/gsoc.html.j2:273
1267msgid ""
1268"Implement rudimentary Android compatibility for GNUnet, in part by porting "
1269"the GNUnet utils scheduler to act as a thin wrapper over libuv."
1270msgstr ""
1271
1272#: template/gsoc.html.j2:280
1273msgid "<strong>Mentors:</strong> Jeff Burdges and Christian Grothoff"
1274msgstr ""
1275
1276#: template/gsoc.html.j2:288 template/gsoc.html.j2:532
1277msgid ""
1278"Implementation of a replacement for PANDA (see Pond) with better security, "
1279"and maybe integration with the GNU Name System for key exchange."
1280msgstr ""
1281
1282#: template/gsoc.html.j2:300
1283msgid "Required Skills: Rust or C, crypto"
1284msgstr ""
1285
1286#: template/gsoc.html.j2:305 template/gsoc.html.j2:362
1287#: template/gsoc.html.j2:404 template/gsoc.html.j2:444
1288msgid "Difficulty level: high"
1289msgstr ""
1290
1291#: template/gsoc.html.j2:313
1292msgid ""
1293"Implement different place types and file sharing by creating a new place for "
1294"the shared content."
1295msgstr ""
1296
1297#: template/gsoc.html.j2:319
1298msgid "Place types to be implemented:"
1299msgstr ""
1300
1301#: template/gsoc.html.j2:323
1302msgid ""
1303"<ul> <li>File: generic file with comments</li> <li>Image: display an image "
1304"with comments referencing a region of the image</li> <li>Sound: play a sound "
1305"file with comments referencing a timestamp</li> <li>Directory/Album: "
1306"pointers to File / Image / Sound places</li> <li>Event: with RSVP</li> "
1307"<li>Survey: ask your social neighborhood questions in a structured form</li> "
1308"</ul>"
1309msgstr ""
1310
1311#: template/gsoc.html.j2:334
1312msgid "Also provide the following UI functionality:"
1313msgstr ""
1314
1315#: template/gsoc.html.j2:338
1316msgid ""
1317"<ul> <li>Fork existing channels, reorganize people into new chatrooms or "
1318"channels.</li> <li>Share a post (edit and repost something elsewhere, on a "
1319"fan page for example).</li> <li>Edit a previously published post + offer "
1320"edit history to readers.</li> <li>Control expiry of channel history.</li> </"
1321"ul>"
1322msgstr ""
1323
1324#: template/gsoc.html.j2:347
1325msgid ""
1326"See also <a href=\"http://secushare.org/features\">http://secushare.org/"
1327"features</a>"
1328msgstr ""
1329
1330#: template/gsoc.html.j2:352
1331msgid "<strong>Mentors:</strong> lynX"
1332msgstr ""
1333
1334#: template/gsoc.html.j2:357
1335msgid "Required Skills: C/C++"
1336msgstr ""
1337
1338#: template/gsoc.html.j2:370
1339msgid ""
1340"Implement aggregation of distributed state from various channels in order to "
1341"provide for a powerful social graph API capable of producing social network "
1342"profiles, dashboards, a calendar out of upcoming event invitations (if "
1343"available), social search functionality and most of all to make it easy for "
1344"users to adopt cryptographic identities of their contacts/friends simply by "
1345"finding them in the social graph of their existing contacts (\"This is "
1346"Linda. You have 11 contacts in common with her. [ADD]\")."
1347msgstr ""
1348
1349#: template/gsoc.html.j2:388
1350msgid ""
1351"Related to <a href=\"http://secushare.org/rendezvous\">secushare.org/"
1352"rendezvous</a>"
1353msgstr ""
1354
1355#: template/gsoc.html.j2:394 template/gsoc.html.j2:434
1356msgid "<strong>Mentors:</strong> t3sserakt, lynX"
1357msgstr ""
1358
1359#: template/gsoc.html.j2:411
1360msgid ""
1361"<ul> <li> Emulate IMAP/SMTP protocols as necessary to transform traditional "
1362"mail clients into secushare user interfaces. </li> <li> Think of ways to map "
1363"e-mail addresses to secushare identities. </li> <li> Encode or translate "
1364"various e-mail features into secushare equivalents. </li> <li> Parts of "
1365"secushare are currently written in Rust, therefore Rust is preferred for "
1366"this task but it is not an requirement. </li> </ul>"
1367msgstr ""
1368
1369#: template/gsoc.html.j2:452
1370msgid ""
1371"Implementation of the GNUnet auction system described in Chapter 3 of <a "
1372"href=\"https://grothoff.org/christian/teich2017ms.pdf\">this thesis</a>. "
1373"Specific tasks are adding smart contract creation and round time enforcement "
1374"to libbrandt as well as creating the GNUnet auction service, library and the "
1375"three user interface programs create, info and join."
1376msgstr ""
1377
1378#: template/gsoc.html.j2:464
1379msgid "<strong>Mentors:</strong> mate, cg"
1380msgstr ""
1381
1382#: template/gsoc.html.j2:482
1383msgid ""
1384"Implementation of additional transports to make GNUnet communication more "
1385"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
1386"over-DNS"
1387msgstr ""
1388
1389#: template/gsoc.html.j2:489 template/gsoc.html.j2:503
1390msgid "<strong>Mentors:</strong> Matthias Wachs"
1391msgstr ""
1392
1393#: template/gsoc.html.j2:497
1394msgid ""
1395"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
1396"punching, better STUN support)"
1397msgstr ""
1398
1399#: template/gsoc.html.j2:511
1400msgid ""
1401"<strong>Mentors:</strong> Matthias Wachs, Christian Grothoff, Jeff Burdges"
1402msgstr ""
1403
1404#: template/gsoc.html.j2:519
1405msgid ""
1406"Improving libaboss to make computation on shared secrets (including repeated "
1407"multiplication) based on <a href=\"https://dl.acm.org/citation.cfm?"
1408"doid=62212.62213\">Ben-Or et al.</a> if possible. This in particular means "
1409"moving libaboss to bignums (gcry_mpi)."
1410msgstr ""
1411
1412#: template/gsoc.html.j2:547
1413msgid ""
1414"Please refer to the description for this project listed under GNU Guix "
1415"project ideas."
1416msgstr ""
1417
1418#: template/gsoc.html.j2:559
1419msgid ""
1420"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
1421"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
1422"around python-zbar, which itself wraps libzbar. The goal of this project is "
1423"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
1424"(see also <a href=\"https://bugs.gnunet.org/view.php?id=5562\">#5562</a>)."
1425msgstr ""
1426
1427#: template/gsoc.html.j2:569
1428msgid "<strong>Mentors:</strong> Christian Grothoff"
1429msgstr ""
1430
1431#: template/gsoc.html.j2:574
1432msgid "Required Skills:"
1433msgstr ""
1434
1435#: template/gsoc.html.j2:579
1436msgid "Difficulty level:"
1437msgstr ""
1438
1439#: template/gsoc.html.j2:584
1440msgid "Report:"
1441msgstr ""
1442
1443#: template/gsoc.html.j2:589
1444msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
1445msgstr ""
1446
1447#: template/gsoc.html.j2:599
1448msgid ""
1449"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
1450"to be determined framework such as Angular2. This includes the design and "
1451"implementation of not yet existing <a href=\"http://jsonapi.org/\">REST "
1452"APIs</a> that expose the <a href=\"https://docs.gnunet.org/doxygen/modules."
1453"html\">GNUnet API</a>."
1454msgstr ""
1455
1456#: template/gsoc.html.j2:614
1457msgid "Required Skills: C, JavaScript, CSS"
1458msgstr ""
1459
1460#: template/gsoc.html.j2:624
1461msgid ""
1462"Report: <a href=\"gsoc-2018-gnunet-webui.html\">GSoC 2018: GNUnet WebUI</a>"
1463msgstr ""
1464
1465#: template/index.html.j2:19
1466msgid ""
1467"GNUnet is a new network protocol stack for building secure, distributed, and "
1468"privacy-preserving applications. With strong roots in <a href=\"https://bib."
1469"gnunet.org\">academic research</a>, our goal is to replace the <a href="
1470"\"https://secushare.org/broken-internet\">old insecure Internet</a> protocol "
1471"stack."
1472msgstr ""
1473
1474#: template/index.html.j2:29
1475msgid ""
1476"GNUnet is typically run as an <a href=\"https://en.wikipedia.org/wiki/"
1477"Overlay_network\">overlay network</a> on top of the existing Internet "
1478"infrastructure forming the basis of a hybrid <a href=\"architecture.html"
1479"\">peer-to-peer mesh and relay backbone</a> for applications to run on. It "
1480"could just as well be run independently of the Internet, over <a href="
1481"\"https://en.wikipedia.org/wiki/Physical_layer\">dedicated radio and cable</"
1482"a>."
1483msgstr ""
1484
1485#: template/index.html.j2:38
1486msgid ""
1487"GNUnet is made for a free and open society: It&#39;s a self-organizing "
1488"network and it is <a href=\"http://www.gnu.org/philosophy/free-sw.html"
1489"\">free software</a> as in freedom. GNUnet puts you in control of your data. "
1490"You determine which data to share with whom, and you&#39;re not pressured to "
1491"accept compromises."
1492msgstr ""
1493
1494#: template/index.html.j2:89
1495msgid "The Internet of tomorrow needs GNUnet today"
1496msgstr ""
1497
1498#: template/index.html.j2:95
1499msgid "Imagine..."
1500msgstr ""
1501
1502#: template/index.html.j2:97
1503msgid ""
1504"The conventional Internet is currently like a system of roads with deep "
1505"potholes and highwaymen all over the place. Even if you still can use the "
1506"roads (e.g. send emails, or browse websites) your vehicle might get "
1507"hijacked, damaged, or long arms might reach into its back and steal your "
1508"items (data) to use it against you and sell it to others - while you can&#39;"
1509"t even notice the thievery nor accuse and hold the scroungers accountable. "
1510"<!-- Proposal from Fabian Gerlach: The conventional Internet is currently "
1511"like a system of roads with deep potholes and surveillance cameras all over "
1512"the place. Even if you still can use the roads (e.g. send emails, or browse "
1513"websites) your vehicle might gets damaged. And the surveillance cameras will "
1514"create a movement profile about your life: They recognize your car license "
1515"plate, track you everywhere you drive, and save this information in a "
1516"central data base. -->"
1517msgstr ""
1518
1519#: template/index.html.j2:121
1520msgid "The Internet is broken"
1521msgstr ""
1522
1523#: template/index.html.j2:123
1524msgid ""
1525"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: "
1526"protecting against address forgery, routers learning metadata, or choosing "
1527"trustworthy CAs is nontrivial and sometimes impossible. <!-- Proposal from "
1528"Fabian Gerlach: The Internet is not designed with security in mind: The "
1529"network generally learns too much about users; it has insecure defaults and "
1530"high complexity; and it is centralized. That makes it very vulnerable for "
1531"multiple attacks massively threatening our freedom. -->"
1532msgstr ""
1533
1534#: template/index.html.j2:137
1535msgid ""
1536"GNUnet provides <a href=\"https://www.w3.org/2014/strint/papers/65.pdf"
1537"\">privacy by design</a>, improving addressing, routing, naming and content "
1538"distribution in a technically robust manner - as opposed to ad-hoc designs "
1539"in place today. <!-- Proposal from fabian gerlach: GNUnet is built <a href="
1540"\"https://www.w3.org/2014/strint/papers/65.pdf\">\"privacy by design\"</a> "
1541"and \"distributed by design\". This improves addressing, routing, naming and "
1542"content distribution in a technically robust manner. -->"
1543msgstr ""
1544
1545#: template/index.html.j2:155
1546msgid "Decentralization is hard"
1547msgstr ""
1548
1549#: template/index.html.j2:158
1550msgid ""
1551"<!-- replaced with Proposal from Fabian Gerlach: It seems as if every other "
1552"distributed or P2P project develops its own library stack, covering "
1553"transports, stream muxing, discovery and others. This divides effort and "
1554"multiplies bug count. --> Instead of sharing common components and tools for "
1555"building P2P systems, every P2P project seems to re-invent the wheel. <!-- "
1556"TODO: rework this sentence. --> This heightens the effort and increases the "
1557"potential number of vulnerabilities."
1558msgstr ""
1559
1560#: template/index.html.j2:174
1561msgid ""
1562"GNUnet is a metadata-preserving foundation for your application, covering "
1563"areas from addressing to reliable bidirectional Axolotl-encrypted channels, "
1564"with advanced routing. Our work is based on continuous research spanning "
1565"almost two decades."
1566msgstr ""
1567
1568#: template/index.html.j2:188
1569msgid "Metadata is exposed"
1570msgstr ""
1571
1572#: template/index.html.j2:190
1573msgid ""
1574"Your metadata is just as revealing as the actual content; and it gets "
1575"exposed on the Internet.<br> Even though transport encryption is "
1576"increasingly being deployed on the Internet, it still reveals data that can "
1577"threaten democracy: the identities of senders and receivers, the times, "
1578"frequency and the volume of communication are all still revealed.<br> <!-- "
1579"Looks like a weak argumentation to me: which <a href=\"https://www.freehaven."
1580"net/anonbib/cache/websitefingerprinting-pets2016.pdf\">enables reverse-"
1581"engineering pages visited via website fingerprinting</a>. --> GNUnet <a href="
1582"\"https://secushare.org/anonymity\">addresses</a> these concerns with "
1583"perfect forward secrecy via ephemeral public key addressing, fixed packet "
1584"size to hinder traffic analysis, layered encryption, Sybil-resistant "
1585"routing, and more."
1586msgstr ""
1587
1588#: template/index.html.j2:213
1589msgid "Freedoms are not respected"
1590msgstr ""
1591
1592#: template/index.html.j2:215
1593msgid ""
1594"Today, monitoring increasingly centralized infrastructure, proprietary "
1595"implementations, traffic shapers and firewalls restrict all of the <a href="
1596"\"https://www.gnu.org/philosophy/free-sw.html\">essential freedoms</a> to "
1597"various degrees."
1598msgstr ""
1599
1600#: template/index.html.j2:224
1601msgid ""
1602"GNUnet gives users freedoms to securely access information (\"run\" the "
1603"network), to study all aspects of the network&#39;s operation (\"access the "
1604"code\"), to distribute information (\"copy\"), as well as the freedom to "
1605"deploy new applications (\"modify\")."
1606msgstr ""
1607
1608#: template/index.html.j2:236
1609msgid "Learn more about GNUnet"
1610msgstr ""
1611
1612#: template/index.html.j2:238
1613msgid ""
1614"If you want to know more about the GNUnet please continue reading the <a "
1615"href=\"about.html\">about page</a>. There are much more resources, such as "
1616"the <a href=\"https://docs.gnunet.org\">main handbook / reference manual</"
1617"a>, a <a href=\"https://bib.gnunet.org/\">bibliography</a> and <a href="
1618"\"https://gnunet.org/en/video.html\">videos</a>."
1619msgstr ""
1620
1621#: template/index.html.j2:247
1622msgid ""
1623"You are very welcome to <a href=\"https://gnunet.org/en/engage.html\"> get "
1624"engaged into the conversation</a>, <a href=\"https://gnunet.org/en/install."
1625"html\">install GNUnet</a>, <a href=\"https://gnunet.org/en/use.html\">use "
1626"it</a> and <a href=\"https://gnunet.org/en/engage.html\">contribute</a>. "
1627"<br> Be aware that this project is still in an early alpha stage when it "
1628"comes to software &#8211; it is not an easy task to rewrite the whole "
1629"Internet!"
1630msgstr ""
1631
1632#: template/index.html.j2:269
1633msgid "Featured Applications"
1634msgstr ""
1635
1636#: template/index.html.j2:275
1637msgid "GNU Taler (Alpha)"
1638msgstr ""
1639
1640#: template/index.html.j2:277
1641msgid ""
1642"<a href=\"https://taler.net/\">GNU Taler</a> is a new privacy-preserving "
1643"electronic payment system. Payments are cryptographically secured and are "
1644"confirmed within milliseconds with extremely low transaction costs."
1645msgstr ""
1646
1647#: template/index.html.j2:289
1648msgid "The GNU Name System"
1649msgstr ""
1650
1651#: template/index.html.j2:292
1652msgid ""
1653"<!-- The <a href=\"use.html#gns\">GNU Name System (GNS)</a> --> The <a href="
1654"\"https://docs.gnunet.org/handbook/gnunet.html#The-GNU-Name-System\">GNU "
1655"Name System (GNS)</a> is a fully decentralized replacement for the Domain "
1656"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. "
1657"Naming conventions are similar to DNS, but queries and replies are private "
1658"even with respect to peers providing the answers. The integrity of records "
1659"and privacy of look-ups is cryptographically secured. <!-- Too technical: "
1660"GNS integrates a robust, efficient and instant key revocation mechanism. -->"
1661msgstr ""
1662
1663#: template/index.html.j2:309
1664msgid "re:claimID"
1665msgstr ""
1666
1667#: template/index.html.j2:311
1668msgid ""
1669"<a href=\"https://reclaim-identity.io/\">re:claimID</a> is a decentralized "
1670"Identity Provider (IdP) service built in top of the GNU Name System. It "
1671"allows users to securely share personal information with websites using "
1672"standardized protocols (OpenID Connect)."
1673msgstr ""
1674
1675#: template/index.html.j2:324
1676msgid "Filesharing (Alpha)"
1677msgstr ""
1678
1679#: template/index.html.j2:326
1680msgid ""
1681"GNUnet <a href=\"use.html#fs\">filesharing</a> is an application that aims "
1682"to provide censorship-resistant, anonymous filesharing. The publisher is "
1683"empowered to make a gradual choice between performance and anonymity."
1684msgstr ""
1685
1686#: template/index.html.j2:337
1687msgid "Conversation (Pre-Alpha)"
1688msgstr ""
1689
1690#: template/index.html.j2:339
1691msgid ""
1692"GNUnet conversation is an application that provides secure voice "
1693"communication in a fully decentralized way by employing GNUnet for routing "
1694"and transport."
1695msgstr ""
1696
1697#: template/index.html.j2:355
1698msgid "Upcoming Applications"
1699msgstr ""
1700
1701#: template/index.html.j2:361
1702msgid "secushare"
1703msgstr ""
1704
1705#: template/index.html.j2:363
1706msgid ""
1707"<a href=\"https://secushare.org/\">secushare</a> is creating a decentralized "
1708"social networking application on top of GNUnet. Using overlay multicast and "
1709"the extensible PSYC protocol, notifications are distributed end-to-end "
1710"encrypted to authorized recipients only."
1711msgstr ""
1712
1713#: template/index.html.j2:375
1714msgid "pretty Easy privacy"
1715msgstr ""
1716
1717#: template/index.html.j2:377
1718msgid ""
1719"<a href=\"https://pep.foundation/\">pretty Easy privacy</a> (p&#8801;p) is "
1720"creating a usable end-to-end encrypted e-mail solution using opportunistic "
1721"key exchange. p&#8801;p will use GNUnet to protect metadata and exploit new "
1722"cryptographic protocols to verify keys."
1723msgstr ""
1724
1725#: template/install-on-archpi.html.j2:6
1726msgid "Tutorial: GNUnet on Arch Linux/Pi"
1727msgstr ""
1728
1729#: template/install-on-archpi.html.j2:16
1730msgid "Requirements for Raspberry Pi 3"
1731msgstr ""
1732
1733#: template/install-on-archpi.html.j2:40
1734msgid "Get the Source Code"
1735msgstr ""
1736
1737#: template/install-on-archpi.html.j2:62
1738#: template/install-on-debian9.html.j2:130
1739msgid "In Addition: gnunet-gtk"
1740msgstr ""
1741
1742#: template/install-on-archpi.html.j2:79
1743msgid "Run"
1744msgstr ""
1745
1746#: template/install-on-archpi.html.j2:131
1747msgid "Make sure, it works!"
1748msgstr ""
1749
1750#: template/install-on-debian9.html.j2:6
1751msgid "Tutorial: GNUnet on Debian 9"
1752msgstr ""
1753
1754#: template/install-on-debian9.html.j2:9
1755#: template/install-on-ubuntu1804.html.j2:9
1756msgid "Introduction"
1757msgstr ""
1758
1759#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17
1760#: template/install-on-netbsd.html.j2:19
1761#: template/install-on-ubuntu1804.html.j2:26
1762msgid "Requirements"
1763msgstr ""
1764
1765#: template/install-on-debian9.html.j2:45
1766#: template/install-on-ubuntu1804.html.j2:41
1767msgid "Make an installation directory"
1768msgstr ""
1769
1770#: template/install-on-debian9.html.j2:59
1771#: template/install-on-macos.html.j2:134
1772#: template/install-on-netbsd.html.j2:224
1773#: template/install-on-ubuntu1804.html.j2:53
1774msgid "Get the source code"
1775msgstr ""
1776
1777#: template/install-on-debian9.html.j2:78
1778#: template/install-on-macos.html.j2:142
1779#: template/install-on-netbsd.html.j2:232
1780#: template/install-on-ubuntu1804.html.j2:61
1781msgid "Compile and Install"
1782msgstr ""
1783
1784#: template/install-on-debian9.html.j2:103
1785#: template/install-on-ubuntu1804.html.j2:70
1786msgid "Option 1: GNUnet for testing / usage"
1787msgstr ""
1788
1789#: template/install-on-debian9.html.j2:116
1790#: template/install-on-ubuntu1804.html.j2:82
1791msgid "Option 2: GNUnet for development"
1792msgstr ""
1793
1794#: template/install-on-debian9.html.j2:153
1795#: template/install-on-ubuntu1804.html.j2:97
1796msgid "Install GNUnet plugin for name resolution"
1797msgstr ""
1798
1799#: template/install-on-debian9.html.j2:207
1800#: template/install-on-ubuntu1804.html.j2:134
1801msgid "Create configuration file"
1802msgstr ""
1803
1804#: template/install-on-debian9.html.j2:227
1805#: template/install-on-ubuntu1804.html.j2:156
1806msgid "Use GNUnet!"
1807msgstr ""
1808
1809#: template/install-on-debian9.html.j2:232
1810#: template/install-on-ubuntu1804.html.j2:162
1811msgid "Uninstall GNUnet and its dependencies"
1812msgstr ""
1813
1814#: template/install-on-macos.html.j2:6
1815msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
1816msgstr ""
1817
1818#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30
1819msgid "Installation"
1820msgstr ""
1821
1822#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102
1823msgid "First steps"
1824msgstr ""
1825
1826#: template/install-on-macos.html.j2:109
1827#: template/install-on-netbsd.html.j2:182
1828msgid "Alternative: Installation from source"
1829msgstr ""
1830
1831#: template/install-on-macos.html.j2:154
1832#: template/install-on-netbsd.html.j2:242
1833msgid "Option 1: GNUnet for production / usage"
1834msgstr ""
1835
1836#: template/install-on-macos.html.j2:187
1837#: template/install-on-netbsd.html.j2:267
1838msgid "Option 2: GNUnet experimental"
1839msgstr ""
1840
1841#: template/install-on-netbsd.html.j2:6
1842msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
1843msgstr ""
1844
1845#: template/install-on-ubuntu1804.html.j2:6
1846msgid "Tutorial: GNUnet on Ubuntu 18.04"
1847msgstr ""
1848
1849#: template/install.html.j2:11
1850msgid ""
1851"<p>The following GNUnet installation instructions help you building from "
1852"source for your distribution.</p> <p><i>Please note that the installation "
1853"process will get much easier once we have proper packages again (planned for "
1854"winter 2019).</i></p> <p>You have already installed GNUnet and want to use "
1855"it? <a href=\"https://gnunet.org/en/use\">Check this out!</a> </p>"
1856msgstr ""
1857
1858#: template/install.html.j2:19
1859msgid ""
1860"<p>Please be aware that this project is still in an early alpha stage when "
1861"it comes to running software &#8211; its not an easy task to rewrite the "
1862"whole Internet! We are happy to get your <a href=\"engage.html\">helping "
1863"hand</a> anytime!</p> <p>Further information is available in our <a href="
1864"\"https://docs.gnunet.org/#toc-Using-GNUnet-1\">handbook</a>.</p> <p>If you "
1865"have any queries about the installation or the usage, please <a href="
1866"\"engage.html\">get in touch!</a></p>"
1867msgstr ""
1868
1869#: template/use.html.j2:6
1870msgid "How to use GNUnet - in a nutshell"
1871msgstr ""
1872
1873#: template/use.html.j2:12 template/use.html.j2:123
1874msgid "Filesharing"
1875msgstr ""
1876
1877#: template/use.html.j2:13
1878msgid "CADET"
1879msgstr ""
1880
1881#: template/use.html.j2:14
1882msgid "Minimal Groupchat"
1883msgstr ""
1884
1885#: template/use.html.j2:15
1886msgid "GNS with CLI"
1887msgstr ""
1888
1889#: template/use.html.j2:16
1890msgid "GNS with Browser"
1891msgstr ""
1892
1893#: template/use.html.j2:17 template/use.html.j2:441
1894msgid "VPN"
1895msgstr ""
1896
1897#: template/use.html.j2:18 template/use.html.j2:501
1898msgid "Conversation"
1899msgstr ""
1900
1901#: template/use.html.j2:19 template/use.html.j2:512
1902msgid "Trouble Shooting"
1903msgstr ""
1904
1905#: template/use.html.j2:34
1906msgid "Get on GNUnet"
1907msgstr ""
1908
1909#: template/use.html.j2:78
1910msgid "Get off GNUnet"
1911msgstr ""
1912
1913#: template/use.html.j2:88
1914msgid "Make sure your GNUnet installation works..."
1915msgstr ""
1916
1917#: template/use.html.j2:105
1918msgid "... and play around with it."
1919msgstr ""
1920
1921#: template/use.html.j2:181
1922msgid "CADET (and Chat)"
1923msgstr ""
1924
1925#: template/use.html.j2:215
1926msgid "Chatting with a (simple) client"
1927msgstr ""
1928
1929#: template/use.html.j2:289
1930msgid "Name resolution using GNS on the command line"
1931msgstr ""
1932
1933#: template/use.html.j2:361
1934msgid "Name resolution using GNS with a browser"
1935msgstr ""
1936
1937#: template/use.html.j2:514
1938msgid "You can't reach other people's nodes"
1939msgstr ""
1940
1941#: template/use.html.j2:550
1942msgid "OMG you guys broke my internet"
1943msgstr ""
1944
1945#: template/video.html.j2:12
1946msgid "Videos related to GNUnet"
1947msgstr ""
1948
1949#~ msgid "_project_title" 21#~ msgid "_project_title"
1950#~ msgstr "Stack di protocolli GNU per un nuovo Internet etico" 22#~ msgstr "Stack di protocolli GNU per un nuovo Internet etico"
diff --git a/make_site.py b/make_site.py
new file mode 100755
index 00000000..16a67b9a
--- /dev/null
+++ b/make_site.py
@@ -0,0 +1,76 @@
1#!/usr/bin/env python3
2# coding: utf-8
3#
4# Copyright (C) 2017, 2018, 2019 GNUnet e.V.
5#
6# Copying and distribution of this file, with or without modification,
7# are permitted in any medium without royalty provided the copyright
8# notice and this notice are preserved. This file is offered as-is,
9# without any warranty.
10#
11# ----
12#
13# This script runs the jinja2 templating engine on an input template-file
14# using the specified locale for gettext translations, and outputs
15# the resulting (HTML) output-file.
16#
17# Note that the gettext files need to be prepared first. This script
18# is thus to be invoked via the Makefile.
19
20import jinja2
21import sys
22from pathlib import Path, PurePath
23from inc.site import gen_site
24from inc.fileproc import copy_files
25
26env = jinja2.Environment(loader=jinja2.FileSystemLoader(str(PurePath(__file__).parent)),
27 extensions=["jinja2.ext.i18n"],
28 lstrip_blocks=True,
29 trim_blocks=True,
30 undefined=jinja2.StrictUndefined,
31 autoescape=False)
32
33if len(sys.argv) >= 2 and sys.argv[1] == "-vv":
34 DEBUG=1
35elif len(sys.argv) >= 2 and sys.argv[1] == "-vvv":
36 DEBUG=2
37elif len(sys.argv) >= 2 and sys.argv[1] == "-vvvv":
38 DEBUG=3
39else:
40 DEBUG=0
41
42def main():
43 # rm_rf("rendered")
44 x = gen_site(DEBUG)
45 conf = x.load_config("www.yml")
46 x.gen_abstract(conf, "newsposts", "abstract", "page", 1000)
47 # for lang in conf["langs_full"]:
48 # x.gen_newspost_content(conf, "newsposts", "content", "page", lang)
49 x.gen_newspost_content(conf, "newsposts", "content", "page", "en")
50 x.gen_rss("inc", conf, env)
51 if DEBUG:
52 print("generating html from jinja2 templates...")
53 x.run("template", conf, env)
54 if DEBUG >= 2:
55 print(Path.cwd())
56 _ = Path("rendered")
57 for child in _.iterdir():
58 print(child)
59 if DEBUG >= 2:
60 print(Path.cwd())
61 if DEBUG:
62 print("generating html from jinja2 news templates...")
63 x.run("news", conf, env)
64 #for lang in conf["langs_full"]:
65 # copy_files("static", conf, lang, "staticfiles", "rendered")
66 if DEBUG:
67 print("copying directories...")
68 x.copy_trees("static")
69 x.copy_trees("dist")
70 # print("generating rss...")
71 # x.generate_rss()
72 # print("generating sitemap...")
73 # x.generate_sitemap()
74
75if __name__ == "__main__":
76 main()
diff --git a/make_sitemap.sh b/make_sitemap.sh
deleted file mode 100755
index bc2578d7..00000000
--- a/make_sitemap.sh
+++ /dev/null
@@ -1,74 +0,0 @@
1#!/bin/sh
2
3# Copyright (C) 2018, 2019 GNUnet e.V.
4#
5# Copying and distribution of this file, with or without modification,
6# are permitted in any medium without royalty provided the copyright
7# notice and this notice are preserved. This file is offered as-is,
8# without any warranty.
9#
10# This initial version builds on code from ssg4
11# copyright is as follows:
12# -----
13# https://www.romanzolotarev.com/bin/ssg4
14# Copyright 2018 Roman Zolotarev <hi@romanzolotarev.com>
15#
16# Permission to use, copy, modify, and/or distribute this software for any
17# purpose with or without fee is hereby granted, provided that the above
18# copyright notice and this permission notice appear in all copies.
19#
20# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
21# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
22# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
23# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
25# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
26# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
27# -----
28
29list_pages(){
30cd rendered && find . -type f ! -path '*/.*' ! -path '*/_*' -name '*.html' | sed 's#^./##;#'
31}
32
33main(){
34 dst=rendered
35 base_url="$4"
36 date=$(date +%Y-%m-%d)
37 urls=$(list_pages "$src")
38
39 test -n "$urls" &&
40 render_sitemap "$urls" "$base_url" "$date" > "$dst/sitemap.xml"
41
42 print_status 'url' 'urls' "$urls" >&2
43 echo >&2
44}
45
46print_status() {
47 test -z "$3" && printf 'no %s' "$2" && return
48
49 echo "$3" | awk -v singular="$1" -v plural="$2" '
50 END {
51 if (NR==1) printf NR " " singular
52 if (NR>1) printf NR " " plural
53 }'
54}
55
56render_sitemap() {
57 urls="$1"
58 base_url="$2"
59 date="$3"
60
61 echo '<?xml version="1.0" encoding="UTF-8"?>'
62 echo '<urlset'
63 echo 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
64 echo 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9'
65 echo 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"'
66 echo 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
67 echo "$urls" |
68 sed -E 's#^(.*)$#<url><loc>'"$base_url"'/\1</loc><lastmod>'\
69"$date"'</lastmod><priority>1.0</priority></url>#'
70 echo '</urlset>'
71}
72
73main "$@"
74
diff --git a/news/2017-10.html.j2 b/news/2017-10.html.j2
deleted file mode 100644
index 043b3aaa..00000000
--- a/news/2017-10.html.j2
+++ /dev/null
@@ -1,7 +0,0 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>Launching the new gnunet.org</h1>
4<p>
5 Welcome to the redesign of gnunet.org, our website about GNUnet.
6</p>
7{% endblock body_content %}
diff --git a/news/2018-08.html.j2 b/news/2018-08.html.j2
deleted file mode 100644
index 3555c0fa..00000000
--- a/news/2018-08.html.j2
+++ /dev/null
@@ -1,40 +0,0 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GSoC 2018 - GNUnet Web-based User Interface</h1>
4<p>
5 Tue, 08/14/2018 - 07:55 - Phil Buschmann
6</p>
7<h4>What was done?</h4>
8<p>
9 In the context of Google Summer of Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and extending the REST API of GNUnet. Currently, we mirrored the functionality of following commands:
10</p>
11<ul>
12 <li>gnunet-identity
13 <li>gnunet-namestore
14 <li>gnunet-gns
15 <li>gnunet-peerinfo
16</ul>
17<p>
18 Additionally, we developed a website with the Javascript framework Angular 6 and the design framework iotaCSS to use the new REST API. The REST API of GNUnet is now documented with Sphinx.
19</p>
20<h4>Why did we create a REST API?</h4>
21<p>
22 ... when you can use the command line tools? We need to keep in mind, that everyone has the right to stay secure and private but not everyone feels comfortable using a terminal. The further developed REST access to GNUnet APIs in addition to the new web application allows new users to interact with GNUnet over a well known tool: their browsers. This addition to the C API and the command line tools may attract new users and developers.
23</p>
24<h4>How can we use it?</h4>
25<ol>
26 <li>The REST API developed in GNUnet<br>The REST API is already merged into the gnunet.git repository (GNUnet Main Git). To use the new features, clone the repository and follow the Installation on gnunet.org. Then, start the rest service with "gnunet-arm -i rest".</li>
27 <li>The Web Application<br>The web application is available under the gnunet-webui.git repository (GNUnet WebUI Git). You need to install the newest version of 'node' and 'yarn'. Dependent on your system, you may need to download newer versions and install them manually and not over your packet manager. After the installation succeeded, you need to clone the repository. Then, you need to run "yarn install" and "yarn start" for testing purposes. To deploy the website (keep in mind, that this website communicates with another localhost instance) use "yarn build" for building the web application and use the output in the 'dist' directory.</li>
28 <li>The Documentation<br>The documentation is available under the gnunet-rest-api.git repository (GNUnet REST API Docmentation Git). Clone the repository and "make html". Then open the 'index.html' under 'build/html/'.</li>
29</ol>
30<p>
31 Please, give it a try and contact me, if you find any bugs or unintentional features. ;)
32</p>
33<h4>What can be improved?</h4>
34<p>
35 Right now, the build process of the web application may be a little too complex for a casual user. We may be able to solve this by using docker. Additionally, the web application does not prevent wrong inputs but responds with error messages. Adding GNUnet Records is currently only usable for people, who know how a GNS Record looks like. This can be adapted to each record type. Last but not least, additional features, design changes, etc...
36</p>
37<p>
38 Thanks for reading.
39</p>
40{% endblock body_content %}
diff --git a/news/index.html.j2 b/news/index.html.j2
index 8c58d9f1..bdb716d5 100644
--- a/news/index.html.j2
+++ b/news/index.html.j2
@@ -10,7 +10,7 @@
10 <section> 10 <section>
11 <p> 11 <p>
12 News posts published by GNUnet about changes related to 12 News posts published by GNUnet about changes related to
13 GNUnet, releases, and events. 13 GNUnet, releases, and events &#8211; <a href="{{ url_localized('rss.xml')}}">subscribe to our RSS feed</a>
14 </p> 14 </p>
15 </section> 15 </section>
16 </div> 16 </div>
diff --git a/rssg b/rssg
deleted file mode 100755
index e21974f4..00000000
--- a/rssg
+++ /dev/null
@@ -1,220 +0,0 @@
1#!/bin/sh
2#
3# https://www.romanzolotarev.com/bin/rssg
4# Copyright 2018 Roman Zolotarev <hi@romanzolotarev.com>
5# Copyright 2019 ng0 <ng0@n0.is>
6#
7# Permission to use, copy, modify, and/or distribute this software for any
8# purpose with or without fee is hereby granted, provided that the above
9# copyright notice and this permission notice appear in all copies.
10#
11# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18#
19set -e
20
21# TODO: Fix date -j for GNU date.
22# TODO: Fix base url (get_url)
23# TODO: Fix link OR a in get_url
24# TODO: get_title: be more dynamic about where the title can be.
25
26main () {
27 test -n "$1" || usage
28 test -n "$2" || usage
29 test -f "$1" || no_file "$1"
30
31
32 index_file=$(readlink -f "$1")
33 test -z "${index_file##*html}" && html=$(cat "$index_file")
34 test -z "${index_file##*md}" && html=$(md_to_html "$index_file")
35 test -n "$html" || usage
36
37 base="${index_file%/*}"
38 base_url="$(echo "$html" | get_url | sed 's#\(.*\)/[^/]*#\1#')"
39
40 url=$( echo "$html" | get_url)
41
42 title="$2"
43
44 description=$( echo "$html" | get_description |
45 remove_tags |
46 remove_nbsp )
47
48 items=$( echo "$html" | get_items)
49
50 rss=$( echo "$items" |
51 render_items "$base" "$base_url" |
52 render_feed "$url" "$title" "$description")
53
54 >&2 echo "[rssg] ${index_file##$(pwd)/} $(echo "$rss" | grep -c '<item>') items"
55 echo "$rss"
56}
57
58
59usage() {
60 echo "usage: ${0##*/} index.{html,md} title > rss.xml" >&2
61 exit 1
62}
63
64
65no_file() {
66 echo "${0##*/}: $1: No such file" >&2
67 exit 2
68}
69
70
71md_to_html() {
72 test -x "$(which lowdown)" || exit 3
73 lowdown \
74 -D html-skiphtml \
75 -D smarty \
76 -d metadata \
77 -d autolink "$1"
78}
79
80
81get_title() {
82 awk -F '[<>]' '/<h1/ { gsub(/<h1>/, ""); gsub(/<\/h1>/, ""); sub(/ .*/, "", $3); print $0}' |
83 sed 's/^[ \t]*//;s/[ \t]*$//' |
84 awk 'FNR==1'
85}
86
87
88get_url() {
89 grep -i '<link .*rss.xml"' | head -1 |
90 sed 's#.*href="\(.*\)".*#\1#' |
91 sed 's#../../#https://gnunet.org/#'
92}
93
94
95get_items() {
96 grep -i 'href=".*" title="' |
97 sed 's#.*href="\(.*\)" title="\(.*\)">\(.*\)</a>.*#\1 \2 \3#'
98}
99
100
101get_description() {
102 start='sub("^.*<"s"*"t"("s"[^>]*)?>","")'
103 stop='sub("</"s"*"t""s"*>.*","")&&x=1'
104 awk -v 's=[[:space:]]' -v 't=[Pp]' "$start,$stop;x{exit}"
105}
106
107remove_tags() {
108 sed 's#<[^>]*>##g;s#</[^>]*>##g'
109}
110
111
112remove_nbsp() {
113 sed 's#\&nbsp;# #g'
114}
115
116
117rel_to_abs_urls() {
118 site_url="$1"
119 base_url="$2"
120
121 abs='s#(src|href)="/([^"]*)"#\1="'"$site_url"/'\2"#g'
122 rel='s#(src|href)="([^:/"]*)"#\1="'"$base_url"/'\2"#g'
123 sed -E "$abs;$rel"
124}
125
126
127date_rfc_822() {
128 if date --version >/dev/null 2>&1; then
129 in="$(echo "$1"| tr -cd '[:digit:]')0000"
130 year=$(echo $in | cut -c1-4)
131 month=$(echo $in | cut -c5-6)
132 day=$(echo $in | cut -c7-8)
133 hour=$(echo $in | cut -c9-10)
134 minute=$(echo $in | cut -c11-12)
135 date -d "$(echo "$year"-"$month"-"$day" "$hour":"$minute")" --rfc-822
136 else
137 date -j '+%a, %d %b %Y %H:%M:%S %z' \
138 "$(echo "$1"| tr -cd '[:digit:]')0000"
139 fi
140}
141
142
143feed_date_rfc_822() {
144 if date --version >/dev/null 2>&1; then
145 k="$($1)"
146 date -d "$(echo "$k")" --rfc-822
147 else
148 date -j '+%a, %d %b %Y %H:%M:%S %z' \
149 "$(echo "$1"| tr -cd '[:digit:]')0000"
150 fi
151}
152
153
154render_items() {
155 while read -r i
156 do render_item "$1" "$2" "$i"
157 done
158}
159
160
161render_item() {
162 base="$1"
163 base_url="$2"
164 item="$3"
165
166 site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')"
167
168 date=$(echo "$item"|awk '{print$2}')
169
170 url=$(echo "$item"|awk '{print$1}')
171
172 f="$base/$url"
173 test -f "$f" && html=$(cat "$f")
174 test -f "${f%\.html}.md" && html=$(md_to_html "${f%\.html}.md")
175
176 description=$(
177 echo "$html" |
178 rel_to_abs_urls "$site_url" "$base_url" |
179 remove_nbsp | awk '/<!--BEGIN-->/,/<!--END-->/'
180 )
181 title=$(echo "$description" | get_title)
182 guid="$base_url/$(echo "$url" | sed 's#^/##')"
183
184 echo '
185<item>
186<guid>'"$guid"'</guid>
187<link>'"$guid"'</link>
188<pubDate>'"$(date_rfc_822 "$date")"'</pubDate>
189<title>'"$title"'</title>
190<description><![CDATA[
191
192'"$description"'
193
194]]></description>
195</item>'
196}
197
198
199render_feed() {
200 url="$1"
201 title=$(echo "$2" | remove_nbsp)
202 description="$3"
203
204 base_url="$(echo "$url" | cut -d '/' -f1-3)"
205
206 echo '<?xml version="1.0" encoding="UTF-8"?>
207<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
208<channel>
209<atom:link href="'"$url"'" rel="self" type="application/rss+xml" />
210<title>'"$title"'</title>
211<language>en</language>
212<description>'"$description"'</description>
213<link>'"$base_url"'/</link>
214<lastBuildDate>'"$(feed_date_rfc_822 date)"'</lastBuildDate>
215'"$(cat)"'
216</channel></rss>'
217}
218
219
220main "$@"
diff --git a/favicon.ico b/static/favicon.ico
index b2147927..b2147927 100644
--- a/favicon.ico
+++ b/static/favicon.ico
Binary files differ
diff --git a/static/images/gns-logo.png b/static/images/gns-logo.png
new file mode 100644
index 00000000..fc5dc133
--- /dev/null
+++ b/static/images/gns-logo.png
Binary files differ
diff --git a/static/images/gnunet-logo.svg b/static/images/gnunet-logo.svg
index ad92bf66..bfb61472 100644
--- a/static/images/gnunet-logo.svg
+++ b/static/images/gnunet-logo.svg
@@ -10,12 +10,15 @@
10 xmlns:xlink="http://www.w3.org/1999/xlink" 10 xmlns:xlink="http://www.w3.org/1999/xlink"
11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13 width="320" 13 width="340"
14 height="280" 14 height="300"
15 id="svg2" 15 id="svg2"
16 version="1.1" 16 version="1.1"
17 sodipodi:docname="gnunet-logo.svg" 17 sodipodi:docname="gnunet-logo.svg"
18 inkscape:version="0.92.2 5c3e80d, 2017-08-06"> 18 inkscape:version="0.92.2 5c3e80d, 2017-08-06"
19 inkscape:export-filename="/tmp/gnunet-logo.png"
20 inkscape:export-xdpi="338.82001"
21 inkscape:export-ydpi="338.82001">
19 <sodipodi:namedview 22 <sodipodi:namedview
20 pagecolor="#ffffff" 23 pagecolor="#ffffff"
21 bordercolor="#ff0000" 24 bordercolor="#ff0000"
@@ -25,21 +28,22 @@
25 guidetolerance="10" 28 guidetolerance="10"
26 inkscape:pageopacity="0" 29 inkscape:pageopacity="0"
27 inkscape:pageshadow="2" 30 inkscape:pageshadow="2"
28 inkscape:window-width="1440" 31 inkscape:window-width="1920"
29 inkscape:window-height="799" 32 inkscape:window-height="1021"
30 id="namedview115" 33 id="namedview115"
31 showgrid="true" 34 showgrid="true"
32 inkscape:pagecheckerboard="true" 35 inkscape:pagecheckerboard="true"
33 inkscape:showpageshadow="false" 36 inkscape:showpageshadow="false"
34 borderlayer="true" 37 borderlayer="true"
35 inkscape:zoom="1.6857143" 38 inkscape:zoom="2.38396"
36 inkscape:cx="108.36445" 39 inkscape:cx="146.9737"
37 inkscape:cy="138.05767" 40 inkscape:cy="132.50067"
38 inkscape:window-x="0" 41 inkscape:window-x="0"
39 inkscape:window-y="1" 42 inkscape:window-y="0"
40 inkscape:window-maximized="1" 43 inkscape:window-maximized="1"
41 inkscape:current-layer="g975" 44 inkscape:current-layer="layer1"
42 inkscape:lockguides="false"> 45 inkscape:lockguides="false"
46 showguides="false">
43 <inkscape:grid 47 <inkscape:grid
44 type="xygrid" 48 type="xygrid"
45 id="grid117" /> 49 id="grid117" />
@@ -305,21 +309,37 @@
305 </rdf:RDF> 309 </rdf:RDF>
306 </metadata> 310 </metadata>
307 <g 311 <g
308 transform="translate(-387.41463,-609.81931)" 312 inkscape:groupmode="layer"
313 id="layer1"
314 inkscape:label="bg"
315 transform="translate(0,20)"
316 style="display:inline">
317 <rect
318 style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:8.27715874;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
319 id="rect1038"
320 width="320"
321 height="280"
322 x="10"
323 y="-10"
324 ry="29.987795" />
325 </g>
326 <g
327 transform="translate(-387.41463,-589.81931)"
309 style="display:none" 328 style="display:none"
310 inkscape:groupmode="layer" 329 inkscape:groupmode="layer"
311 id="g5346" 330 id="g5346"
312 inkscape:label="gnu:net ubuntu"> 331 inkscape:label="gnu:net ubuntu"
332 sodipodi:insensitive="true">
313 <text 333 <text
314 id="text5344" 334 id="text5344"
315 y="869.96057" 335 y="859.96057"
316 x="453.95291" 336 x="463.95291"
317 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 337 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
318 xml:space="preserve"><tspan 338 xml:space="preserve"><tspan
319 dx="0 0 0" 339 dx="0 0 0"
320 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.33333206px;font-family:'Ubuntu Bold';-inkscape-font-specification:'Ubuntu Bold, ';fill:#ffffff;stroke-width:1.03365779px" 340 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.33333206px;font-family:'Ubuntu Bold';-inkscape-font-specification:'Ubuntu Bold, ';fill:#ffffff;stroke-width:1.03365779px"
321 y="869.96057" 341 y="859.96057"
322 x="453.95291" 342 x="463.95291"
323 id="tspan5342" 343 id="tspan5342"
324 sodipodi:role="line">gnu net</tspan></text> 344 sodipodi:role="line">gnu net</tspan></text>
325 </g> 345 </g>
@@ -328,33 +348,34 @@
328 id="g950" 348 id="g950"
329 inkscape:groupmode="layer" 349 inkscape:groupmode="layer"
330 style="display:none" 350 style="display:none"
331 transform="translate(-387.41463,-609.81931)"> 351 transform="translate(-387.41463,-589.81931)"
352 sodipodi:insensitive="true">
332 <text 353 <text
333 xml:space="preserve" 354 xml:space="preserve"
334 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 355 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
335 x="467.77612" 356 x="477.77612"
336 y="869.21057" 357 y="859.21057"
337 id="text948" 358 id="text948"
338 inkscape:export-xdpi="240.97" 359 inkscape:export-xdpi="240.97"
339 inkscape:export-ydpi="240.97"><tspan 360 inkscape:export-ydpi="240.97"><tspan
340 sodipodi:role="line" 361 sodipodi:role="line"
341 id="tspan946" 362 id="tspan946"
342 x="467.77612" 363 x="477.77612"
343 y="869.21057" 364 y="859.21057"
344 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous Pro';-inkscape-font-specification:'Anonymous Pro Bold';fill:#ffffff;stroke-width:1.03365779px" 365 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous Pro';-inkscape-font-specification:'Anonymous Pro Bold';fill:#ffffff;stroke-width:1.03365779px"
345 dx="0 -2.5 -3 0 -19.25 -2.5 -3">gnu net</tspan></text> 366 dx="0 -2.5 -3 0 -19.25 -2.5 -3">gnu net</tspan></text>
346 </g> 367 </g>
347 <g 368 <g
348 transform="translate(0,-20)"
349 style="display:none" 369 style="display:none"
350 inkscape:label="u:n nodes" 370 inkscape:label="u:n nodes"
351 id="g941" 371 id="g941"
352 inkscape:groupmode="layer"> 372 inkscape:groupmode="layer"
373 sodipodi:insensitive="true">
353 <ellipse 374 <ellipse
354 inkscape:transform-center-y="-45.614731" 375 inkscape:transform-center-y="-45.614731"
355 inkscape:transform-center-x="40.535375" 376 inkscape:transform-center-x="40.535375"
356 cy="180.65355" 377 cy="170.65355"
357 cx="157.97346" 378 cx="167.97346"
358 id="ellipse937" 379 id="ellipse937"
359 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139" 380 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
360 rx="17.68549" 381 rx="17.68549"
@@ -362,8 +383,8 @@
362 <ellipse 383 <ellipse
363 inkscape:transform-center-y="-45.614736" 384 inkscape:transform-center-y="-45.614736"
364 inkscape:transform-center-x="40.535375" 385 inkscape:transform-center-x="40.535375"
365 cy="111.16864" 386 cy="101.16864"
366 cx="157.97346" 387 cx="167.97346"
367 id="ellipse939" 388 id="ellipse939"
368 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139" 389 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
369 rx="17.68549" 390 rx="17.68549"
@@ -374,11 +395,13 @@
374 id="g935" 395 id="g935"
375 inkscape:groupmode="layer" 396 inkscape:groupmode="layer"
376 style="display:none" 397 style="display:none"
377 transform="translate(-387.41463,-609.81931)"> 398 transform="translate(-387.41463,-589.81931)"
399 sodipodi:insensitive="true">
378 <g 400 <g
379 id="g933" 401 id="g933"
380 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto" 402 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto"
381 aria-label="gnu net"> 403 aria-label="gnu net"
404 transform="translate(10,-10)">
382 <path 405 <path
383 inkscape:connector-curvature="0" 406 inkscape:connector-curvature="0"
384 id="path925" 407 id="path925"
@@ -392,287 +415,259 @@
392 </g> 415 </g>
393 </g> 416 </g>
394 <g 417 <g
395 transform="translate(0,-67.278107)" 418 transform="translate(0,-47.278107)"
396 style="display:none" 419 style="display:none"
397 inkscape:label="vertices white" 420 inkscape:label="vertices white"
398 id="g1296" 421 id="g1296"
399 inkscape:groupmode="layer"> 422 inkscape:groupmode="layer"
423 sodipodi:insensitive="true">
400 <path 424 <path
401 inkscape:connector-curvature="0" 425 inkscape:connector-curvature="0"
402 id="path1256" 426 id="path1256"
403 d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2" 427 d="m 72.698223,75.778107 -39.5,48.000003 v 0 l -1,2"
404 style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 428 style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
405 <path 429 <path
406 inkscape:connector-curvature="0" 430 inkscape:connector-curvature="0"
407 id="path1258" 431 id="path1258"
408 d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0" 432 d="m 22.698223,94.77811 10,29 21,-10.5 v 0 0"
409 style="fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 433 style="fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
410 <path 434 <path
411 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" 435 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc"
412 inkscape:connector-curvature="0" 436 inkscape:connector-curvature="0"
413 id="path1260" 437 id="path1260"
414 d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 -35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416" 438 d="m 21.809253,95.24526 63.6227,34.91188 23.318017,-11.09978 -35.039547,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416"
415 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 439 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
416 <path 440 <path
417 inkscape:connector-curvature="0" 441 inkscape:connector-curvature="0"
418 id="path1262" 442 id="path1262"
419 d="m 98.868943,129.31358 37.045597,48.02106" 443 d="m 108.86894,119.31358 37.0456,48.02106"
420 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 444 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
421 <path 445 <path
422 inkscape:connector-curvature="0" 446 inkscape:connector-curvature="0"
423 id="path1264" 447 id="path1264"
424 d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819" 448 d="m 98.284483,148.4287 10.962477,-29.11512 12.47454,32.51819"
425 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 449 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
426 <path 450 <path
427 sodipodi:nodetypes="ccc" 451 sodipodi:nodetypes="ccc"
428 inkscape:connector-curvature="0" 452 inkscape:connector-curvature="0"
429 id="path1266" 453 id="path1266"
430 d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795" 454 d="m 222.13974,123.78236 54.69043,-3.64603 -31.75647,27.04795"
431 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 455 style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
432 <path 456 <path
433 sodipodi:nodetypes="cccccc" 457 sodipodi:nodetypes="cccccc"
434 inkscape:connector-curvature="0" 458 inkscape:connector-curvature="0"
435 id="path1268" 459 id="path1268"
436 d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75" 460 d="m 21.69822,95.77811 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75"
437 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 461 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
438 transform="translate(-387.41463,-542.5412)" />
439 <path 462 <path
440 inkscape:connector-curvature="0" 463 inkscape:connector-curvature="0"
441 id="path1270" 464 id="path1270"
442 d="m 601.57854,741.42859 -2.26809,-64.28015" 465 d="m 224.16391,188.88739 -2.26809,-64.28015"
443 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 466 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
444 transform="translate(-387.41463,-542.5412)" />
445 <path 467 <path
446 inkscape:connector-curvature="0" 468 inkscape:connector-curvature="0"
447 id="path1272" 469 id="path1272"
448 d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0" 470 d="m 199.57322,196.52811 -44,2.625 25.375,17.125 v 0"
449 style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 471 style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
450 <path 472 <path
451 inkscape:connector-curvature="0" 473 inkscape:connector-curvature="0"
452 id="path1274" 474 id="path1274"
453 d="m 475.69911,700.21367 24.57107,51.42411" 475 d="m 98.28448,147.67247 24.57107,51.42411"
454 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 476 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
455 transform="translate(-387.41463,-542.5412)" />
456 <path 477 <path
457 inkscape:connector-curvature="0" 478 inkscape:connector-curvature="0"
458 id="path1276" 479 id="path1276"
459 d="m 534.29164,751.63778 12.85257,40.08057" 480 d="m 156.87701,199.09658 12.85257,40.08057"
460 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 481 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
461 transform="translate(-387.41463,-542.5412)" />
462 <path 482 <path
463 inkscape:connector-curvature="0" 483 inkscape:connector-curvature="0"
464 id="path1278" 484 id="path1278"
465 d="m 525.21925,783.02162 0.37803,45.75234" 485 d="m 147.80462,230.48042 0.37803,45.75234"
466 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 486 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
467 transform="translate(-387.41463,-542.5412)" />
468 <path 487 <path
469 inkscape:connector-curvature="0" 488 inkscape:connector-curvature="0"
470 id="path1280" 489 id="path1280"
471 d="m 601.95657,742.56293 -12.09653,36.6775" 490 d="m 224.54194,190.02173 -12.09653,36.6775"
472 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 491 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
473 transform="translate(-387.41463,-542.5412)" />
474 <path 492 <path
475 sodipodi:nodetypes="ccc" 493 sodipodi:nodetypes="ccc"
476 inkscape:connector-curvature="0" 494 inkscape:connector-curvature="0"
477 id="path1282" 495 id="path1282"
478 d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194" 496 d="m 98.28448,148.05058 46.98395,22.0278 10.85256,28.26194"
479 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 497 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
480 transform="translate(-387.41463,-542.5412)" />
481 <path 498 <path
482 inkscape:connector-curvature="0" 499 inkscape:connector-curvature="0"
483 id="path1284" 500 id="path1284"
484 d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z" 501 d="m 211.68937,226.32111 -12.85255,-66.17074 v 36.6775 z"
485 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 502 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
486 transform="translate(-387.41463,-542.5412)" />
487 <path 503 <path
488 inkscape:connector-curvature="0" 504 inkscape:connector-curvature="0"
489 id="path1286" 505 id="path1286"
490 d="m 557.35064,768.27501 31.75336,10.5873" 506 d="m 179.93601,215.73381 31.75336,10.5873"
491 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 507 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
492 transform="translate(-387.41463,-542.5412)" />
493 <path 508 <path
494 inkscape:connector-curvature="0" 509 inkscape:connector-curvature="0"
495 id="path1288" 510 id="path1288"
496 d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293" 511 d="m 122.85555,151.83178 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
497 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 512 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
498 transform="translate(-387.41463,-542.5412)" />
499 <path 513 <path
500 inkscape:connector-curvature="0" 514 inkscape:connector-curvature="0"
501 id="path1290" 515 id="path1290"
502 d="m 524.46323,829.53019 44.98392,-0.37812" 516 d="m 147.0486,276.98899 44.98392,-0.37812"
503 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 517 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
504 transform="translate(-387.41463,-542.5412)" />
505 <path 518 <path
506 sodipodi:nodetypes="cccccccc" 519 sodipodi:nodetypes="cccccccc"
507 inkscape:connector-curvature="0" 520 inkscape:connector-curvature="0"
508 id="path1292" 521 id="path1292"
509 d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0" 522 d="m 317.19822,94.77811 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0"
510 style="display:inline;opacity:1;fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 523 style="display:inline;opacity:1;fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
511 transform="translate(-387.41463,-542.5412)" />
512 <path 524 <path
513 inkscape:connector-curvature="0" 525 inkscape:connector-curvature="0"
514 id="path1294" 526 id="path1294"
515 d="m 409.92428,677.14844 54.05634,6.0499" 527 d="m 32.50965,124.60724 54.05634,6.0499"
516 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 528 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
517 transform="translate(-387.41463,-542.5412)" />
518 </g> 529 </g>
519 <g 530 <g
520 inkscape:groupmode="layer" 531 inkscape:groupmode="layer"
521 id="g1254" 532 id="g1254"
522 inkscape:label="nodes white" 533 inkscape:label="nodes white"
523 style="display:none" 534 style="display:none"
524 transform="translate(0,-67.278107)"> 535 transform="translate(0,-47.278107)"
536 sodipodi:insensitive="true">
525 <ellipse 537 <ellipse
526 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 538 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
527 id="ellipse1194" 539 id="ellipse1194"
528 cx="568.98083" 540 cx="191.56621"
529 cy="829.24042" 541 cy="276.69922"
530 rx="4.1581793" 542 rx="4.1581793"
531 ry="4.1593032" 543 ry="4.1593032" />
532 transform="translate(-387.41463,-542.5412)" />
533 <ellipse 544 <ellipse
534 inkscape:transform-center-y="-10.724827" 545 inkscape:transform-center-y="-10.724827"
535 inkscape:transform-center-x="9.5305949" 546 inkscape:transform-center-x="9.5305949"
536 cy="778.67493" 547 cy="226.13373"
537 cx="588.85413" 548 cx="211.4395"
538 id="ellipse1196" 549 id="ellipse1196"
539 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 550 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
540 rx="4.1581793" 551 rx="4.1581793"
541 ry="4.1593032" 552 ry="4.1593032" />
542 transform="translate(-387.41463,-542.5412)" />
543 <ellipse 553 <ellipse
544 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 554 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
545 id="ellipse1198" 555 id="ellipse1198"
546 cx="601.57867" 556 cx="224.16405"
547 cy="740.67249" 557 cy="188.13129"
548 inkscape:transform-center-x="9.5305654" 558 inkscape:transform-center-x="9.5305654"
549 inkscape:transform-center-y="-10.724822" 559 inkscape:transform-center-y="-10.724822"
550 rx="4.1581793" 560 rx="4.1581793"
551 ry="4.1593032" 561 ry="4.1593032" />
552 transform="translate(-387.41463,-542.5412)" />
553 <ellipse 562 <ellipse
554 cy="829.24042" 563 cy="276.69922"
555 cx="525.79852" 564 cx="148.3839"
556 id="ellipse1200" 565 id="ellipse1200"
557 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 566 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
558 rx="4.1581793" 567 rx="4.1581793"
559 ry="4.1593032" 568 ry="4.1593032" />
560 transform="translate(-387.41463,-542.5412)" />
561 <ellipse 569 <ellipse
562 inkscape:transform-center-y="-10.724797" 570 inkscape:transform-center-y="-10.724797"
563 inkscape:transform-center-x="9.5306167" 571 inkscape:transform-center-x="9.5306167"
564 cy="768.71582" 572 cy="216.17462"
565 cx="557.82654" 573 cx="180.41191"
566 id="ellipse1202" 574 id="ellipse1202"
567 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 575 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
568 rx="4.1581793" 576 rx="4.1581793"
569 ry="4.1593032" 577 ry="4.1593032" />
570 transform="translate(-387.41463,-542.5412)" />
571 <ellipse 578 <ellipse
572 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 579 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
573 id="ellipse1204" 580 id="ellipse1204"
574 cx="525.21936" 581 cx="147.80473"
575 cy="783.02173" 582 cy="230.48053"
576 rx="4.1581793" 583 rx="4.1581793"
577 ry="4.1593032" 584 ry="4.1593032" />
578 transform="translate(-387.41463,-542.5412)" />
579 <ellipse 585 <ellipse
580 cy="647.34271" 586 cy="94.801514"
581 cx="400.09586" 587 cx="22.681225"
582 id="ellipse1206" 588 id="ellipse1206"
583 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 589 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
584 rx="4.1581793" 590 rx="4.1581793"
585 ry="4.1593032" 591 ry="4.1593032" />
586 transform="translate(-387.41463,-542.5412)" />
587 <ellipse 592 <ellipse
588 cy="628.31934" 593 cy="75.778137"
589 cx="450.11285" 594 cx="72.698227"
590 id="ellipse1208" 595 id="ellipse1208"
591 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 596 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
592 rx="4.1581793" 597 rx="4.1581793"
593 ry="4.1593032" 598 ry="4.1593032" />
594 transform="translate(-387.41463,-542.5412)" />
595 <ellipse 599 <ellipse
596 inkscape:transform-center-y="-10.724823" 600 inkscape:transform-center-y="-10.724823"
597 inkscape:transform-center-x="9.5306048" 601 inkscape:transform-center-x="9.5306048"
598 cy="699.45752" 602 cy="146.91632"
599 cx="622.36951" 603 cx="244.95488"
600 id="ellipse1210" 604 id="ellipse1210"
601 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 605 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
602 rx="4.1581793" 606 rx="4.1581793"
603 ry="4.1593032" 607 ry="4.1593032" />
604 transform="translate(-387.41463,-542.5412)" />
605 <ellipse 608 <ellipse
606 cy="792.29773" 609 cy="239.75653"
607 cx="547.21771" 610 cx="169.80309"
608 id="ellipse1212" 611 id="ellipse1212"
609 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 612 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
610 rx="4.1581793" 613 rx="4.1581793"
611 ry="4.1593032" 614 ry="4.1593032" />
612 transform="translate(-387.41463,-542.5412)" />
613 <ellipse 615 <ellipse
614 inkscape:transform-center-y="-10.72485" 616 inkscape:transform-center-y="-10.72485"
615 inkscape:transform-center-x="9.5306006" 617 inkscape:transform-center-x="9.5306006"
616 cy="800.12549" 618 cy="247.58429"
617 cx="566.20697" 619 cx="188.79234"
618 id="ellipse1214" 620 id="ellipse1214"
619 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 621 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
620 rx="4.1581793" 622 rx="4.1581793"
621 ry="4.1593032" 623 ry="4.1593032" />
622 transform="translate(-387.41463,-542.5412)" />
623 <ellipse 624 <ellipse
624 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 625 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
625 id="ellipse1216" 626 id="ellipse1216"
626 cx="500.64822" 627 cx="123.2336"
627 cy="751.63794" 628 cy="199.09674"
628 rx="4.1581793" 629 rx="4.1581793"
629 ry="4.1593032" 630 ry="4.1593032" />
630 transform="translate(-387.41463,-542.5412)" />
631 <ellipse 631 <ellipse
632 cy="751.72632" 632 cy="199.18512"
633 cx="533.33447" 633 cx="155.91985"
634 id="ellipse1218" 634 id="ellipse1218"
635 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 635 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
636 rx="4.1581793" 636 rx="4.1581793"
637 ry="4.1593032" 637 ry="4.1593032" />
638 transform="translate(-387.41463,-542.5412)" />
639 <ellipse 638 <ellipse
640 cy="699.83545" 639 cy="147.29425"
641 cx="450.75012" 640 cx="73.335495"
642 id="ellipse1220" 641 id="ellipse1220"
643 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 642 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
644 rx="4.1581793" 643 rx="4.1581793"
645 ry="4.1593032" 644 ry="4.1593032" />
646 transform="translate(-387.41463,-542.5412)" />
647 <ellipse 645 <ellipse
648 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 646 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
649 id="ellipse1222" 647 id="ellipse1222"
650 cx="476.07718" 648 cx="98.662552"
651 cy="700.59174" 649 cy="148.05054"
652 rx="4.1581793" 650 rx="4.1581793"
653 ry="4.1593032" 651 ry="4.1593032" />
654 transform="translate(-387.41463,-542.5412)" />
655 <ellipse 652 <ellipse
656 cy="719.65314" 653 cy="167.11194"
657 cx="521.49146" 654 cx="144.07683"
658 id="ellipse1224" 655 id="ellipse1224"
659 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 656 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
660 rx="4.1581793" 657 rx="4.1581793"
661 ry="4.1593032" 658 ry="4.1593032" />
662 transform="translate(-387.41463,-542.5412)" />
663 <ellipse 659 <ellipse
664 cy="703.87305" 660 cy="151.33185"
665 cx="500.6362" 661 cx="123.22157"
666 id="ellipse1226" 662 id="ellipse1226"
667 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 663 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
668 rx="4.1581793" 664 rx="4.1581793"
669 ry="4.1593032" 665 ry="4.1593032" />
670 transform="translate(-387.41463,-542.5412)" />
671 <ellipse 666 <ellipse
672 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 667 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
673 id="ellipse1228" 668 id="ellipse1228"
674 cx="211.9584" 669 cx="221.9584"
675 cy="134.28851" 670 cy="124.28851"
676 inkscape:transform-center-x="9.5305947" 671 inkscape:transform-center-x="9.5305947"
677 inkscape:transform-center-y="-10.724852" 672 inkscape:transform-center-y="-10.724852"
678 rx="4.1581793" 673 rx="4.1581793"
@@ -680,23 +675,22 @@
680 <ellipse 675 <ellipse
681 inkscape:transform-center-y="-10.724851" 676 inkscape:transform-center-y="-10.724851"
682 inkscape:transform-center-x="9.5305633" 677 inkscape:transform-center-x="9.5305633"
683 cy="713.44794" 678 cy="160.90674"
684 cx="576.62964" 679 cx="199.21501"
685 id="ellipse1230" 680 id="ellipse1230"
686 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 681 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
687 rx="4.1581793" 682 rx="4.1581793"
688 ry="4.1593032" 683 ry="4.1593032" />
689 transform="translate(-387.41463,-542.5412)" />
690 <ellipse 684 <ellipse
691 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 685 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
692 id="ellipse1232" 686 id="ellipse1232"
693 cx="43.166531" 687 cx="53.166531"
694 cy="123.16669" 688 cy="113.16669"
695 rx="4.1581793" 689 rx="4.1581793"
696 ry="4.1593032" /> 690 ry="4.1593032" />
697 <ellipse 691 <ellipse
698 cy="129.43542" 692 cy="119.43542"
699 cx="98.865997" 693 cx="108.866"
700 id="ellipse1234" 694 id="ellipse1234"
701 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 695 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
702 rx="4.1581793" 696 rx="4.1581793"
@@ -704,8 +698,8 @@
704 <ellipse 698 <ellipse
705 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 699 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
706 id="ellipse1236" 700 id="ellipse1236"
707 cx="267.08618" 701 cx="277.08618"
708 cy="130.05022" 702 cy="120.05022"
709 inkscape:transform-center-x="9.5305988" 703 inkscape:transform-center-x="9.5305988"
710 inkscape:transform-center-y="-10.724835" 704 inkscape:transform-center-y="-10.724835"
711 rx="4.1581793" 705 rx="4.1581793"
@@ -713,381 +707,342 @@
713 <ellipse 707 <ellipse
714 inkscape:transform-center-y="-10.724798" 708 inkscape:transform-center-y="-10.724798"
715 inkscape:transform-center-x="9.5305824" 709 inkscape:transform-center-x="9.5305824"
716 cy="686.22339" 710 cy="133.68219"
717 cx="679.07196" 711 cx="301.65732"
718 id="ellipse1238" 712 id="ellipse1238"
719 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 713 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
720 rx="4.1581793" 714 rx="4.1581793"
721 ry="4.1593032" 715 ry="4.1593032" />
722 transform="translate(-387.41463,-542.5412)" />
723 <ellipse 716 <ellipse
724 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 717 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
725 id="ellipse1240" 718 id="ellipse1240"
726 cx="577.00763" 719 cx="199.593"
727 cy="748.99109" 720 cy="196.44989"
728 inkscape:transform-center-x="9.5305819" 721 inkscape:transform-center-x="9.5305819"
729 inkscape:transform-center-y="-10.724843" 722 inkscape:transform-center-y="-10.724843"
730 rx="4.1581793" 723 rx="4.1581793"
731 ry="4.1593032" 724 ry="4.1593032" />
732 transform="translate(-387.41463,-542.5412)" />
733 <ellipse 725 <ellipse
734 inkscape:transform-center-y="-10.724843" 726 inkscape:transform-center-y="-10.724843"
735 inkscape:transform-center-x="9.5305819" 727 inkscape:transform-center-x="9.5305819"
736 cy="748.99109" 728 cy="196.44989"
737 cx="577.00763" 729 cx="199.593"
738 id="ellipse1242" 730 id="ellipse1242"
739 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 731 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
740 rx="4.1581793" 732 rx="4.1581793"
741 ry="4.1593032" 733 ry="4.1593032" />
742 transform="translate(-387.41463,-542.5412)" />
743 <ellipse 734 <ellipse
744 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 735 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
745 id="ellipse1244" 736 id="ellipse1244"
746 cx="577.07013" 737 cx="199.6555"
747 cy="748.99109" 738 cy="196.44989"
748 inkscape:transform-center-x="9.5305819" 739 inkscape:transform-center-x="9.5305819"
749 inkscape:transform-center-y="-10.724843" 740 inkscape:transform-center-y="-10.724843"
750 rx="4.1581793" 741 rx="4.1581793"
751 ry="4.1593032" 742 ry="4.1593032" />
752 transform="translate(-387.41463,-542.5412)" />
753 <ellipse 743 <ellipse
754 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 744 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
755 id="ellipse1246" 745 id="ellipse1246"
756 cx="22.887779" 746 cx="32.887779"
757 cy="133.85095" 747 cy="123.85095"
758 rx="4.1581793" 748 rx="4.1581793"
759 ry="4.1593032" 749 ry="4.1593032" />
760 transform="translate(0,-3e-6)" />
761 <ellipse 750 <ellipse
762 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 751 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
763 id="ellipse1248" 752 id="ellipse1248"
764 cx="462.47165" 753 cx="85.057022"
765 cy="682.1922" 754 cy="129.651"
766 rx="4.1581793" 755 rx="4.1581793"
767 ry="4.1593032" 756 ry="4.1593032" />
768 transform="translate(-387.41463,-542.5412)" />
769 <ellipse 757 <ellipse
770 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 758 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
771 id="ellipse1250" 759 id="ellipse1250"
772 cx="694.58264" 760 cx="317.168"
773 cy="647.3053" 761 cy="94.764099"
774 inkscape:transform-center-x="9.5306165" 762 inkscape:transform-center-x="9.5306165"
775 inkscape:transform-center-y="-10.724829" 763 inkscape:transform-center-y="-10.724829"
776 rx="4.1581793" 764 rx="4.1581793"
777 ry="4.1593032" 765 ry="4.1593032" />
778 transform="translate(-387.41463,-542.5412)" />
779 <ellipse 766 <ellipse
780 cy="628.31934" 767 cy="75.778137"
781 cx="649.61285" 768 cx="272.19821"
782 id="ellipse1252" 769 id="ellipse1252"
783 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 770 style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
784 rx="4.1581793" 771 rx="4.1581793"
785 ry="4.1593032" 772 ry="4.1593032" />
786 transform="translate(-387.41463,-542.5412)" />
787 </g> 773 </g>
788 <g 774 <g
789 inkscape:groupmode="layer" 775 inkscape:groupmode="layer"
790 id="g1533" 776 id="g1533"
791 inkscape:label="vertices cyan" 777 inkscape:label="vertices cyan"
792 style="display:inline" 778 style="display:inline"
793 transform="translate(0,-67.278107)" 779 transform="translate(0,-47.278107)"
794 sodipodi:insensitive="true"> 780 sodipodi:insensitive="true">
795 <path 781 <path
796 style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 782 style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
797 d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2" 783 d="m 72.698223,75.778107 -39.5,48.000003 v 0 l -1,2"
798 id="path1493" 784 id="path1493"
799 inkscape:connector-curvature="0" /> 785 inkscape:connector-curvature="0" />
800 <path 786 <path
801 style="fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 787 style="fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
802 d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0" 788 d="m 22.698223,94.77811 10,29 21,-10.5 v 0 0"
803 id="path1495" 789 id="path1495"
804 inkscape:connector-curvature="0" /> 790 inkscape:connector-curvature="0" />
805 <path 791 <path
806 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 792 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
807 d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 -35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416" 793 d="m 21.809253,95.24526 63.6227,34.91188 23.318017,-11.09978 -35.039547,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416"
808 id="path1497" 794 id="path1497"
809 inkscape:connector-curvature="0" 795 inkscape:connector-curvature="0"
810 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" /> 796 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" />
811 <path 797 <path
812 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 798 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
813 d="m 98.868943,129.31358 37.045597,48.02106" 799 d="m 108.86894,119.31358 37.0456,48.02106"
814 id="path1499" 800 id="path1499"
815 inkscape:connector-curvature="0" /> 801 inkscape:connector-curvature="0" />
816 <path 802 <path
817 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 803 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
818 d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819" 804 d="m 98.284483,148.4287 10.962477,-29.11512 12.47454,32.51819"
819 id="path1501" 805 id="path1501"
820 inkscape:connector-curvature="0" /> 806 inkscape:connector-curvature="0" />
821 <path 807 <path
822 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 808 style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
823 d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795" 809 d="m 222.13974,123.78236 54.69043,-3.64603 -31.75647,27.04795"
824 id="path1503" 810 id="path1503"
825 inkscape:connector-curvature="0" 811 inkscape:connector-curvature="0"
826 sodipodi:nodetypes="ccc" /> 812 sodipodi:nodetypes="ccc" />
827 <path 813 <path
828 transform="translate(-387.41463,-542.5412)"
829 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 814 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
830 d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75" 815 d="m 21.69822,95.77811 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75"
831 id="path1505" 816 id="path1505"
832 inkscape:connector-curvature="0" 817 inkscape:connector-curvature="0"
833 sodipodi:nodetypes="cccccc" /> 818 sodipodi:nodetypes="cccccc" />
834 <path 819 <path
835 transform="translate(-387.41463,-542.5412)"
836 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 820 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
837 d="m 601.57854,741.42859 -2.26809,-64.28015" 821 d="m 224.16391,188.88739 -2.26809,-64.28015"
838 id="path1507" 822 id="path1507"
839 inkscape:connector-curvature="0" /> 823 inkscape:connector-curvature="0" />
840 <path 824 <path
841 style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 825 style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
842 d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0" 826 d="m 199.57322,196.52811 -44,2.625 25.375,17.125 v 0"
843 id="path1509" 827 id="path1509"
844 inkscape:connector-curvature="0" /> 828 inkscape:connector-curvature="0" />
845 <path 829 <path
846 transform="translate(-387.41463,-542.5412)"
847 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 830 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
848 d="m 475.69911,700.21367 24.57107,51.42411" 831 d="m 98.28448,147.67247 24.57107,51.42411"
849 id="path1511" 832 id="path1511"
850 inkscape:connector-curvature="0" /> 833 inkscape:connector-curvature="0" />
851 <path 834 <path
852 transform="translate(-387.41463,-542.5412)"
853 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 835 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
854 d="m 534.29164,751.63778 12.85257,40.08057" 836 d="m 156.87701,199.09658 12.85257,40.08057"
855 id="path1513" 837 id="path1513"
856 inkscape:connector-curvature="0" /> 838 inkscape:connector-curvature="0" />
857 <path 839 <path
858 transform="translate(-387.41463,-542.5412)"
859 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 840 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
860 d="m 525.21925,783.02162 0.37803,45.75234" 841 d="m 147.80462,230.48042 0.37803,45.75234"
861 id="path1515" 842 id="path1515"
862 inkscape:connector-curvature="0" /> 843 inkscape:connector-curvature="0" />
863 <path 844 <path
864 transform="translate(-387.41463,-542.5412)"
865 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 845 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
866 d="m 601.95657,742.56293 -12.09653,36.6775" 846 d="m 224.54194,190.02173 -12.09653,36.6775"
867 id="path1517" 847 id="path1517"
868 inkscape:connector-curvature="0" /> 848 inkscape:connector-curvature="0" />
869 <path 849 <path
870 transform="translate(-387.41463,-542.5412)"
871 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 850 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
872 d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194" 851 d="m 98.28448,148.05058 46.98395,22.0278 10.85256,28.26194"
873 id="path1519" 852 id="path1519"
874 inkscape:connector-curvature="0" 853 inkscape:connector-curvature="0"
875 sodipodi:nodetypes="ccc" /> 854 sodipodi:nodetypes="ccc" />
876 <path 855 <path
877 transform="translate(-387.41463,-542.5412)"
878 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 856 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
879 d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z" 857 d="m 211.68937,226.32111 -12.85255,-66.17074 v 36.6775 z"
880 id="path1521" 858 id="path1521"
881 inkscape:connector-curvature="0" /> 859 inkscape:connector-curvature="0" />
882 <path 860 <path
883 transform="translate(-387.41463,-542.5412)"
884 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 861 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
885 d="m 557.35064,768.27501 31.75336,10.5873" 862 d="m 179.93601,215.73381 31.75336,10.5873"
886 id="path1523" 863 id="path1523"
887 inkscape:connector-curvature="0" /> 864 inkscape:connector-curvature="0" />
888 <path 865 <path
889 transform="translate(-387.41463,-542.5412)"
890 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 866 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
891 d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293" 867 d="m 122.85555,151.83178 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
892 id="path1525" 868 id="path1525"
893 inkscape:connector-curvature="0" /> 869 inkscape:connector-curvature="0" />
894 <path 870 <path
895 transform="translate(-387.41463,-542.5412)"
896 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 871 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
897 d="m 524.46323,829.53019 44.98392,-0.37812" 872 d="m 147.0486,276.98899 44.98392,-0.37812"
898 id="path1527" 873 id="path1527"
899 inkscape:connector-curvature="0" /> 874 inkscape:connector-curvature="0" />
900 <path 875 <path
901 transform="translate(-387.41463,-542.5412)"
902 style="display:inline;opacity:1;fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 876 style="display:inline;opacity:1;fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
903 d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0" 877 d="m 317.19822,94.77811 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0"
904 id="path1529" 878 id="path1529"
905 inkscape:connector-curvature="0" 879 inkscape:connector-curvature="0"
906 sodipodi:nodetypes="cccccccc" /> 880 sodipodi:nodetypes="cccccccc" />
907 <path 881 <path
908 transform="translate(-387.41463,-542.5412)"
909 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 882 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
910 d="m 409.92428,677.14844 54.05634,6.0499" 883 d="m 32.50965,124.60724 54.05634,6.0499"
911 id="path1531" 884 id="path1531"
912 inkscape:connector-curvature="0" /> 885 inkscape:connector-curvature="0" />
913 </g> 886 </g>
914 <g 887 <g
915 transform="translate(0,-67.278107)" 888 transform="translate(0,-47.278107)"
916 style="display:inline" 889 style="display:inline"
917 inkscape:label="nodes cyan" 890 inkscape:label="nodes cyan"
918 id="g1491" 891 id="g1491"
919 inkscape:groupmode="layer" 892 inkscape:groupmode="layer"
920 sodipodi:insensitive="true"> 893 sodipodi:insensitive="true">
921 <ellipse 894 <ellipse
922 transform="translate(-387.41463,-542.5412)"
923 ry="4.1593032" 895 ry="4.1593032"
924 rx="4.1581793" 896 rx="4.1581793"
925 cy="829.24042" 897 cy="276.69922"
926 cx="568.98083" 898 cx="191.56621"
927 id="ellipse1431" 899 id="ellipse1431"
928 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 900 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
929 <ellipse 901 <ellipse
930 transform="translate(-387.41463,-542.5412)"
931 ry="4.1593032" 902 ry="4.1593032"
932 rx="4.1581793" 903 rx="4.1581793"
933 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 904 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
934 id="ellipse1433" 905 id="ellipse1433"
935 cx="588.85413" 906 cx="211.4395"
936 cy="778.67493" 907 cy="226.13373"
937 inkscape:transform-center-x="9.5305949" 908 inkscape:transform-center-x="9.5305949"
938 inkscape:transform-center-y="-10.724827" /> 909 inkscape:transform-center-y="-10.724827" />
939 <ellipse 910 <ellipse
940 transform="translate(-387.41463,-542.5412)"
941 ry="4.1593032" 911 ry="4.1593032"
942 rx="4.1581793" 912 rx="4.1581793"
943 inkscape:transform-center-y="-10.724822" 913 inkscape:transform-center-y="-10.724822"
944 inkscape:transform-center-x="9.5305654" 914 inkscape:transform-center-x="9.5305654"
945 cy="740.67249" 915 cy="188.13129"
946 cx="601.57867" 916 cx="224.16405"
947 id="ellipse1435" 917 id="ellipse1435"
948 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 918 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
949 <ellipse 919 <ellipse
950 transform="translate(-387.41463,-542.5412)"
951 ry="4.1593032" 920 ry="4.1593032"
952 rx="4.1581793" 921 rx="4.1581793"
953 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 922 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
954 id="ellipse1437" 923 id="ellipse1437"
955 cx="525.79852" 924 cx="148.3839"
956 cy="829.24042" /> 925 cy="276.69922" />
957 <ellipse 926 <ellipse
958 transform="translate(-387.41463,-542.5412)"
959 ry="4.1593032" 927 ry="4.1593032"
960 rx="4.1581793" 928 rx="4.1581793"
961 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 929 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
962 id="ellipse1439" 930 id="ellipse1439"
963 cx="557.82654" 931 cx="180.41191"
964 cy="768.71582" 932 cy="216.17462"
965 inkscape:transform-center-x="9.5306167" 933 inkscape:transform-center-x="9.5306167"
966 inkscape:transform-center-y="-10.724797" /> 934 inkscape:transform-center-y="-10.724797" />
967 <ellipse 935 <ellipse
968 transform="translate(-387.41463,-542.5412)"
969 ry="4.1593032" 936 ry="4.1593032"
970 rx="4.1581793" 937 rx="4.1581793"
971 cy="783.02173" 938 cy="230.48053"
972 cx="525.21936" 939 cx="147.80473"
973 id="ellipse1441" 940 id="ellipse1441"
974 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 941 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
975 <ellipse 942 <ellipse
976 transform="translate(-387.41463,-542.5412)"
977 ry="4.1593032" 943 ry="4.1593032"
978 rx="4.1581793" 944 rx="4.1581793"
979 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 945 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
980 id="ellipse1443" 946 id="ellipse1443"
981 cx="400.09586" 947 cx="22.681225"
982 cy="647.34271" /> 948 cy="94.801514" />
983 <ellipse 949 <ellipse
984 transform="translate(-387.41463,-542.5412)"
985 ry="4.1593032" 950 ry="4.1593032"
986 rx="4.1581793" 951 rx="4.1581793"
987 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 952 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
988 id="ellipse1445" 953 id="ellipse1445"
989 cx="450.11285" 954 cx="72.698227"
990 cy="628.31934" /> 955 cy="75.778137" />
991 <ellipse 956 <ellipse
992 transform="translate(-387.41463,-542.5412)"
993 ry="4.1593032" 957 ry="4.1593032"
994 rx="4.1581793" 958 rx="4.1581793"
995 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 959 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
996 id="ellipse1447" 960 id="ellipse1447"
997 cx="622.36951" 961 cx="244.95488"
998 cy="699.45752" 962 cy="146.91632"
999 inkscape:transform-center-x="9.5306048" 963 inkscape:transform-center-x="9.5306048"
1000 inkscape:transform-center-y="-10.724823" /> 964 inkscape:transform-center-y="-10.724823" />
1001 <ellipse 965 <ellipse
1002 transform="translate(-387.41463,-542.5412)"
1003 ry="4.1593032" 966 ry="4.1593032"
1004 rx="4.1581793" 967 rx="4.1581793"
1005 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 968 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1006 id="ellipse1449" 969 id="ellipse1449"
1007 cx="547.21771" 970 cx="169.80309"
1008 cy="792.29773" /> 971 cy="239.75653" />
1009 <ellipse 972 <ellipse
1010 transform="translate(-387.41463,-542.5412)"
1011 ry="4.1593032" 973 ry="4.1593032"
1012 rx="4.1581793" 974 rx="4.1581793"
1013 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 975 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1014 id="ellipse1451" 976 id="ellipse1451"
1015 cx="566.20697" 977 cx="188.79234"
1016 cy="800.12549" 978 cy="247.58429"
1017 inkscape:transform-center-x="9.5306006" 979 inkscape:transform-center-x="9.5306006"
1018 inkscape:transform-center-y="-10.72485" /> 980 inkscape:transform-center-y="-10.72485" />
1019 <ellipse 981 <ellipse
1020 transform="translate(-387.41463,-542.5412)"
1021 ry="4.1593032" 982 ry="4.1593032"
1022 rx="4.1581793" 983 rx="4.1581793"
1023 cy="751.63794" 984 cy="199.09674"
1024 cx="500.64822" 985 cx="123.2336"
1025 id="ellipse1453" 986 id="ellipse1453"
1026 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 987 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1027 <ellipse 988 <ellipse
1028 transform="translate(-387.41463,-542.5412)"
1029 ry="4.1593032" 989 ry="4.1593032"
1030 rx="4.1581793" 990 rx="4.1581793"
1031 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 991 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1032 id="ellipse1455" 992 id="ellipse1455"
1033 cx="533.33447" 993 cx="155.91985"
1034 cy="751.72632" /> 994 cy="199.18512" />
1035 <ellipse 995 <ellipse
1036 transform="translate(-387.41463,-542.5412)"
1037 ry="4.1593032" 996 ry="4.1593032"
1038 rx="4.1581793" 997 rx="4.1581793"
1039 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 998 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1040 id="ellipse1457" 999 id="ellipse1457"
1041 cx="450.75012" 1000 cx="73.335495"
1042 cy="699.83545" /> 1001 cy="147.29425" />
1043 <ellipse 1002 <ellipse
1044 transform="translate(-387.41463,-542.5412)"
1045 ry="4.1593032" 1003 ry="4.1593032"
1046 rx="4.1581793" 1004 rx="4.1581793"
1047 cy="700.59174" 1005 cy="148.05054"
1048 cx="476.07718" 1006 cx="98.662552"
1049 id="ellipse1459" 1007 id="ellipse1459"
1050 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1008 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1051 <ellipse 1009 <ellipse
1052 transform="translate(-387.41463,-542.5412)"
1053 ry="4.1593032" 1010 ry="4.1593032"
1054 rx="4.1581793" 1011 rx="4.1581793"
1055 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1012 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1056 id="ellipse1461" 1013 id="ellipse1461"
1057 cx="521.49146" 1014 cx="144.07683"
1058 cy="719.65314" /> 1015 cy="167.11194" />
1059 <ellipse 1016 <ellipse
1060 transform="translate(-387.41463,-542.5412)"
1061 ry="4.1593032" 1017 ry="4.1593032"
1062 rx="4.1581793" 1018 rx="4.1581793"
1063 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1019 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1064 id="ellipse1463" 1020 id="ellipse1463"
1065 cx="500.6362" 1021 cx="123.22157"
1066 cy="703.87305" /> 1022 cy="151.33185" />
1067 <ellipse 1023 <ellipse
1068 ry="4.1593032" 1024 ry="4.1593032"
1069 rx="4.1581793" 1025 rx="4.1581793"
1070 inkscape:transform-center-y="-10.724852" 1026 inkscape:transform-center-y="-10.724852"
1071 inkscape:transform-center-x="9.5305947" 1027 inkscape:transform-center-x="9.5305947"
1072 cy="134.28851" 1028 cy="124.28851"
1073 cx="211.9584" 1029 cx="221.9584"
1074 id="ellipse1465" 1030 id="ellipse1465"
1075 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1031 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1076 <ellipse 1032 <ellipse
1077 transform="translate(-387.41463,-542.5412)"
1078 ry="4.1593032" 1033 ry="4.1593032"
1079 rx="4.1581793" 1034 rx="4.1581793"
1080 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1035 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1081 id="ellipse1467" 1036 id="ellipse1467"
1082 cx="576.62964" 1037 cx="199.21501"
1083 cy="713.44794" 1038 cy="160.90674"
1084 inkscape:transform-center-x="9.5305633" 1039 inkscape:transform-center-x="9.5305633"
1085 inkscape:transform-center-y="-10.724851" /> 1040 inkscape:transform-center-y="-10.724851" />
1086 <ellipse 1041 <ellipse
1087 ry="4.1593032" 1042 ry="4.1593032"
1088 rx="4.1581793" 1043 rx="4.1581793"
1089 cy="123.16669" 1044 cy="113.16669"
1090 cx="43.166531" 1045 cx="53.166531"
1091 id="ellipse1469" 1046 id="ellipse1469"
1092 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1047 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1093 <ellipse 1048 <ellipse
@@ -1095,103 +1050,95 @@
1095 rx="4.1581793" 1050 rx="4.1581793"
1096 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1051 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1097 id="ellipse1471" 1052 id="ellipse1471"
1098 cx="98.865997" 1053 cx="108.866"
1099 cy="129.43542" /> 1054 cy="119.43542" />
1100 <ellipse 1055 <ellipse
1101 ry="4.1593032" 1056 ry="4.1593032"
1102 rx="4.1581793" 1057 rx="4.1581793"
1103 inkscape:transform-center-y="-10.724835" 1058 inkscape:transform-center-y="-10.724835"
1104 inkscape:transform-center-x="9.5305988" 1059 inkscape:transform-center-x="9.5305988"
1105 cy="130.05022" 1060 cy="120.05022"
1106 cx="267.08618" 1061 cx="277.08618"
1107 id="ellipse1473" 1062 id="ellipse1473"
1108 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1063 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1109 <ellipse 1064 <ellipse
1110 transform="translate(-387.41463,-542.5412)"
1111 ry="4.1593032" 1065 ry="4.1593032"
1112 rx="4.1581793" 1066 rx="4.1581793"
1113 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1067 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1114 id="ellipse1475" 1068 id="ellipse1475"
1115 cx="679.07196" 1069 cx="301.65732"
1116 cy="686.22339" 1070 cy="133.68219"
1117 inkscape:transform-center-x="9.5305824" 1071 inkscape:transform-center-x="9.5305824"
1118 inkscape:transform-center-y="-10.724798" /> 1072 inkscape:transform-center-y="-10.724798" />
1119 <ellipse 1073 <ellipse
1120 transform="translate(-387.41463,-542.5412)"
1121 ry="4.1593032" 1074 ry="4.1593032"
1122 rx="4.1581793" 1075 rx="4.1581793"
1123 inkscape:transform-center-y="-10.724843" 1076 inkscape:transform-center-y="-10.724843"
1124 inkscape:transform-center-x="9.5305819" 1077 inkscape:transform-center-x="9.5305819"
1125 cy="748.99109" 1078 cy="196.44989"
1126 cx="577.00763" 1079 cx="199.593"
1127 id="ellipse1477" 1080 id="ellipse1477"
1128 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1081 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1129 <ellipse 1082 <ellipse
1130 transform="translate(-387.41463,-542.5412)"
1131 ry="4.1593032" 1083 ry="4.1593032"
1132 rx="4.1581793" 1084 rx="4.1581793"
1133 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1085 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1134 id="ellipse1479" 1086 id="ellipse1479"
1135 cx="577.00763" 1087 cx="199.593"
1136 cy="748.99109" 1088 cy="196.44989"
1137 inkscape:transform-center-x="9.5305819" 1089 inkscape:transform-center-x="9.5305819"
1138 inkscape:transform-center-y="-10.724843" /> 1090 inkscape:transform-center-y="-10.724843" />
1139 <ellipse 1091 <ellipse
1140 transform="translate(-387.41463,-542.5412)"
1141 ry="4.1593032" 1092 ry="4.1593032"
1142 rx="4.1581793" 1093 rx="4.1581793"
1143 inkscape:transform-center-y="-10.724843" 1094 inkscape:transform-center-y="-10.724843"
1144 inkscape:transform-center-x="9.5305819" 1095 inkscape:transform-center-x="9.5305819"
1145 cy="748.99109" 1096 cy="196.44989"
1146 cx="577.07013" 1097 cx="199.6555"
1147 id="ellipse1481" 1098 id="ellipse1481"
1148 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1099 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1149 <ellipse 1100 <ellipse
1150 transform="translate(0,-3e-6)"
1151 ry="4.1593032" 1101 ry="4.1593032"
1152 rx="4.1581793" 1102 rx="4.1581793"
1153 cy="133.85095" 1103 cy="123.85095"
1154 cx="22.887779" 1104 cx="32.887779"
1155 id="ellipse1483" 1105 id="ellipse1483"
1156 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1106 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1157 <ellipse 1107 <ellipse
1158 transform="translate(-387.41463,-542.5412)"
1159 ry="4.1593032" 1108 ry="4.1593032"
1160 rx="4.1581793" 1109 rx="4.1581793"
1161 cy="682.1922" 1110 cy="129.651"
1162 cx="462.47165" 1111 cx="85.057022"
1163 id="ellipse1485" 1112 id="ellipse1485"
1164 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1113 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1165 <ellipse 1114 <ellipse
1166 transform="translate(-387.41463,-542.5412)"
1167 ry="4.1593032" 1115 ry="4.1593032"
1168 rx="4.1581793" 1116 rx="4.1581793"
1169 inkscape:transform-center-y="-10.724829" 1117 inkscape:transform-center-y="-10.724829"
1170 inkscape:transform-center-x="9.5306165" 1118 inkscape:transform-center-x="9.5306165"
1171 cy="647.3053" 1119 cy="94.764099"
1172 cx="694.58264" 1120 cx="317.168"
1173 id="ellipse1487" 1121 id="ellipse1487"
1174 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1122 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1175 <ellipse 1123 <ellipse
1176 transform="translate(-387.41463,-542.5412)"
1177 ry="4.1593032" 1124 ry="4.1593032"
1178 rx="4.1581793" 1125 rx="4.1581793"
1179 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1126 style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1180 id="ellipse1489" 1127 id="ellipse1489"
1181 cx="649.61285" 1128 cx="272.19821"
1182 cy="628.31934" /> 1129 cy="75.778137" />
1183 </g> 1130 </g>
1184 <g 1131 <g
1185 transform="translate(0,-20)"
1186 style="display:inline" 1132 style="display:inline"
1187 inkscape:label="gnu:net no:des cyan" 1133 inkscape:label="gnu:net no:des cyan"
1188 id="g1539" 1134 id="g1539"
1189 inkscape:groupmode="layer"> 1135 inkscape:groupmode="layer"
1136 sodipodi:insensitive="true">
1190 <ellipse 1137 <ellipse
1191 inkscape:transform-center-y="-10.72485" 1138 inkscape:transform-center-y="-10.72485"
1192 inkscape:transform-center-x="9.5306006" 1139 inkscape:transform-center-x="9.5306006"
1193 cy="276.32968" 1140 cy="266.32968"
1194 cx="159.80099" 1141 cx="169.80099"
1195 id="ellipse1535" 1142 id="ellipse1535"
1196 style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1143 style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1197 rx="4.1581793" 1144 rx="4.1581793"
@@ -1199,8 +1146,8 @@
1199 <ellipse 1146 <ellipse
1200 inkscape:transform-center-y="-10.72485" 1147 inkscape:transform-center-y="-10.72485"
1201 inkscape:transform-center-x="9.5306006" 1148 inkscape:transform-center-x="9.5306006"
1202 cy="259.99252" 1149 cy="249.99252"
1203 cx="159.80099" 1150 cx="169.80099"
1204 id="ellipse1537" 1151 id="ellipse1537"
1205 style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1152 style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1206 rx="4.1581793" 1153 rx="4.1581793"
@@ -1211,304 +1158,273 @@
1211 id="layer3" 1158 id="layer3"
1212 inkscape:label="vertices red" 1159 inkscape:label="vertices red"
1213 style="display:none" 1160 style="display:none"
1214 transform="translate(0,-67.278107)" 1161 transform="translate(0,-47.278107)"
1215 sodipodi:insensitive="true"> 1162 sodipodi:insensitive="true">
1216 <path 1163 <path
1217 style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1164 style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1218 d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2" 1165 d="m 72.698223,75.778107 -39.5,48.000003 v 0 l -1,2"
1219 id="path5313" 1166 id="path5313"
1220 inkscape:connector-curvature="0" /> 1167 inkscape:connector-curvature="0" />
1221 <path 1168 <path
1222 style="fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1169 style="fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1223 d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0" 1170 d="m 22.698223,94.77811 10,29 21,-10.5 v 0 0"
1224 id="path5311" 1171 id="path5311"
1225 inkscape:connector-curvature="0" /> 1172 inkscape:connector-curvature="0" />
1226 <path 1173 <path
1227 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1174 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1228 d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 -35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416" 1175 d="m 21.809253,95.24526 63.6227,34.91188 23.318017,-11.09978 -35.039547,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 -20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 -8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.96716,8.94671 -18.39175,19.15282 18.27579,-55.07718 25.20812,27.362 20.66591,-41.35238 -46.00204,14.12783 22.94304,-37.07431 23.05297,23.0777 31.8814,-26.48075 40.07874,-25.58708 -15.26372,39.20869 -24.69305,-13.74039 -55.05634,4.03119 79.62738,9.58108 -56.57441,12.73416"
1229 id="path9316" 1176 id="path9316"
1230 inkscape:connector-curvature="0" 1177 inkscape:connector-curvature="0"
1231 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" /> 1178 sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccc" />
1232 <path 1179 <path
1233 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1180 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1234 d="m 98.868943,129.31358 37.045597,48.02106" 1181 d="m 108.86894,119.31358 37.0456,48.02106"
1235 id="path9318" 1182 id="path9318"
1236 inkscape:connector-curvature="0" /> 1183 inkscape:connector-curvature="0" />
1237 <path 1184 <path
1238 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1185 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1239 d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819" 1186 d="m 98.284483,148.4287 10.962477,-29.11512 12.47454,32.51819"
1240 id="path12058" 1187 id="path12058"
1241 inkscape:connector-curvature="0" /> 1188 inkscape:connector-curvature="0" />
1242 <path 1189 <path
1243 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1190 style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1244 d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795" 1191 d="m 222.13974,123.78236 54.69043,-3.64603 -31.75647,27.04795"
1245 id="path12250" 1192 id="path12250"
1246 inkscape:connector-curvature="0" 1193 inkscape:connector-curvature="0"
1247 sodipodi:nodetypes="ccc" /> 1194 sodipodi:nodetypes="ccc" />
1248 <path 1195 <path
1249 transform="translate(-387.41463,-542.5412)"
1250 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1196 style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1251 d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75" 1197 d="m 21.69822,95.77811 50.5,-19.5 -14.05,28.1 0.925,-1.725 -5.875,11.75 -0.25,-0.75"
1252 id="path5161" 1198 id="path5161"
1253 inkscape:connector-curvature="0" 1199 inkscape:connector-curvature="0"
1254 sodipodi:nodetypes="cccccc" /> 1200 sodipodi:nodetypes="cccccc" />
1255 <path 1201 <path
1256 transform="translate(-387.41463,-542.5412)"
1257 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1202 style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1258 d="m 601.57854,741.42859 -2.26809,-64.28015" 1203 d="m 224.16391,188.88739 -2.26809,-64.28015"
1259 id="path12206" 1204 id="path12206"
1260 inkscape:connector-curvature="0" /> 1205 inkscape:connector-curvature="0" />
1261 <path 1206 <path
1262 style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1207 style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1263 d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0" 1208 d="m 199.57322,196.52811 -44,2.625 25.375,17.125 v 0"
1264 id="path5331" 1209 id="path5331"
1265 inkscape:connector-curvature="0" /> 1210 inkscape:connector-curvature="0" />
1266 <path 1211 <path
1267 transform="translate(-387.41463,-542.5412)"
1268 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1212 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1269 d="m 475.69911,700.21367 24.57107,51.42411" 1213 d="m 98.28448,147.67247 24.57107,51.42411"
1270 id="path9320" 1214 id="path9320"
1271 inkscape:connector-curvature="0" /> 1215 inkscape:connector-curvature="0" />
1272 <path 1216 <path
1273 transform="translate(-387.41463,-542.5412)"
1274 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1217 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1275 d="m 534.29164,751.63778 12.85257,40.08057" 1218 d="m 156.87701,199.09658 12.85257,40.08057"
1276 id="path9322" 1219 id="path9322"
1277 inkscape:connector-curvature="0" /> 1220 inkscape:connector-curvature="0" />
1278 <path 1221 <path
1279 transform="translate(-387.41463,-542.5412)"
1280 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1222 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1281 d="m 525.21925,783.02162 0.37803,45.75234" 1223 d="m 147.80462,230.48042 0.37803,45.75234"
1282 id="path9324" 1224 id="path9324"
1283 inkscape:connector-curvature="0" /> 1225 inkscape:connector-curvature="0" />
1284 <path 1226 <path
1285 transform="translate(-387.41463,-542.5412)"
1286 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1227 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1287 d="m 601.95657,742.56293 -12.09653,36.6775" 1228 d="m 224.54194,190.02173 -12.09653,36.6775"
1288 id="path9326" 1229 id="path9326"
1289 inkscape:connector-curvature="0" /> 1230 inkscape:connector-curvature="0" />
1290 <path 1231 <path
1291 transform="translate(-387.41463,-542.5412)"
1292 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1232 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1293 d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194" 1233 d="m 98.28448,148.05058 46.98395,22.0278 10.85256,28.26194"
1294 id="path12060" 1234 id="path12060"
1295 inkscape:connector-curvature="0" 1235 inkscape:connector-curvature="0"
1296 sodipodi:nodetypes="ccc" /> 1236 sodipodi:nodetypes="ccc" />
1297 <path 1237 <path
1298 transform="translate(-387.41463,-542.5412)"
1299 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843" 1238 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
1300 d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z" 1239 d="m 211.68937,226.32111 -12.85255,-66.17074 v 36.6775 z"
1301 id="path12208" 1240 id="path12208"
1302 inkscape:connector-curvature="0" /> 1241 inkscape:connector-curvature="0" />
1303 <path 1242 <path
1304 transform="translate(-387.41463,-542.5412)"
1305 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843" 1243 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
1306 d="m 557.35064,768.27501 31.75336,10.5873" 1244 d="m 179.93601,215.73381 31.75336,10.5873"
1307 id="path12210" 1245 id="path12210"
1308 inkscape:connector-curvature="0" /> 1246 inkscape:connector-curvature="0" />
1309 <path 1247 <path
1310 transform="translate(-387.41463,-542.5412)"
1311 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843" 1248 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
1312 d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293" 1249 d="m 122.85555,151.83178 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
1313 id="path12212" 1250 id="path12212"
1314 inkscape:connector-curvature="0" /> 1251 inkscape:connector-curvature="0" />
1315 <path 1252 <path
1316 transform="translate(-387.41463,-542.5412)"
1317 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1253 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1318 d="m 524.46323,829.53019 44.98392,-0.37812" 1254 d="m 147.0486,276.98899 44.98392,-0.37812"
1319 id="path12216" 1255 id="path12216"
1320 inkscape:connector-curvature="0" /> 1256 inkscape:connector-curvature="0" />
1321 <path 1257 <path
1322 transform="translate(-387.41463,-542.5412)"
1323 style="display:inline;opacity:1;fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" 1258 style="display:inline;opacity:1;fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
1324 d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0" 1259 d="m 317.19822,94.77811 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v -0.5 0 h 0.5 v 0"
1325 id="path5163" 1260 id="path5163"
1326 inkscape:connector-curvature="0" 1261 inkscape:connector-curvature="0"
1327 sodipodi:nodetypes="cccccccc" /> 1262 sodipodi:nodetypes="cccccccc" />
1328 <path 1263 <path
1329 transform="translate(-387.41463,-542.5412)"
1330 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843" 1264 style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
1331 d="m 409.92428,677.14844 54.05634,6.0499" 1265 d="m 32.50965,124.60724 54.05634,6.0499"
1332 id="path12214" 1266 id="path12214"
1333 inkscape:connector-curvature="0" /> 1267 inkscape:connector-curvature="0" />
1334 </g> 1268 </g>
1335 <g 1269 <g
1336 transform="translate(0,-67.278107)" 1270 transform="translate(0,-47.278107)"
1337 style="display:none" 1271 style="display:none"
1338 inkscape:label="nodes red" 1272 inkscape:label="nodes red"
1339 id="g325" 1273 id="g325"
1340 inkscape:groupmode="layer" 1274 inkscape:groupmode="layer"
1341 sodipodi:insensitive="true"> 1275 sodipodi:insensitive="true">
1342 <ellipse 1276 <ellipse
1343 transform="translate(-387.41463,-542.5412)"
1344 ry="4.1593032" 1277 ry="4.1593032"
1345 rx="4.1581793" 1278 rx="4.1581793"
1346 cy="829.24042" 1279 cy="276.69922"
1347 cx="568.98083" 1280 cx="191.56621"
1348 id="ellipse12254" 1281 id="ellipse12254"
1349 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1282 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1350 <ellipse 1283 <ellipse
1351 transform="translate(-387.41463,-542.5412)"
1352 ry="4.1593032" 1284 ry="4.1593032"
1353 rx="4.1581793" 1285 rx="4.1581793"
1354 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1286 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1355 id="ellipse12290" 1287 id="ellipse12290"
1356 cx="588.85413" 1288 cx="211.4395"
1357 cy="778.67493" 1289 cy="226.13373"
1358 inkscape:transform-center-x="9.5305949" 1290 inkscape:transform-center-x="9.5305949"
1359 inkscape:transform-center-y="-10.724827" /> 1291 inkscape:transform-center-y="-10.724827" />
1360 <ellipse 1292 <ellipse
1361 transform="translate(-387.41463,-542.5412)"
1362 ry="4.1593032" 1293 ry="4.1593032"
1363 rx="4.1581793" 1294 rx="4.1581793"
1364 inkscape:transform-center-y="-10.724822" 1295 inkscape:transform-center-y="-10.724822"
1365 inkscape:transform-center-x="9.5305654" 1296 inkscape:transform-center-x="9.5305654"
1366 cy="740.67249" 1297 cy="188.13129"
1367 cx="601.57867" 1298 cx="224.16405"
1368 id="ellipse12284" 1299 id="ellipse12284"
1369 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1300 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1370 <ellipse 1301 <ellipse
1371 transform="translate(-387.41463,-542.5412)"
1372 ry="4.1593032" 1302 ry="4.1593032"
1373 rx="4.1581793" 1303 rx="4.1581793"
1374 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1304 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1375 id="ellipse12256" 1305 id="ellipse12256"
1376 cx="525.79852" 1306 cx="148.3839"
1377 cy="829.24042" /> 1307 cy="276.69922" />
1378 <ellipse 1308 <ellipse
1379 transform="translate(-387.41463,-542.5412)"
1380 ry="4.1593032" 1309 ry="4.1593032"
1381 rx="4.1581793" 1310 rx="4.1581793"
1382 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1311 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1383 id="ellipse12306" 1312 id="ellipse12306"
1384 cx="557.82654" 1313 cx="180.41191"
1385 cy="768.71582" 1314 cy="216.17462"
1386 inkscape:transform-center-x="9.5306167" 1315 inkscape:transform-center-x="9.5306167"
1387 inkscape:transform-center-y="-10.724797" /> 1316 inkscape:transform-center-y="-10.724797" />
1388 <ellipse 1317 <ellipse
1389 transform="translate(-387.41463,-542.5412)"
1390 ry="4.1593032" 1318 ry="4.1593032"
1391 rx="4.1581793" 1319 rx="4.1581793"
1392 cy="783.02173" 1320 cy="230.48053"
1393 cx="525.21936" 1321 cx="147.80473"
1394 id="ellipse12280" 1322 id="ellipse12280"
1395 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1323 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1396 <ellipse 1324 <ellipse
1397 transform="translate(-387.41463,-542.5412)"
1398 ry="4.1593032" 1325 ry="4.1593032"
1399 rx="4.1581793" 1326 rx="4.1581793"
1400 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1327 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1401 id="ellipse12258" 1328 id="ellipse12258"
1402 cx="400.09586" 1329 cx="22.681225"
1403 cy="647.34271" /> 1330 cy="94.801514" />
1404 <ellipse 1331 <ellipse
1405 transform="translate(-387.41463,-542.5412)"
1406 ry="4.1593032" 1332 ry="4.1593032"
1407 rx="4.1581793" 1333 rx="4.1581793"
1408 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1334 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1409 id="ellipse12258-3" 1335 id="ellipse12258-3"
1410 cx="450.11285" 1336 cx="72.698227"
1411 cy="628.31934" /> 1337 cy="75.778137" />
1412 <ellipse 1338 <ellipse
1413 transform="translate(-387.41463,-542.5412)"
1414 ry="4.1593032" 1339 ry="4.1593032"
1415 rx="4.1581793" 1340 rx="4.1581793"
1416 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1341 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1417 id="ellipse12294" 1342 id="ellipse12294"
1418 cx="622.36951" 1343 cx="244.95488"
1419 cy="699.45752" 1344 cy="146.91632"
1420 inkscape:transform-center-x="9.5306048" 1345 inkscape:transform-center-x="9.5306048"
1421 inkscape:transform-center-y="-10.724823" /> 1346 inkscape:transform-center-y="-10.724823" />
1422 <ellipse 1347 <ellipse
1423 transform="translate(-387.41463,-542.5412)"
1424 ry="4.1593032" 1348 ry="4.1593032"
1425 rx="4.1581793" 1349 rx="4.1581793"
1426 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1350 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1427 id="ellipse12252" 1351 id="ellipse12252"
1428 cx="547.21771" 1352 cx="169.80309"
1429 cy="792.29773" /> 1353 cy="239.75653" />
1430 <ellipse 1354 <ellipse
1431 transform="translate(-387.41463,-542.5412)"
1432 ry="4.1593032" 1355 ry="4.1593032"
1433 rx="4.1581793" 1356 rx="4.1581793"
1434 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1357 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1435 id="ellipse12282" 1358 id="ellipse12282"
1436 cx="566.20697" 1359 cx="188.79234"
1437 cy="800.12549" 1360 cy="247.58429"
1438 inkscape:transform-center-x="9.5306006" 1361 inkscape:transform-center-x="9.5306006"
1439 inkscape:transform-center-y="-10.72485" /> 1362 inkscape:transform-center-y="-10.72485" />
1440 <ellipse 1363 <ellipse
1441 transform="translate(-387.41463,-542.5412)"
1442 ry="4.1593032" 1364 ry="4.1593032"
1443 rx="4.1581793" 1365 rx="4.1581793"
1444 cy="751.63794" 1366 cy="199.09674"
1445 cx="500.64822" 1367 cx="123.2336"
1446 id="ellipse12276" 1368 id="ellipse12276"
1447 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1369 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1448 <ellipse 1370 <ellipse
1449 transform="translate(-387.41463,-542.5412)"
1450 ry="4.1593032" 1371 ry="4.1593032"
1451 rx="4.1581793" 1372 rx="4.1581793"
1452 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1373 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1453 id="ellipse12278" 1374 id="ellipse12278"
1454 cx="533.33447" 1375 cx="155.91985"
1455 cy="751.72632" /> 1376 cy="199.18512" />
1456 <ellipse 1377 <ellipse
1457 transform="translate(-387.41463,-542.5412)"
1458 ry="4.1593032" 1378 ry="4.1593032"
1459 rx="4.1581793" 1379 rx="4.1581793"
1460 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1380 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1461 id="ellipse12262" 1381 id="ellipse12262"
1462 cx="450.75012" 1382 cx="73.335495"
1463 cy="699.83545" /> 1383 cy="147.29425" />
1464 <ellipse 1384 <ellipse
1465 transform="translate(-387.41463,-542.5412)"
1466 ry="4.1593032" 1385 ry="4.1593032"
1467 rx="4.1581793" 1386 rx="4.1581793"
1468 cy="700.59174" 1387 cy="148.05054"
1469 cx="476.07718" 1388 cx="98.662552"
1470 id="ellipse12268" 1389 id="ellipse12268"
1471 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1390 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1472 <ellipse 1391 <ellipse
1473 transform="translate(-387.41463,-542.5412)"
1474 ry="4.1593032" 1392 ry="4.1593032"
1475 rx="4.1581793" 1393 rx="4.1581793"
1476 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1394 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1477 id="ellipse12270" 1395 id="ellipse12270"
1478 cx="521.49146" 1396 cx="144.07683"
1479 cy="719.65314" /> 1397 cy="167.11194" />
1480 <ellipse 1398 <ellipse
1481 transform="translate(-387.41463,-542.5412)"
1482 ry="4.1593032" 1399 ry="4.1593032"
1483 rx="4.1581793" 1400 rx="4.1581793"
1484 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1401 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1485 id="ellipse12274" 1402 id="ellipse12274"
1486 cx="500.6362" 1403 cx="123.22157"
1487 cy="703.87305" /> 1404 cy="151.33185" />
1488 <ellipse 1405 <ellipse
1489 ry="4.1593032" 1406 ry="4.1593032"
1490 rx="4.1581793" 1407 rx="4.1581793"
1491 inkscape:transform-center-y="-10.724852" 1408 inkscape:transform-center-y="-10.724852"
1492 inkscape:transform-center-x="9.5305947" 1409 inkscape:transform-center-x="9.5305947"
1493 cy="134.28851" 1410 cy="124.28851"
1494 cx="211.9584" 1411 cx="221.9584"
1495 id="ellipse12292" 1412 id="ellipse12292"
1496 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1413 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1497 <ellipse 1414 <ellipse
1498 transform="translate(-387.41463,-542.5412)"
1499 ry="4.1593032" 1415 ry="4.1593032"
1500 rx="4.1581793" 1416 rx="4.1581793"
1501 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1417 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1502 id="ellipse12286" 1418 id="ellipse12286"
1503 cx="576.62964" 1419 cx="199.21501"
1504 cy="713.44794" 1420 cy="160.90674"
1505 inkscape:transform-center-x="9.5305633" 1421 inkscape:transform-center-x="9.5305633"
1506 inkscape:transform-center-y="-10.724851" /> 1422 inkscape:transform-center-y="-10.724851" />
1507 <ellipse 1423 <ellipse
1508 ry="4.1593032" 1424 ry="4.1593032"
1509 rx="4.1581793" 1425 rx="4.1581793"
1510 cy="123.16669" 1426 cy="113.16669"
1511 cx="43.166531" 1427 cx="53.166531"
1512 id="ellipse12260" 1428 id="ellipse12260"
1513 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1429 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1514 <ellipse 1430 <ellipse
@@ -1516,105 +1432,97 @@
1516 rx="4.1581793" 1432 rx="4.1581793"
1517 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1433 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1518 id="ellipse12266" 1434 id="ellipse12266"
1519 cx="98.865997" 1435 cx="108.866"
1520 cy="129.43542" /> 1436 cy="119.43542" />
1521 <ellipse 1437 <ellipse
1522 ry="4.1593032" 1438 ry="4.1593032"
1523 rx="4.1581793" 1439 rx="4.1581793"
1524 inkscape:transform-center-y="-10.724835" 1440 inkscape:transform-center-y="-10.724835"
1525 inkscape:transform-center-x="9.5305988" 1441 inkscape:transform-center-x="9.5305988"
1526 cy="130.05022" 1442 cy="120.05022"
1527 cx="267.08618" 1443 cx="277.08618"
1528 id="ellipse12296" 1444 id="ellipse12296"
1529 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1445 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1530 <ellipse 1446 <ellipse
1531 transform="translate(-387.41463,-542.5412)"
1532 ry="4.1593032" 1447 ry="4.1593032"
1533 rx="4.1581793" 1448 rx="4.1581793"
1534 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1449 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1535 id="ellipse12298" 1450 id="ellipse12298"
1536 cx="679.07196" 1451 cx="301.65732"
1537 cy="686.22339" 1452 cy="133.68219"
1538 inkscape:transform-center-x="9.5305824" 1453 inkscape:transform-center-x="9.5305824"
1539 inkscape:transform-center-y="-10.724798" /> 1454 inkscape:transform-center-y="-10.724798" />
1540 <ellipse 1455 <ellipse
1541 transform="translate(-387.41463,-542.5412)"
1542 ry="4.1593032" 1456 ry="4.1593032"
1543 rx="4.1581793" 1457 rx="4.1581793"
1544 inkscape:transform-center-y="-10.724843" 1458 inkscape:transform-center-y="-10.724843"
1545 inkscape:transform-center-x="9.5305819" 1459 inkscape:transform-center-x="9.5305819"
1546 cy="748.99109" 1460 cy="196.44989"
1547 cx="577.00763" 1461 cx="199.593"
1548 id="ellipse12288" 1462 id="ellipse12288"
1549 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1463 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1550 <ellipse 1464 <ellipse
1551 transform="translate(-387.41463,-542.5412)"
1552 ry="4.1593032" 1465 ry="4.1593032"
1553 rx="4.1581793" 1466 rx="4.1581793"
1554 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1467 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1555 id="ellipse12302" 1468 id="ellipse12302"
1556 cx="577.00763" 1469 cx="199.593"
1557 cy="748.99109" 1470 cy="196.44989"
1558 inkscape:transform-center-x="9.5305819" 1471 inkscape:transform-center-x="9.5305819"
1559 inkscape:transform-center-y="-10.724843" /> 1472 inkscape:transform-center-y="-10.724843" />
1560 <ellipse 1473 <ellipse
1561 transform="translate(-387.41463,-542.5412)"
1562 ry="4.1593032" 1474 ry="4.1593032"
1563 rx="4.1581793" 1475 rx="4.1581793"
1564 inkscape:transform-center-y="-10.724843" 1476 inkscape:transform-center-y="-10.724843"
1565 inkscape:transform-center-x="9.5305819" 1477 inkscape:transform-center-x="9.5305819"
1566 cy="748.99109" 1478 cy="196.44989"
1567 cx="577.07013" 1479 cx="199.6555"
1568 id="ellipse12304" 1480 id="ellipse12304"
1569 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1481 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1570 <ellipse 1482 <ellipse
1571 transform="translate(0,-3e-6)"
1572 ry="4.1593032" 1483 ry="4.1593032"
1573 rx="4.1581793" 1484 rx="4.1581793"
1574 cy="133.85095" 1485 cy="123.85095"
1575 cx="22.887779" 1486 cx="32.887779"
1576 id="ellipse12264" 1487 id="ellipse12264"
1577 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1488 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1578 <ellipse 1489 <ellipse
1579 transform="translate(-387.41463,-542.5412)"
1580 ry="4.1593032" 1490 ry="4.1593032"
1581 rx="4.1581793" 1491 rx="4.1581793"
1582 cy="682.1922" 1492 cy="129.651"
1583 cx="462.47165" 1493 cx="85.057022"
1584 id="ellipse12272" 1494 id="ellipse12272"
1585 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1495 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1586 <ellipse 1496 <ellipse
1587 transform="translate(-387.41463,-542.5412)"
1588 ry="4.1593032" 1497 ry="4.1593032"
1589 rx="4.1581793" 1498 rx="4.1581793"
1590 inkscape:transform-center-y="-10.724829" 1499 inkscape:transform-center-y="-10.724829"
1591 inkscape:transform-center-x="9.5306165" 1500 inkscape:transform-center-x="9.5306165"
1592 cy="647.3053" 1501 cy="94.764099"
1593 cx="694.58264" 1502 cx="317.168"
1594 id="ellipse12300" 1503 id="ellipse12300"
1595 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 1504 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
1596 <ellipse 1505 <ellipse
1597 transform="translate(-387.41463,-542.5412)"
1598 ry="4.1593032" 1506 ry="4.1593032"
1599 rx="4.1581793" 1507 rx="4.1581793"
1600 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 1508 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
1601 id="ellipse12258-3-0" 1509 id="ellipse12258-3-0"
1602 cx="649.61285" 1510 cx="272.19821"
1603 cy="628.31934" /> 1511 cy="75.778137" />
1604 </g> 1512 </g>
1605 <g 1513 <g
1606 inkscape:groupmode="layer" 1514 inkscape:groupmode="layer"
1607 id="layer6" 1515 id="layer6"
1608 inkscape:label="gnu:net no:des red" 1516 inkscape:label="gnu:net no:des red"
1609 style="display:none" 1517 style="display:none"
1610 transform="translate(0,-20)"> 1518 sodipodi:insensitive="true">
1611 <ellipse 1519 <ellipse
1612 ry="4.1593032" 1520 ry="4.1593032"
1613 rx="4.1581793" 1521 rx="4.1581793"
1614 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139" 1522 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
1615 id="ellipse12282-8-9-0" 1523 id="ellipse12282-8-9-0"
1616 cx="159.80099" 1524 cx="169.80099"
1617 cy="276.32968" 1525 cy="266.32968"
1618 inkscape:transform-center-x="9.5306006" 1526 inkscape:transform-center-x="9.5306006"
1619 inkscape:transform-center-y="-10.72485" /> 1527 inkscape:transform-center-y="-10.72485" />
1620 <ellipse 1528 <ellipse
@@ -1622,13 +1530,13 @@
1622 rx="4.1581793" 1530 rx="4.1581793"
1623 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139" 1531 style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
1624 id="ellipse12282-8-9" 1532 id="ellipse12282-8-9"
1625 cx="159.80099" 1533 cx="169.80099"
1626 cy="259.99252" 1534 cy="249.99252"
1627 inkscape:transform-center-x="9.5306006" 1535 inkscape:transform-center-x="9.5306006"
1628 inkscape:transform-center-y="-10.72485" /> 1536 inkscape:transform-center-y="-10.72485" />
1629 </g> 1537 </g>
1630 <g 1538 <g
1631 transform="translate(-387.41463,-609.81931)" 1539 transform="translate(-387.41463,-589.81931)"
1632 style="display:inline" 1540 style="display:inline"
1633 inkscape:groupmode="layer" 1541 inkscape:groupmode="layer"
1634 id="g975" 1542 id="g975"
@@ -1636,7 +1544,8 @@
1636 <g 1544 <g
1637 aria-label="gnu net" 1545 aria-label="gnu net"
1638 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#fffefe;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto" 1546 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#fffefe;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto"
1639 id="text973"> 1547 id="text973"
1548 transform="translate(10,-10)">
1640 <path 1549 <path
1641 d="m 489.62118,868.96318 q 0,2.375 -0.81641,4.23046 -0.81641,1.85547 -2.30078,3.14193 -1.45964,1.28646 -3.46354,1.95443 -1.97917,0.69271 -4.42839,0.69271 -6.01172,0 -10.26693,-3.63672 l 2.42448,-3.95834 q 3.53776,3.04297 7.84245,3.04297 2.64714,0 4.25521,-1.31119 1.63281,-1.28646 1.63281,-4.0573 v -2.47395 q -1.58333,1.36067 -3.04297,2.02864 -1.45963,0.64323 -3.38932,0.64323 -2.22656,0 -4.13151,-0.9401 -1.90495,-0.94011 -3.29037,-2.54818 -1.36067,-1.63281 -2.15234,-3.78516 -0.76693,-2.15234 -0.76693,-4.57682 0,-2.42448 0.76693,-4.57682 0.79167,-2.17709 2.15234,-3.76042 1.38542,-1.60807 3.29037,-2.52344 1.90495,-0.9401 4.13151,-0.9401 1.92969,0 3.4388,0.66797 1.50912,0.64323 2.99349,1.95442 v -2.07812 h 5.1211 z m -5.1211,-16.67448 q -0.91536,-1.01433 -2.375,-1.53386 -1.43489,-0.54427 -2.79557,-0.54427 -2.89453,0 -4.70052,2.02865 -1.78125,2.02864 -1.78125,5.17057 0,1.55859 0.47005,2.89453 0.49479,1.3112 1.33594,2.27604 0.86588,0.96485 2.05338,1.53386 1.21224,0.54427 2.6224,0.54427 1.36068,0 2.79557,-0.54427 1.45964,-0.56901 2.375,-1.58334 z" 1550 d="m 489.62118,868.96318 q 0,2.375 -0.81641,4.23046 -0.81641,1.85547 -2.30078,3.14193 -1.45964,1.28646 -3.46354,1.95443 -1.97917,0.69271 -4.42839,0.69271 -6.01172,0 -10.26693,-3.63672 l 2.42448,-3.95834 q 3.53776,3.04297 7.84245,3.04297 2.64714,0 4.25521,-1.31119 1.63281,-1.28646 1.63281,-4.0573 v -2.47395 q -1.58333,1.36067 -3.04297,2.02864 -1.45963,0.64323 -3.38932,0.64323 -2.22656,0 -4.13151,-0.9401 -1.90495,-0.94011 -3.29037,-2.54818 -1.36067,-1.63281 -2.15234,-3.78516 -0.76693,-2.15234 -0.76693,-4.57682 0,-2.42448 0.76693,-4.57682 0.79167,-2.17709 2.15234,-3.76042 1.38542,-1.60807 3.29037,-2.52344 1.90495,-0.9401 4.13151,-0.9401 1.92969,0 3.4388,0.66797 1.50912,0.64323 2.99349,1.95442 v -2.07812 h 5.1211 z m -5.1211,-16.67448 q -0.91536,-1.01433 -2.375,-1.53386 -1.43489,-0.54427 -2.79557,-0.54427 -2.89453,0 -4.70052,2.02865 -1.78125,2.02864 -1.78125,5.17057 0,1.55859 0.47005,2.89453 0.49479,1.3112 1.33594,2.27604 0.86588,0.96485 2.05338,1.53386 1.21224,0.54427 2.6224,0.54427 1.36068,0 2.79557,-0.54427 1.45964,-0.56901 2.375,-1.58334 z"
1642 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous Pro';-inkscape-font-specification:'Anonymous Pro Bold';fill:#fffefe;fill-opacity:1;stroke-width:1.03365779px" 1551 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous Pro';-inkscape-font-specification:'Anonymous Pro Bold';fill:#fffefe;fill-opacity:1;stroke-width:1.03365779px"
diff --git a/static/pdf/flyer2017.pdf b/static/pdf/flyer2017.pdf
deleted file mode 100644
index 5776895e..00000000
--- a/static/pdf/flyer2017.pdf
+++ /dev/null
Binary files differ
diff --git a/static/scroll.css b/static/scroll.css
new file mode 100644
index 00000000..b36c841f
--- /dev/null
+++ b/static/scroll.css
@@ -0,0 +1,49 @@
1#jump-top {
2 position: fixed;
3 bottom: 20px;
4 right: 20px;
5 background: rgb(0, 0, 0);
6 background: rgba(0, 0, 0, 0.7);
7 width: 50px;
8 height: 50px;
9 display: block;
10 text-decoration: none;
11 -webkit-border-radius: 35px;
12 -moz-border-radius: 35px;
13 border-radius: 35px;
14 display: none;
15 -webkit-transition: all 0.3s linear;
16 -moz-transition: all 0.3s ease;
17 -ms-transition: all 0.3s ease;
18 -o-transition: all 0.3s ease;
19 transition: all 0.3s ease;
20}
21#jump-top i {
22 color: #fff;
23 margin: 0;
24 position: relative;
25 left: 16px;
26 top: 13px;
27 font-size: 19px;
28 -webkit-transition: all 0.3s ease;
29 -moz-transition: all 0.3s ease;
30 -ms-transition: all 0.3s ease;
31 -o-transition: all 0.3s ease;
32 transition: all 0.3s ease;
33}
34
35#jump-top:hover {
36 background: rgba(0, 0, 0, 0.9);
37}
38#jump-top:hover i {
39 color: #fff;
40 top: 5px;
41}
42/*
43.jump-top {
44 position: fixed;
45 bottom: 35px;
46 right: 35px;
47 display: none;
48}
49*/
diff --git a/static/scroll.js b/static/scroll.js
new file mode 100644
index 00000000..1180588a
--- /dev/null
+++ b/static/scroll.js
@@ -0,0 +1,12 @@
1$(window).scroll(function() {
2 if ($(this).scrollTop() >= 50) {
3 $('#jump-top').fadeIn(200);
4 } else {
5 $('#jump-top').fadeOut(200);
6 }
7});
8$('#jump-top').click(function() {
9 $('html').animate({
10 scrollTop : 0
11 }, 500);
12});
diff --git a/static/styles.css b/static/styles.css
new file mode 100644
index 00000000..5979d21a
--- /dev/null
+++ b/static/styles.css
@@ -0,0 +1,317 @@
1.static-top {
2 position: fixed;
3 top: 0;
4 right: 0;
5 left: 0;
6 z-index: 3; }
7
8.skip {
9 display: none !important;
10 position: absolute;
11 top: 0;
12 left: 0;
13 width: 100%;
14 font-size: .857143em; }
15 .skip li {
16 position: absolute;
17 z-index: 1;
18 margin: 0; }
19 .skip a {
20 position: absolute;
21 left: -9999px; }
22 .skip a:active, .skip a:focus {
23 display: block;
24 position: static;
25 left: 0;
26 padding: .25em 1em; }
27
28.near-white {
29 color: #f4f4f4 !important; }
30
31.near-black {
32 color: #111; }
33
34.dark-grey {
35 color: #333; }
36
37.blue {
38 color: #357edd; }
39
40.bg-near-white {
41 background-color: #f4f4f4; }
42
43.bg-near-black {
44 background-color: #111; }
45
46code {
47 margin-bottom: 1em;
48 word-wrap: break-word; }
49
50a.btn {
51 text-decoration: none !important;
52 color: white !important;
53}
54a.btn:link, a.btn:visited {
55 text-decoration: none !important;
56 color: white !important;
57}
58
59.bluebox a:link, .bluebox a:visited {
60 text-decoration: underline !important;
61 color: #f4f4f4 !important;
62}
63
64h6.description {
65 font-weight: bold;
66 letter-spacing: 2px;
67 color: #999;
68 border-bottom: 1px solid rgba(0, 0, 0, 0.1);
69 padding-bottom: 5px; }
70
71.profile {
72 margin-top: 25px; }
73 .profile h1 {
74 font-weight: normal;
75 font-size: 20px;
76 margin: 10px 0 0 0; }
77 .profile h2 {
78 font-size: 14px;
79 font-weight: lighter;
80 margin-top: 5px; }
81 .profile .img-box {
82 opacity: 1;
83 display: block;
84 position: relative;
85 min-height: 160px; }
86 .profile .img-box:after {
87 content: "";
88 opacity: 0;
89 background-color: rgba(0, 0, 0, 0.75);
90 position: absolute;
91 right: 0;
92 left: 0;
93 top: 0;
94 bottom: 0; }
95 .profile .img-none {
96 text-align: center; }
97 .profile .img-none i.fa {
98 color: #eee;
99 font-size: 8em; }
100
101.img-box ul {
102 position: absolute;
103 z-index: 2;
104 bottom: 50px;
105 text-align: center;
106 width: 100%;
107 padding-left: 0px;
108 height: 0px;
109 margin: 0px;
110 opacity: 0; }
111
112.profile .img-box:after {
113 -webkit-transition: all 0.5s ease-in-out 0s;
114 -moz-transition: all 0.5s ease-in-out 0s;
115 transition: all 0.5s ease-in-out 0s; }
116
117.img-box ul {
118 -webkit-transition: all 0.5s ease-in-out 0s;
119 -moz-transition: all 0.5s ease-in-out 0s;
120 transition: all 0.5s ease-in-out 0s; }
121 .img-box ul li {
122 -webkit-transition: all 0.5s ease-in-out 0s;
123 -moz-transition: all 0.5s ease-in-out 0s;
124 transition: all 0.5s ease-in-out 0s; }
125 .img-box ul i {
126 font-size: 20px;
127 letter-spacing: 10px; }
128 .img-box ul li {
129 width: 30px;
130 height: 30px;
131 text-align: center;
132 color: #88C425;
133 margin: 2px;
134 padding: 5px;
135 display: inline-block; }
136
137.img-box a {
138 color: #fff; }
139
140.img-box:hover:after, .img-box:hover ul {
141 opacity: 1; }
142
143.img-box ul a {
144 -webkit-transition: all 0.3s ease-in-out 0s;
145 -moz-transition: all 0.3s ease-in-out 0s;
146 transition: all 0.3s ease-in-out 0s; }
147
148.img-box a:hover li {
149 border-color: #fff;
150 color: #88C425; }
151
152i.red {
153 color: #BC0213; }
154
155.btn-primary {
156 color: #fff;
157 background-color: #678;
158 border-color: #68a; }
159
160img.distro-logo {
161 height: 150px; }
162
163a.btn:hover {
164 transition: background-color 0.7s;
165 background-color: #217fae;
166 border-color: #fff;
167 color: white !important; }
168
169body .banner {
170 color: white;
171 padding-top: 20px;
172 padding-bottom: 20px; }
173
174#body_content .banner a {
175 color: white; }
176
177.lang-slector {
178 float: right;
179 padding-top: 2mm;
180 padding-bottom: 4mm;
181 margin-left: 15px;
182 margin-right: 15px; }
183
184html {
185 overflow-y: scroll; }
186
187.dark {
188 background-color: #333;
189 color: white; }
190
191.c_acronym {
192 background-color: #419edb;
193 color: white; }
194 .c_acronym a {
195 color: #c1d9f5; }
196
197footer a {
198 text-decoration: underline;
199 color: white; }
200 footer a:link, footer a:visited {
201 text-decoration: underline;
202 color: white; }
203 footer a:hover {
204 transition: background-color 0.3s;
205 background-color: rgba(100, 100, 100, 0.5); }
206
207.c_intro {
208 min-height: 97vh; }
209
210.in .nav-lang {
211 display: none; }
212
213.mobile-lang {
214 margin-left: 5px;
215 margin-top: 8px; }
216
217#mybody {
218 color: black; }
219
220.btn-dark {
221 background-color: #999; }
222
223#mybody nav {
224 border-radius: 0px;
225 padding: 10px; }
226
227.index-logo {
228 text-align: center; }
229
230footer {
231 padding: 2em; }
232
233#body_content {
234 min-height: 80vh; }
235 #body_content .container-wide {
236 margin-bottom: 2em;
237 padding-top: 1em;
238 padding-bottom: 1em;
239 padding-left: 2em;
240 padding-right: 2em; }
241 #body_content .container {
242 padding-top: 1em;
243 padding-bottom: 1em;
244 padding-left: 2em;
245 padding-right: 2em;
246 max-width: 80em; }
247 #body_content .jumbotron {
248 margin-bottom: 0px; }
249
250.adorn_h3_bracket h3::before {
251 content: "#";
252 color: #333;
253 margin-right: 0.5em; }
254
255.footer-list {
256 list-style: none; }
257
258.cushion-above {
259 padding-top: 2em; }
260
261.cushion-below {
262 padding-bottom: 2em; }
263
264.invert {
265 -webkit-filter: invert(100%);
266 filter: invert(100%); }
267
268.row {
269 min-width: 50%; }
270
271header {
272 text-align: center;
273 margin-top: 30px;
274 margin-bottom: 50px; }
275
276.alert {
277 display: flex;
278 overflow: hidden;
279 background-color: #c4453c;
280 width: 100%;
281 align-items: center;
282 justify-content: center;
283 padding: 0.1em; }
284
285.alert-content {
286 color: #f6f6f6;
287 font: bold 16px/40px sans-serif;
288 text-align: center;
289 text-decoration: none; }
290
291.subnav a.nav-link:link, .subnav a.nav-link:visited {
292 color: #419edb !important; }
293
294a.subnav-anchor {
295 position: relative;
296 top: -80px; }
297
298.item-preview:link .item-previewvisited {
299 text-decoration: none;
300 color: #212529;
301 display: block;
302 padding: 10px 15px;
303 text-align: left; }
304
305.item-preview:active .item-preview:focus .item-preview:hover {
306 background-color: #F4BB15; }
307
308.item-preview h3 {
309 font-size: 1em;
310 font-weight: bold;
311 margin: 0px; }
312
313.item-preview p {
314 word-wrap: break-word; }
315
316.item-date {
317 font-size: 0.9em; }
diff --git a/static/styles.sass b/static/styles.sass
deleted file mode 100644
index d554d723..00000000
--- a/static/styles.sass
+++ /dev/null
@@ -1,334 +0,0 @@
1.static-top
2 position: fixed
3 top: 0
4 right: 0
5 left: 0
6 z-index: 3
7
8.skip
9 display: none !important
10 position: absolute
11 top: 0
12 left: 0
13 width: 100%
14 font-size: .857143em
15 li
16 position: absolute
17 z-index: 1
18 margin: 0
19 a
20 position: absolute
21 left: -9999px
22 &:active, &:focus
23 display: block
24 position: static
25 left: 0
26 padding: .25em 1em
27
28// text colors
29
30// blunt-force priority, works for now.
31.near-white
32 color: #f4f4f4 !important
33
34.near-black
35 color: #111
36
37.dark-grey
38 color: #333
39
40.blue
41 color: #357edd
42
43// background colors
44
45.bg-near-white
46 background-color: #f4f4f4
47
48.bg-near-black
49 background-color: #111
50
51code
52 margin-bottom: 1em
53 word-wrap: break-word
54
55// hyperlinks and buttons
56
57//#body_content a
58// text-decoration: underline
59// color: #357edd
60// &:link, &:visited
61// text-decoration: underline
62// color: #357edd
63
64a.btn
65 text-decoration: none !important
66 color: white !important
67 &:link, &:visited
68 text-decoration: none !important
69 color: white !important
70
71h6.description
72 font-weight: bold
73 letter-spacing: 2px
74 color: #999
75 border-bottom: 1px solid rgba(0, 0, 0, 0.1)
76 padding-bottom: 5px
77
78.profile
79 margin-top: 25px
80 h1
81 font-weight: normal
82 font-size: 20px
83 margin: 10px 0 0 0
84 h2
85 font-size: 14px
86 font-weight: lighter
87 margin-top: 5px
88 .img-box
89 opacity: 1
90 display: block
91 position: relative
92 min-height: 160px
93 &:after
94 content: ""
95 opacity: 0
96 background-color: rgba(0, 0, 0, 0.75)
97 position: absolute
98 right: 0
99 left: 0
100 top: 0
101 bottom: 0
102 .img-none
103 text-align: center
104 i.fa
105 color: #eee
106 font-size: 8em
107
108.img-box ul
109 position: absolute
110 z-index: 2
111 bottom: 50px
112 text-align: center
113 width: 100%
114 padding-left: 0px
115 height: 0px
116 margin: 0px
117 opacity: 0
118
119.profile .img-box:after
120 -webkit-transition: all 0.5s ease-in-out 0s
121 -moz-transition: all 0.5s ease-in-out 0s
122 transition: all 0.5s ease-in-out 0s
123
124.img-box
125 ul
126 -webkit-transition: all 0.5s ease-in-out 0s
127 -moz-transition: all 0.5s ease-in-out 0s
128 transition: all 0.5s ease-in-out 0s
129 li
130 -webkit-transition: all 0.5s ease-in-out 0s
131 -moz-transition: all 0.5s ease-in-out 0s
132 transition: all 0.5s ease-in-out 0s
133 i
134 font-size: 20px
135 letter-spacing: 10px
136 li
137 width: 30px
138 height: 30px
139 text-align: center
140 color: #88C425
141 margin: 2px
142 padding: 5px
143 display: inline-block
144 a
145 color: #fff
146 &:hover
147 &:after, ul
148 opacity: 1
149 ul a
150 -webkit-transition: all 0.3s ease-in-out 0s
151 -moz-transition: all 0.3s ease-in-out 0s
152 transition: all 0.3s ease-in-out 0s
153 a:hover li
154 border-color: #fff
155 color: #88C425
156
157i.red
158 color: #BC0213
159
160.btn-primary
161 color: #fff
162 background-color: #678
163 border-color: #68a
164
165img.distro-logo
166 height: 150px
167
168a.btn:hover
169 transition: background-color 0.7s
170 background-color: #217fae
171 border-color: #fff
172 color: white !important
173
174body .banner
175 color: white
176 padding-top: 20px
177 padding-bottom: 20px
178
179#body_content .banner a
180 color: white
181
182.lang-slector
183 float: right
184 padding-top: 2mm
185 padding-bottom: 4mm
186 margin-left: 15px
187 margin-right: 15px
188
189html
190 overflow-y: scroll
191
192.dark
193 background-color: #333
194 color: white
195
196.c_acronym
197 background-color: #419edb
198 color: white
199 a
200 &:link &:visited
201 color: #c1d9f5
202
203footer a
204 text-decoration: underline
205 color: white
206 &:link, &:visited
207 text-decoration: underline
208 color: white
209 &:hover
210 transition: background-color 0.3s
211 background-color: rgba(100, 100, 100, 0.5)
212
213.c_intro
214 min-height: 97vh
215
216// don't show the language selector in the dropdown on mobile devices,
217// since it's in the top bar already.
218
219.in .nav-lang
220 display: none
221
222.mobile-lang
223 margin-left: 5px
224 margin-top: 8px
225
226#mybody
227 // override ugly bootstrap defaults
228 color: black
229
230.btn-dark
231 background-color: #999
232
233#mybody nav
234 border-radius: 0px
235 padding: 10px
236
237.index-logo
238 text-align: center
239
240footer
241 padding: 2em
242
243#body_content
244 .container-wide
245 margin-bottom: 2em
246 padding-top: 1em
247 padding-bottom: 1em
248 padding-left: 2em
249 padding-right: 2em
250 .container
251 padding-top: 1em
252 padding-bottom: 1em
253 padding-left: 2em
254 padding-right: 2em
255 max-width: 80em
256 .jumbotron
257 margin-bottom: 0px
258 // push footer down
259 min-height: 80vh
260
261.adorn_h3_bracket h3::before
262 content: "#"
263 color: #333
264 margin-right: 0.5em
265
266.footer-list
267 list-style: none
268
269.cushion-above
270 padding-top: 2em
271
272.cushion-below
273 padding-bottom: 2em
274
275.invert
276 -webkit-filter: invert(100%)
277 filter: invert(100%)
278
279.row
280 min-width: 50%
281
282header
283 text-align: center
284 margin-top: 30px
285 margin-bottom: 50px
286
287// Notification bar at top of index page
288.alert
289 display: flex;
290 overflow: hidden;
291 background-color: #c4453c;
292 width: 100%;
293 align-items: center;
294 justify-content: center;
295 padding: 0.1em
296
297.alert-content
298 //position: absolute;
299 color: #f6f6f6;
300 font: bold 16px/40px sans-serif;
301 text-align: center;
302 text-decoration: none;
303
304
305// Some docs are too long, thus there is a need for a subnav.
306// Use "subnav" class for the submenu.
307// Use "subnav-anchor" class for the a-tags right before a section title.
308.subnav
309 a.nav-link
310 &:link, &:visited
311 color: #419edb !important
312a.subnav-anchor
313 position: relative
314 top: -80px
315
316.item-preview
317 &:link &visited
318 text-decoration: none
319 color: #212529
320 display: block
321 padding: 10px 15px
322 text-align: left
323 &:active &:focus &:hover
324 background-color: #F4BB15
325 h3
326 font-size: 1em
327 font-weight: bold
328 margin: 0px
329
330 p
331 word-wrap: break-word
332
333.item-date
334 font-size: 0.9em
diff --git a/template.py b/template.py
deleted file mode 100755
index 89e48562..00000000
--- a/template.py
+++ /dev/null
@@ -1,304 +0,0 @@
1#!/usr/bin/env python3
2# coding: utf-8
3#
4# Copyright (C) 2017, 2018, 2019 GNUnet e.V.
5#
6# Copying and distribution of this file, with or without modification,
7# are permitted in any medium without royalty provided the copyright
8# notice and this notice are preserved. This file is offered as-is,
9# without any warranty.
10#
11# ----
12#
13# This script runs the jinja2 templating engine on an input template-file
14# using the specified locale for gettext translations, and outputs
15# the resulting (HTML) ouptut-file.
16#
17# Note that the gettext files need to be prepared first. This script
18# is thus to be invoked via the Makefile.
19#
20# We import unicode_literals until people have understood how unicode
21# with bytes and strings changed in python2->python3.
22# from __future__ import unicode_literals
23import os
24import os.path
25import sys
26import re
27import gettext
28import glob
29import codecs
30import jinja2
31import i18nfix
32from pathlib import Path
33import hashlib
34from bs4 import BeautifulSoup
35from ruamel.yaml import YAML
36import html.parser
37
38
39env = jinja2.Environment(loader=jinja2.FileSystemLoader(
40 os.path.dirname(__file__)),
41 extensions=["jinja2.ext.i18n"],
42 lstrip_blocks=True,
43 trim_blocks=True,
44 undefined=jinja2.StrictUndefined,
45 autoescape=False)
46
47
48class extractText(html.parser.HTMLParser):
49 def __init__(self):
50 super(extractText, self).__init__()
51 self.result = []
52 def handle_data(self, data):
53 self.result.append(data)
54 def text_in(self):
55 return ''.join(self.result)
56
57
58def html2text(html):
59 k = extractText()
60 k.feed(html)
61 return k.text_in()
62
63
64def localized(filename, locale, *args):
65 if len(args) == 0:
66 return "../" + locale + "/" + filename
67 ext = kwargs.get('ext', None)
68 if ext is not None:
69 lf = filename + "." + locale + "." + ext
70 lp = Path(lf)
71 if locale == "en" or not lp.is_file():
72 return "../" + filename + "." + ext
73 else:
74 return "../" + lf
75
76
77def fileop(infile, outfile, action):
78 """
79 infile: inputfile, Path object
80 outfile: outputfile, Path object
81 action: action if any, String
82 """
83 i = Path(infile)
84 o = Path(outfile)
85 outdir = Path("rendered")
86 if i.is_file() is not False:
87 if action == "copy":
88 # Write content of i to o.
89 o.write_text(i.read_text())
90 if action == "link":
91 o.symlink_to(i)
92
93
94def write_name(filename, infile, locale, replacer):
95 return "./rendered/" + locale + "/" + infile.replace(replacer,
96 '').rstrip(".j2")
97
98
99def sha256sum(_):
100 sha256 = hashlib.sha256()
101 with io.open(_, mode="rb") as fd:
102 content = fd.read()
103 sha256.update(content)
104 return sha256.hexdigest()
105
106
107def walksum(_):
108 sha256 = hashlib.sha256()
109 x = Path(_)
110 if not x.exists():
111 return -1
112 try:
113 for root, directories, files in os.walk(_):
114 for names in sorted(files):
115 filepath = os.path.join(root, names)
116 try:
117 fl = open(filepath, 'rb')
118 except:
119 fl.close()
120 continue
121 while 1:
122 buf = fl.read(4096)
123 if not buf:
124 break
125 sha256.update(hashlib.sha256(buf).hexdigest())
126 fl.close()
127 except:
128 import traceback
129 traceback.print_exc()
130 return -2
131 return sha256.hexdigest()
132
133
134def rm_rf(directory):
135 directory = Path(directory)
136 for child in directory.glob('*'):
137 if child.is_file():
138 child.unlink()
139 else:
140 rm_rf(child)
141 directory.rmdir()
142
143
144# This generates and switches sites generations, preventing
145# in-place modification of the website.
146# * save old generation directory name
147# * jinja2 creates content in "rendered" (happened before calling this function)
148# * calculate sum of "rendered"
149# * move "rendered" to out/$sum
150# * remove symlink "html_dir"
151# * symlink out/$sum to "html_dir"
152# * delete old generation directory
153def generation_dir(htmldir):
154 oldgen = Path(htmldir).resolve()
155 # precondition: jinja2 has created the files in "rendered".
156 newgen = Path("rendered")
157 newgen_sum = walksum(newgen)
158 outdir = Path("out")
159 outdir.mkdir(parents=True, exist_ok=True)
160 newgen_target = Path("out") / newgen_sum
161 newgen.rename(newgen_target)
162 html = Path(htmldir)
163 html.unlink()
164 fileop(newgen, html, "link")
165 rm_rf(oldgen)
166
167
168def copy_static(locale, indict):
169 for key, value in indict.items():
170 print(locale + "/" + key + " ...to... " + locale + "/" + value)
171
172
173def preview_text(filename, count):
174 with open(filename) as html:
175 # html = open(filename).read()
176 soup = BeautifulSoup(html, features="lxml")
177 for script in soup(["script", "style"]):
178 script.extract()
179 k = []
180 # for i in soup.findAll('p')[1:3]:
181 for i in soup.findAll('p')[1]:
182 k.append(i)
183 b = ''.join(str(e) for e in k)
184 text = html2text(b.replace("\n", ""))
185 textreduced = (text[:count] + '...') if len(text) > count else (text + '..')
186 return(textreduced)
187
188
189def abstract_news(filename, count):
190 return preview_text("news/" + filename + ".j2", count)
191
192
193def generate_site(root, conf):
194 for in_file in glob.glob(root + "/*.j2"):
195 name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups()
196 tmpl = env.get_template(in_file)
197
198 def self_localized(other_locale):
199 """
200 Return URL for the current page in another locale.
201 """
202 return "../" + other_locale + "/" + in_file.replace(
203 root + '/', '').rstrip(".j2")
204
205 def url_localized(filename):
206 if root == "news":
207 return "../../" + locale + "/" + filename
208 else:
209 return "../" + locale + "/" + filename
210
211 def url_static(filename):
212 if root == "news":
213 return "../../static/" + filename
214 else:
215 return "../static/" + filename
216
217 def url_dist(filename):
218 if root == "news":
219 return "../../dist/" + filename
220 else:
221 return "../dist/" + filename
222
223 def svg_localized(filename):
224 lf = filename + "." + locale + ".svg"
225 if locale == "en" or not os.path.isfile(lf):
226 return "../" + filename + ".svg"
227 else:
228 return "../" + lf
229
230 def url(x):
231 # TODO: look at the app root environment variable
232 # TODO: check if file exists
233 #if root == "news":
234 # return "../" + "../" + x
235 #else:
236 # return "../" + x
237 return "../" + x
238
239 for l in glob.glob("locale/*/"):
240 locale = os.path.basename(l[:-1])
241
242 tr = gettext.translation("messages",
243 localedir="locale",
244 languages=[locale])
245
246 tr.gettext = i18nfix.wrap_gettext(tr.gettext)
247
248 env.install_gettext_translations(tr, newstyle=True)
249
250 content = tmpl.render(lang=locale,
251 lang_full=conf["langs_full"][locale],
252 url=url,
253 meetingnotesdata=conf["meetingnotes"],
254 newsdata=conf["newsposts"],
255 videosdata=conf["videoslist"],
256 self_localized=self_localized,
257 url_localized=url_localized,
258 url_static=url_static,
259 url_dist=url_dist,
260 svg_localized=svg_localized,
261 filename=name + "." + ext)
262
263 if root == "news":
264 out_name = "./rendered/" + locale + "/" + root + "/" + in_file.replace(
265 root + '/', '').rstrip(".j2")
266 else:
267 out_name = "./rendered/" + locale + "/" + in_file.replace(
268 root + '/', '').rstrip(".j2")
269
270 outdir = Path("rendered")
271
272 if root == "news":
273 langdir = outdir / locale / root
274 else:
275 langdir = outdir / locale
276
277 langdir.mkdir(parents=True, exist_ok=True)
278
279 with codecs.open(out_name, "w", encoding='utf-8') as f:
280 f.write(content)
281
282
283def main():
284 # rm_rf("rendered")
285 yaml=YAML(typ='safe')
286 site_configfile=Path("www.yml")
287 conf=yaml.load(site_configfile)
288
289 for item in conf["newsposts"]:
290 item['abstract'] = abstract_news(item['page'], 1000)
291 print("generating template")
292 generate_site("template", conf)
293 print("generating news")
294 generate_site("news", conf)
295
296# for l in glob.glob("locale/*/"):
297# locale = os.path.basename(l[:-1])
298# copy_static (locale, staticfiles)
299# generate_rss
300#print("running generation")
301#generation_dir
302
303if __name__ == "__main__":
304 main()
diff --git a/template/engage.html.j2 b/template/engage.html.j2
index bd31d7d1..000396ab 100644
--- a/template/engage.html.j2
+++ b/template/engage.html.j2
@@ -50,7 +50,7 @@
50 </p> 50 </p>
51 <h2>Use GNUnet!</h2> 51 <h2>Use GNUnet!</h2>
52 <p> 52 <p>
53 <a href="use.html">Let's get started...</a> 53 <a href="use.html">Let&#39;s get started...</a>
54 </p> 54 </p>
55 <h2>Report bugs!</h2> 55 <h2>Report bugs!</h2>
56 <p> 56 <p>
@@ -63,11 +63,11 @@
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 with eventual 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&#39;s working as expected, so that we can properly close the bug report and/or give you credits :)</li>
67 </ul> 67 </ul>
68 <h2>Contribute!</h2> 68 <h2>Contribute!</h2>
69 <p> 69 <p>
70 There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it's translations, the bibliography, our wide documentation, and other efforts are most welcome, too.<br> 70 There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it&#39;s translations, the bibliography, our wide documentation, and other efforts are most welcome, too.<br>
71 The core software of GNUnet used to be released with long breaks between releases. Since the 0.11.0 release we try to make releases more regularly. Therefore package maintainers who are interested in working together with an welcoming environment are invited to contribute packages of our software to any OS/PM and request help.<br> 71 The core software of GNUnet used to be released with long breaks between releases. Since the 0.11.0 release we try to make releases more regularly. Therefore package maintainers who are interested in working together with an welcoming environment are invited to contribute packages of our software to any OS/PM and request help.<br>
72 Last but not least designers are welcome to contact us about projects which require help. 72 Last but not least designers are welcome to contact us about projects which require help.
73 </p> 73 </p>
@@ -79,16 +79,13 @@
79 <h2>Bibliography</h2> 79 <h2>Bibliography</h2>
80 <p>If you are more the reading kind of person, please take a seat <a href="https://bib.gnunet.org/">in our library...</a></p> 80 <p>If you are more the reading kind of person, please take a seat <a href="https://bib.gnunet.org/">in our library...</a></p>
81 <h2>Videos</h2> 81 <h2>Videos</h2>
82 <p>...or if you rather want hear us talking to you, lean back and watch some <a href="video.html">videos</a> of our talks at conferences.</p> 82 <p>...or if you rather want hear us talking to you, lean back and watch some <a href="{{ url_localized('video.html') }}">videos</a> of our talks at conferences.</p>
83 </div> 83 </div>
84 <div class="col-md"> 84 <div class="col-md">
85 <h2>Get together!</h2> 85 <h2>Get together!</h2>
86 <p> 86 <p>
87 Occasionally we meet in "meat space", mostly in Germany and 87 Occasionally we meet in "meat space", mostly in Germany and Switzerland. The usual occasions are:
88 Switzerland.
89 The usual occasions are:
90 </p> 88 </p>
91 <!-- ul must stand on its own. See html specs -->
92 <ul> 89 <ul>
93 <li><a href="https://events.ccc.de/congress">Chaos Communication Congress</a> in Leipzig (DE), 27th-30th December</li> 90 <li><a href="https://events.ccc.de/congress">Chaos Communication Congress</a> in Leipzig (DE), 27th-30th December</li>
94 <li><a href="https://datenspuren.de">Datenspuren</a> in Dresden (DE), usually by mid/end of September</li> 91 <li><a href="https://datenspuren.de">Datenspuren</a> in Dresden (DE), usually by mid/end of September</li>
@@ -100,4 +97,3 @@
100 97
101</article> 98</article>
102{% endblock body_content %} 99{% endblock body_content %}
103
diff --git a/template/gns.html.j2 b/template/gns.html.j2
new file mode 100644
index 00000000..9ac34ad2
--- /dev/null
+++ b/template/gns.html.j2
@@ -0,0 +1,63 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<article class="container">
4
5 <header>
6 <center><img style="width: 14em" src="{{ url_static('images/gns-logo.png') }}" alt="GNS" /></center>
7 <h1>{{ _("The GNU Name System") }}</h1>
8 </header>
9
10 <div class="container">
11 <div class="row">
12 <div class="col-md">
13 <h2>{{ _("Motivation") }}</h2>
14 <p>
15 {% trans %}
16 The Domain Name System today enables traffic amplification attacks,
17 censorship (i.e. China), mass surveillance (MORECOWBELL) and offensive
18 cyber war (QUANTUMDNS).<br/>
19 Unfortunately, band aid solutions such as DoT, DoH, DNSSEC, DPRIVE
20 and the like will not fix this. This is why we built the GNU Name
21 System (GNS), a secure, decentralized name system built on top of
22 GNUnet.
23 {% endtrans %}
24 </p>
25
26 </div>
27 <div class="col-md">
28 <h2>{{ _("Overview") }}</h2>
29 <p>
30 The GNU Name System (GNS) is a decentralized database that enables users to securely resolve names to values. Names can be used to identify other users (for example, in social networking), or network services (for example, VPN services running at a peer in GNUnet, or purely IP-based services on the Internet). Users interact with GNS by typing in a hostname that ends in a top-level domain that is configured in the “GNS” section, matches an identity of the user or ends in a Base32-encoded public key.
31 </p>
32 </div>
33 </div>
34
35 <div class="row">
36 <div class="col-md">
37 <h2>{{ _("Features") }}</h2>
38 <p>
39{% trans %}
40The GNU Name System (GNS) is secure and decentralized naming system. It allows its users to register names as top-level domains (TLDs) and resolve other namespaces within their TLDs.
41<br/>
42GNS is designed to provide:
43<ul>
44<li>Censorship resistance</li>
45<li>Query privacy</li>
46<li>Secure name resolution</li>
47<li>Compatibility with DNS</li>
48{% endtrans %}
49</p>
50</div>
51 <div class="col-md">
52 <h2>{{ _("Resources") }}</h2>
53 <p>
54Videos 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/>
55 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>.
56 </p>
57 </div>
58 </div>
59
60 </div>
61
62</article>
63{% endblock body_content %}
diff --git a/template/gsoc-2018-gnunet-webui.html.j2 b/template/gsoc-2018-gnunet-webui.html.j2
index ada000f4..ec65ee5b 100644
--- a/template/gsoc-2018-gnunet-webui.html.j2
+++ b/template/gsoc-2018-gnunet-webui.html.j2
@@ -4,7 +4,7 @@
4 <div class="container"> 4 <div class="container">
5 <div class="text-center"> 5 <div class="text-center">
6 <header> 6 <header>
7 <h1>{{ _("GSoC 2018: GNUnet WebUI") }}</h1> 7 <h1>{{ _("GSoC 2018: GNUnet WebUI (GNUnet Web-based User Interface)") }}</h1>
8 </header> 8 </header>
9 <br /> 9 <br />
10 <p> 10 <p>
@@ -13,21 +13,21 @@
13 {% endtrans %} 13 {% endtrans %}
14 </p> 14 </p>
15 </div> 15 </div>
16 <h4>What was done?</h4>
16 <p> 17 <p>
17 {% trans %} 18 {% trans %}
18 <strong>What was done?</strong><br />
19 In the context of Google Summer of Code 2018, my mentor 19 In the context of Google Summer of Code 2018, my mentor
20 (Martin Schanzenbach) and I have worked on creating and 20 (Martin Schanzenbach) and I have worked on creating and
21 extending the REST API of GNUnet. Currently, we mirrored 21 extending the REST API of GNUnet. Currently, we mirrored
22 the functionality of following commands: 22 the functionality of following commands:
23 {% endtrans %} 23 {% endtrans %}
24 </p> 24 </p>
25 <p> 25 <ul>
26 gnunet-identity<br /> 26 <li>gnunet-identity</li>
27 gnunet-namestore<br /> 27 <li>gnunet-namestore</li>
28 gnunet-gns<br /> 28 <li>gnunet-gns</li>
29 gnunet-peerinfo 29 <li>gnunet-peerinfo</li>
30 </p> 30 </ul>
31 <p> 31 <p>
32 {% trans %} 32 {% trans %}
33 Additionally, we developed a website with the Javascript 33 Additionally, we developed a website with the Javascript
@@ -36,32 +36,33 @@
36 with Sphinx. 36 with Sphinx.
37 {% endtrans %} 37 {% endtrans %}
38 </p> 38 </p>
39 <h4>Why did we create a REST API?</h4>
39 <p> 40 <p>
40 {% trans %} 41 {% trans %}
41 <strong>Why did we create a REST API?</strong><br /> 42 ... when you can use the command line tools? We need to
42 ... when you can use the command line tools?<br /> 43 keep in mind, that everyone has the right to stay secure and
43 We need to keep in mind, that everyone has the right to stay secure 44 private but not everyone feels comfortable using a
44 and private but not everyone feels comfortable using a terminal. The 45 terminal. The further developed REST access to GNUnet APIs
45 further developed REST access to GNUnet APIs in addition to the new 46 in addition to the new web application allows new users to
46 web application allows new users to interact with GNUnet over a well 47 interact with GNUnet over a well known tool: their
47 known tool: their browsers. This addition to the C API and the command 48 browsers. This addition to the C API and the command line
48 line tools may attract new users and developers. 49 tools may attract new users and developers.
49 {% endtrans %} 50 {% endtrans %}
50 </p> 51 </p>
51 <p> 52 <h4>How can we use it?</h4>
52 {% trans %} 53 <ol>
53 <strong>How can we use it?</strong><br />
54 1. The REST API developed in GNUnet<br /> The REST API is
55 already merged into the gnunet.git repository
56 (<a href="https://gnunet.org/git/gnunet.git/">GNUnet Main Git</a>).<br />
57 To use the new features, clone the repository
58 and follow the <a href="https://gnunet.org/en/install.html">Installation</a>
59 on gnunet.org. Then, start the rest service with "gnunet-arm -i rest".
60 {% endtrans %}
61 </p>
62 <p>
63 {% trans %} 54 {% trans %}
64 2. The Web Application<br /> 55 <li>
56 The REST API developed in GNUnet<br> The REST API is
57 already merged into the gnunet.git repository
58 (<a href="https://gnunet.org/git/gnunet.git/">GNUnet Main Git</a>).<br />
59 To use the new features, clone the repository and follow
60 the <a href="https://gnunet.org/en/install.html">Installation</a>
61 on gnunet.org. Then, start the rest service with
62 "gnunet-arm -i rest".
63 </li>
64 <li>
65 The Web Application<br>
65 The web application is available under the gnunet-webui.git 66 The web application is available under the gnunet-webui.git
66 repository 67 repository
67 (<a href="https://gnunet.org/git/gnunet-webui.git/">GNUnet WebUI Git</a>).<br /> 68 (<a href="https://gnunet.org/git/gnunet-webui.git/">GNUnet WebUI Git</a>).<br />
@@ -74,28 +75,27 @@
74 in mind, that this website communicates with another localhost 75 in mind, that this website communicates with another localhost
75 instance) use "yarn build" for building the web application 76 instance) use "yarn build" for building the web application
76 and use the output in the 'dist' directory. 77 and use the output in the 'dist' directory.
77 {% endtrans %} 78 </li>
78 </p> 79 <li>
79 <p> 80 The Documentation<br />
80 {% trans %}
81 3. The Documentation<br />
82 The documentation is available under the gnunet-rest-api.git 81 The documentation is available under the gnunet-rest-api.git
83 repository 82 repository
84 (<a href="https://gnunet.org/git/gnunet-rest-api.git/">GNUnet REST API Docmentation Git</a>).<br /> 83 (<a href="https://gnunet.org/git/gnunet-rest-api.git/">GNUnet REST API Docmentation Git</a>).<br />
85 Clone the repository 84 Clone the repository
86 and "make html". Then open the 'index.html' under 85 and "make html". Then open the 'index.html' under
87 'build/html/'. 86 'build/html/'.
88 {% endtrans %} 87 </li>
89 </p> 88 {% endtrans %}
89 </ol>
90 <p> 90 <p>
91 {% trans %} 91 {% trans %}
92 Please, give it a try and contact me, if you find any 92 Please, give it a try and contact me, if you find any
93 bugs or unintentional features. ;) 93 bugs or unintentional features. ;)
94 {% endtrans %} 94 {% endtrans %}
95 </p> 95 </p>
96 <h4>What can be improved?</h4>
96 <p> 97 <p>
97 {% trans %} 98 {% trans %}
98 <strong>What can be improved?</strong><br />
99 Right now, the build process of the web application may be a 99 Right now, the build process of the web application may be a
100 little too complex for a casual user. We may be able to solve 100 little too complex for a casual user. We may be able to solve
101 this by using docker.<br /> Additionally, the web application 101 this by using docker.<br /> Additionally, the web application
diff --git a/template/index.html.j2 b/template/index.html.j2
index 3386f62c..ee58c593 100644
--- a/template/index.html.j2
+++ b/template/index.html.j2
@@ -1,12 +1,6 @@
1{% extends "common/base.j2" %} 1{% extends "common/base.j2" %}
2{% block body_content %} 2{% block body_content %}
3 {% import 'inc/news.macro.j2' as news %} 3 {% import 'inc/news.macro.j2' as news %}
4<!-- Notice Banner -->
5<div class="alert">
6 <div class="alert-content">
7 Notice: GNUnet is still undergoing major development. It is largely <i>not yet ready</i> for usage beyond developers
8 </div>
9</div>
10<!-- Jumbotron --> 4<!-- Jumbotron -->
11<div class="jumbotron"> 5<div class="jumbotron">
12 <div class="container"> 6 <div class="container">
@@ -57,32 +51,7 @@
57 </div> 51 </div>
58</div> 52</div>
59 53
60<div class="container-fluid"> 54<div class="container-fluid c_acronym link-white bluebox">
61 <div class="container">
62 <div class="row">
63 <div class="container text-center">
64 <h1>{{ _("News") }}<a name="news"></a></h1>
65 </div>
66 </div>
67 {% for item in newsdata[:4] %}
68 <div class="row">
69 <div class="col-lg-12">
70 {{ news.newspreview(item, prefix="news/") }}
71 </div>
72 </div>
73 {% endfor %}
74 <div class="row">
75 <div class="container text-center">
76 <p>
77 Read more of our recent news postings <a href="news/index.html">in the archive</a>.
78 </p>
79 </div>
80 </div>
81 </div>
82</div>
83
84
85<div class="container-fluid c_acronym link-white">
86 <div class="container"> 55 <div class="container">
87 <div class="row"> 56 <div class="row">
88 <div class="container text-center"> 57 <div class="container text-center">
@@ -348,7 +317,7 @@
348 </div> 317 </div>
349</div> 318</div>
350 319
351<div class="container-fluid c_acronym link-white"> 320<div class="container-fluid c_acronym link-white bluebox">
352 <div class="container"> 321 <div class="container">
353 <div class="row"> 322 <div class="row">
354 <div class="container text-center"> 323 <div class="container text-center">
@@ -387,4 +356,28 @@
387 </div> 356 </div>
388 </div> 357 </div>
389</div> 358</div>
359<div class="container-fluid">
360 <div class="container">
361 <div class="row">
362 <div class="container text-center">
363 <h1>{{ _("News") }}<a name="news"></a></h1>
364 </div>
365 </div>
366 {% for item in newsdata[:4] %}
367 <div class="row">
368 <div class="col-lg-12">
369 {{ news.newspreview(item, prefix="news/") }}
370 </div>
371 </div>
372 {% endfor %}
373 <div class="row">
374 <div class="container text-center">
375 <p>
376 <a class="btn btn-primary btn-lg" href="{{ url_localized('news') }}">{{ _("News Archive") }}</a>
377 </p>
378 </div>
379 </div>
380 </div>
381</div>
382
390{% endblock body_content %} 383{% endblock body_content %}
diff --git a/template/install-on-netbsd.html.j2 b/template/install-on-netbsd.html.j2
index adf15033..b36eaa22 100644
--- a/template/install-on-netbsd.html.j2
+++ b/template/install-on-netbsd.html.j2
@@ -10,16 +10,21 @@
10 Welcome to the GNUnet tutorial for NetBSD! 10 Welcome to the GNUnet tutorial for NetBSD!
11 </p> 11 </p>
12 <p> 12 <p>
13 It provides 13 This tutorial provides concrete instructions on how to install a
14 concrete instructions on how to install a current 14 current version of GNUnet. The goal is to support newcomers,
15 version of GNUnet. The goal is to support newcomers, either end users or 15 either users or developers, who want to get in touch with
16 developers, who want to get in touch with GNUnet for the first time. 16 GNUnet for the first time.
17 </p> 17 </p>
18 18
19 <h2>{{ _("Requirements") }}</h2> 19 <h2>{{ _("Requirements") }}</h2>
20 20
21 <p> 21 <p>
22 As a bare minimum, we recommend you install <a href="http://pkgsrc.org">pkgsrc</a>. This tutorial assumes you have the CURRENT version checked out. Additionally you might want to install <code>devel/git-base</code> and git clone <a href="http://pkgsrc.org/wip/">pkgsrc-wip</a> into the <code>wip</code> folder in your pkgsrc folder: 22 As a bare minimum, we recommend you
23 install <a href="http://pkgsrc.org">pkgsrc</a>. This tutorial
24 assumes you have the CURRENT version checked out. Additionally you
25 might want to install <code>devel/git-base</code> and git
26 clone <a href="http://pkgsrc.org/wip/">pkgsrc-wip</a> into
27 the <code>wip</code> folder in your pkgsrc folder:
23 </p> 28 </p>
24 <p> 29 <p>
25 <code> 30 <code>
@@ -27,33 +32,40 @@
27 $ git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip 32 $ git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip
28 </code> 33 </code>
29 </p> 34 </p>
35
30 <h2>{{ _("Installation") }}</h2> 36 <h2>{{ _("Installation") }}</h2>
37
31 <p> 38 <p>
32 Note: $ stands for commands run as unprivileged user, # for commands run as root user. 39 Note: <code>$</code> stands for commands run as unprivileged
40 user, <code>#</code> for commands run as root user (this can be done
41 with security/doas, security/sudo, or just as root).
33 </p> 42 </p>
34 <p> 43 <p>
35 GNUnet is not yet in the pkgsrc tree, it's still in the pkgsrc-wip repository. So if you checked out pkgsrc-wip into <code>/usr/pksrc/wip</code>: 44 GNUnet is not yet in the pkgsrc tree, it&#39;s still in the
45 pkgsrc-wip repository. So if you checked out pkgsrc-wip
46 into <code>/usr/pksrc/wip</code>:
36 </p> 47 </p>
37 <p> 48 <p>
38 <code> 49 <code>
39 $ cd /usr/pkgsrc/wip/gnunet 50 $ cd /usr/pkgsrc/wip/gnunet
40 </code> 51 </code>
41 </p> 52 </p>
42 <p> 53 <p>
43 Before you start building, you might want to review your <code>/etc/mk.conf</code>. I suggest to consider: 54 Before you start building, you might want to review
55 your <code>/etc/mk.conf</code>. I suggest to consider:
44 </p> 56 </p>
45 <ul> 57 <ul>
46 <li>WRKOBJDIR=/usr/work 58 <li>WRKOBJDIR=/usr/work
47 <li>DISTDIR=/usr/distfiles 59 <li>DISTDIR=/usr/distfiles
48 <li>DEPENDS_TARGET=package 60 <li>DEPENDS_TARGET=package
49 <li>UPDATE_TARGET=bin-install 61 <li>UPDATE_TARGET=bin-install
50 <li>ACCEPTABLE_LICENSES+= gnu-agpl-v3 62 <li>ACCEPTABLE_LICENSES+=gnu-agpl-v3
51 <li>MKREPRO=yes 63 <li>MKREPRO=yes
52 </ul> 64 </ul>
53 <p> 65 <p>
54 As we rely on ImageMagick somewhere down our dependency chain 66 As we rely on ImageMagick somewhere down our dependency chain (it
55 (it is one of libextractor's dependencies), you need to set 67 is one of libextractor&#39;s dependencies), you need to set the
56 the following (as of 2019-03-06) as well: 68 following (as of 2019-03-06) as well:
57 </p> 69 </p>
58 <ul> 70 <ul>
59 <li>IGNORE_URL+=https://nvd.nist.gov/vuln/detail/CVE-2018-15607 71 <li>IGNORE_URL+=https://nvd.nist.gov/vuln/detail/CVE-2018-15607
@@ -62,121 +74,122 @@
62 You could however just <code>env ALLOW_VULNERABLE_PACKAGES=1</code> 74 You could however just <code>env ALLOW_VULNERABLE_PACKAGES=1</code>
63 </p> 75 </p>
64 <p> 76 <p>
65 The build process can involve manual installation interruptions for 77 The build process can involve manual installation interruptions for
66 dependencies! 78 dependencies!
67 </p> 79 </p>
68 <p> 80 <p>
69 Then start building: 81 Then start building:
82 <p>
83 <code>
84 $ make package
85 </code>
86 </p>
70 <p> 87 <p>
71 <code> 88 Once you are done, type:
72 $ make package
73 </code>
74 </p>
75 <p>
76 Once you are done, type as root:
77 </p> 89 </p>
78 <p> 90 <p>
79 <code> 91 <code>
80 # make install 92 $ make install
81 </code> 93 </code>
82 </p> 94 </p>
83 <p> 95 <p>
84 or alternatively: 96 or alternatively:
97 <p>
98 <p>
99 <code>
100 # pkg_add /usr/pkgsrc/packages/All/gnunet-0.11.8.tgz
101 </code>
102 </p>
85 <p> 103 <p>
86 <p> 104 And you&#39;re done!.<br>
87 <code> 105 GNUnet has a number of services and features.
88 # pkg_add /usr/pkgsrc/packages/All/gnunet-0.11.0.tgz 106 Please check <a href="https://docs.gnunet.org/">our documentation</a>
89 </code> 107 to learn how to use them. If you find anything odd or bugs, please
108 <a href="https://bugs.gnunet.org">let us know</a>.
90 </p> 109 </p>
91 <p> 110 <p>
92 And you're done!.<br> 111 Note that the rc.d file which is installed is not yet fully functional
93 GNUnet has a number of services and features. 112 and is getting debugged.
94 Please check <a href="https://docs.gnunet.org/">our documentation</a>
95 to learn how to use them. If you find anything odd or bugs, please
96 <a href="https://bugs.gnunet.org">let us know</a>.
97 </p>
98 <p>
99 Note that the rc.d file which is installed is not yet functional.
100 </p> 113 </p>
101 114
102 <h2>{{_("First steps")}}</h2> 115 <h2>{{_("First steps")}}</h2>
103 <p> 116 <p>
104 Congratulations! GNUnet is now installed! Before starting it you 117 Congratulations! GNUnet is now installed! Before starting it you
105 may create a configuration file. By default GNUnet looks in 118 may create a configuration file. By default GNUnet looks in
106 our home directory for the file `~/.config/gnunet.conf`. 119 our home directory for the file `~/.config/gnunet.conf`.
107 Creating the configuation file is optional. For now just create an empty 120 Creating the configuation file is optional. For now just create an empty
108 file which will remind you of the location later if needed: 121 file which will remind you of the location later if needed:
109 </p> 122 </p>
110 <p> 123 <p>
111 <code> 124 <code>
112 $ touch ~/.config/gnunet.conf 125 $ touch ~/.config/gnunet.conf
113 </code> 126 </code>
114 </p> 127 </p>
115 <br /> 128 <br />
116 <p> 129 <p>
117 It's reccomended that you increase your bandwidth restrictions 130 It&#39;s reccomended that you increase your bandwidth restrictions
118 from the acutely low defaults. The example below sets the WAN 131 from the acutely low defaults. The example below sets the WAN
119 and LAN limits to the value "unlimited". 132 and LAN limits to the value "unlimited".
120 </p> 133 </p>
121 <br /> 134 <br />
122 <code> 135 <code>
123 $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br /> 136 $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
124 $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br /> 137 $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
125 $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br /> 138 $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
126 $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br /> 139 $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
127 </code> 140 </code>
128 <br /> 141 <br />
129 <p> 142 <p>
130 GNUnet and its services are managed using the command line tool `gnunet-arm` 143 GNUnet and its services are managed using the command line tool `gnunet-arm`
131 (Automatic Restart Manager). 144 (Automatic Restart Manager).
132 <br/> 145 <br/>
133 To start GNUnet with its default services execute: 146 To start GNUnet with its default services execute:
134 </p> 147 </p>
135 <p> 148 <p>
136 <code> 149 <code>
137 $ gnunet-arm -s 150 $ gnunet-arm -s
138 </code> 151 </code>
139 </p> 152 </p>
140 153
141 <p> 154 <p>
142 To list the running services use: 155 To list the running services use:
143 </p> 156 </p>
144 <p> 157 <p>
145 <code> 158 <code>
146 $ gnunet-arm -I<br> 159 $ gnunet-arm -I<br>
147 Running services:<br> 160 Running services:<br>
148 ats (gnunet-service-ats)<br> 161 ats (gnunet-service-ats)<br>
149 revocation (gnunet-service-revocation)<br> 162 revocation (gnunet-service-revocation)<br>
150 set (gnunet-service-set)<br> 163 set (gnunet-service-set)<br>
151 nat (gnunet-service-nat)<br> 164 nat (gnunet-service-nat)<br>
152 transport (gnunet-service-transport)<br> 165 transport (gnunet-service-transport)<br>
153 peerstore (gnunet-service-peerstore)<br> 166 peerstore (gnunet-service-peerstore)<br>
154 hostlist (gnunet-daemon-hostlist)<br> 167 hostlist (gnunet-daemon-hostlist)<br>
155 identity (gnunet-service-identity)<br> 168 identity (gnunet-service-identity)<br>
156 namecache (gnunet-service-namecache)<br> 169 namecache (gnunet-service-namecache)<br>
157 peerinfo (gnunet-service-peerinfo)<br> 170 peerinfo (gnunet-service-peerinfo)<br>
158 datastore (gnunet-service-datastore)<br> 171 datastore (gnunet-service-datastore)<br>
159 zonemaster (gnunet-service-zonemaster)<br> 172 zonemaster (gnunet-service-zonemaster)<br>
160 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br> 173 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
161 nse (gnunet-service-nse)<br> 174 nse (gnunet-service-nse)<br>
162 cadet (gnunet-service-cadet)<br> 175 cadet (gnunet-service-cadet)<br>
163 dht (gnunet-service-dht)<br> 176 dht (gnunet-service-dht)<br>
164 core (gnunet-service-core)<br> 177 core (gnunet-service-core)<br>
165 gns (gnunet-service-gns)<br> 178 gns (gnunet-service-gns)<br>
166 statistics (gnunet-service-statistics)<br> 179 statistics (gnunet-service-statistics)<br>
167 topology (gnunet-daemon-topology)<br> 180 topology (gnunet-daemon-topology)<br>
168 fs (gnunet-service-fs)<br> 181 fs (gnunet-service-fs)<br>
169 namestore (gnunet-service-namestore)<br> 182 namestore (gnunet-service-namestore)<br>
170 vpn (gnunet-service-vpn) 183 vpn (gnunet-service-vpn)
171 </code> 184 </code>
172 </p> 185 </p>
173 <p> 186 <p>
174 To stop all services, use the `-e` option. 187 To stop all services, use the `-e` option.
175 </p> 188 </p>
176 <p> 189 <p>
177 <code> 190 <code>
178 $ gnunet-arm -e 191 $ gnunet-arm -e
179 </code> 192 </code>
180 </p> 193 </p>
181 194
182 <h2>{{ _("Alternative: Installation from source") }}</h2> 195 <h2>{{ _("Alternative: Installation from source") }}</h2>
@@ -232,11 +245,21 @@
232 <h3>{{ _("Compile and Install") }}</h3> 245 <h3>{{ _("Compile and Install") }}</h3>
233 <p> 246 <p>
234 You have a choice between two options: 247 You have a choice between two options:
235 build the *production version* or *development version*. If 248 </p>
236 you want to start writing GNUnet applications or join the GNUnet development 249 <ul>
237 choose the development version (it will print more debug output and contains 250 <li>build the production version
238 debug symbols that can be displayed with a debugger). Otherwise choose the 251 </ul>
239 production version. 252 <p>
253 or
254 </p>
255 <ul>
256 <li>build the development version.
257 </ul>
258 <p>
259 If you want to start writing GNUnet applications or join the
260 GNUnet development choose the development version (it will print
261 more debug output and contains debug symbols that can be displayed
262 with a debugger). Otherwise choose the production version.
240 </p> 263 </p>
241 264
242 <h5>{{ _("Option 1: GNUnet for production / usage") }}</h5> 265 <h5>{{ _("Option 1: GNUnet for production / usage") }}</h5>
@@ -246,38 +269,41 @@
246 in the instructions given below. 269 in the instructions given below.
247 </p> 270 </p>
248 <p> 271 <p>
249 <code> 272 <code>
250 $ cd ~/src/gnunet/gnunet<br> 273 $ cd ~/src/gnunet/gnunet<br>
251 $ sh ./bootstrap<br> 274 $ sh ./bootstrap<br>
252 $ LDFLAGS=-L/usr/pkg/lib ./configure --prefix=$HOME/gnunet 275 $ LDFLAGS=-L/usr/pkg/lib ./configure --prefix=$HOME/gnunet
253 </code> 276 </code>
254 </p> 277 </p>
255 <p> 278 <p>
256 After configure passes, you need to add a 'gnunetdns' group to your system. 279 After configure passes, you need to add a 'gnunetdns' group to your system.
257 Further, you need to add a user 'gnunet' which is part of the group 'gnunet'. 280 Further, you need to add a user 'gnunet' which is part of the group 'gnunet'.
258 Then: 281 Then:
259 </p> 282 </p>
260 <p> 283 <p>
261 <code> 284 <code>
262 $ make<br> 285 <!-- in case the parallel builds work: -->
263 # make install 286 <!-- $ make -j$(sysctl -n hw.ncpu || echo -n 1)<br> -->
264 </code> 287 <!-- # make -j$(sysctl -n hw.ncpu || echo -n 1) install -->
288 $ make<br>
289 # make install
290 </code>
265 </p> 291 </p>
266 292
267 <h5>{{ _("Option 2: GNUnet experimental") }}</h5> 293 <h5>{{ _("Option 2: GNUnet experimental") }}</h5>
268 294
269 <p> 295 <p>
270 Perform the same steps as for Option 1, but add the configure switch 296 Perform the same steps as for Option 1, but add the configure switch
271 <code>--enable-experimental</code>. For even more verbosity you could 297 <code>--enable-experimental</code>. For even more verbosity you could
272 configure gnunet like this: 298 configure gnunet like this:
273 </p> 299 </p>
274 <p> 300 <p>
275 <code> 301 <code>
276 $ LDFLAGS=-L/usr/pkg/lib CFLAGS="-g -O0" ./configure --prefix=$HOME/gnunet --enable-logging=verbose 302 $ LDFLAGS="-L/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib" CFLAGS="-g -O0" ./configure --prefix=$HOME/gnunet --enable-logging=verbose
277 </code> 303 </code>
278 </p> 304 </p>
279 <p> 305 <p>
280 This allows you to get more verbose logs when you export GNUNET_FORCE_LOG=";;;;DEBUG" before you run tests. 306 This allows you to get more verbose logs when you export GNUNET_FORCE_LOG=";;;;DEBUG" before you run tests.
281 </p> 307 </p>
282</article> 308</article>
283{% endblock body_content %} 309{% endblock body_content %}
diff --git a/template/install.html.j2 b/template/install.html.j2
index 8be70e27..03313f64 100644
--- a/template/install.html.j2
+++ b/template/install.html.j2
@@ -7,9 +7,15 @@
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;">
11 <div class="alert-content">
12 Notice: GNUnet is still undergoing major development. It is
13 largely <i>not yet ready</i> for usage beyond developers.
14 </div>
15 </div>
10 <div class="col-md"> 16 <div class="col-md">
11 {% trans %} 17 {% trans %}
12 <p>The following GNUnet installation instructions help you building from source for your distribution.</p> 18 <p>The following GNUnet installation instructions help you building from source for your Operating System.</p>
13 <p><i>Please note that the installation process will get much easier once we have proper packages again (planned for winter 2019).</i></p> 19 <p><i>Please note that the installation process will get much easier once we have proper packages again (planned for winter 2019).</i></p>
14 <p>You have already installed GNUnet and want to use it? 20 <p>You have already installed GNUnet and want to use it?
15 <a href="https://gnunet.org/en/use">Check this out!</a> </p> 21 <a href="https://gnunet.org/en/use">Check this out!</a> </p>
diff --git a/template/use.html.j2 b/template/use.html.j2
index 1aa0ecad..32b37833 100644
--- a/template/use.html.j2
+++ b/template/use.html.j2
@@ -223,13 +223,13 @@
223 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: 223 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:
224 </p> 224 </p>
225 <code> 225 <code>
226 $ sudo apt install nim 226 $ sudo apt install nim<br>
227 $ nim --version 227 $ nim --version<br>
228 Nim Compiler Version 0.20.2 [Linux: amd64] 228 Nim Compiler Version 0.20.2 [Linux: amd64]<br>
229 Compiled at 2019-07-17 229 Compiled at 2019-07-17<br>
230 Copyright (c) 2006-2019 by Andreas Rumpf 230 Copyright (c) 2006-2019 by Andreas Rumpf<br>
231 231 <br>
232 active boot switches: -d:release -d:nativeStackTrace 232 active boot switches: -d:release -d:nativeStackTrace<br>
233 </code> 233 </code>
234 <p> 234 <p>
235 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>: 235 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>:
diff --git a/template/video.html.j2 b/template/video.html.j2
index f3c92b86..fe1316b8 100644
--- a/template/video.html.j2
+++ b/template/video.html.j2
@@ -30,6 +30,18 @@
30 <source src=""> 30 <source src="">
31 {% endif %} 31 {% endif %}
32 Your web browser does not support the video tag. 32 Your web browser does not support the video tag.
33 {% if item['sources'] %}
34 Don&#39;t worry, you can download:
35 {% for video in item['sources'] %}
36 <a href="{{ video }}">source</a>
37 {% if not loop.last %}
38 ,
39 {% endif %}
40 {% endfor %}
41 or use
42 git clone https://git.gnunet.org/gnunet-videos-{{ item['year'] }}.git
43 and watch it in your favorite video player!
44 {% endif %}
33 </video> 45 </video>
34 </div> 46 </div>
35 <div class="col"> 47 <div class="col">
diff --git a/templates/feed-atom.py b/templates/feed-atom.py
deleted file mode 100644
index 37a596c4..00000000
--- a/templates/feed-atom.py
+++ /dev/null
@@ -1,4 +0,0 @@
1import jinja2
2
3env = jinja2.Environment(loader=jinja2.FileSystemLoader("."))
4print(env.get_template("feed.rss.j2").render(items=get_list_of_items()))
diff --git a/templates/feed.atom.j2 b/templates/feed.atom.j2
deleted file mode 100644
index 0a201ff2..00000000
--- a/templates/feed.atom.j2
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<feed xmlns="http://www.w3.org/2005/Atom">
3 <author>Author's name</author</author>
4 <title>Feed title</title>
5 {% for item in items %}
6 <entry>
7 <title>{{ item[0] }}</title>
8 <link href="{{ item[1] }}" />
9 <content type="html">{{ item[2] }}</content>
10 </entry>
11 {% endfor %}
12</feed>
diff --git a/templates/feed.xml b/templates/feed.xml
deleted file mode 100644
index e509fd10..00000000
--- a/templates/feed.xml
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<rss version="2.0">
3 <channel>
4 <title>{{ title }}</title>
5 <link>{{ site_url }}</link>
6 <description>gnunet.org feed</description>
7 {% for item in items %}
8 <item>
9 <title>{{ item[0] }}</title>
10 <link href="{{ item[1] }}" />
11 <content type="html">{{ item[2] }}</content>
12 </item>
13 {% endfor %}
14 </channel>
15</rss>
diff --git a/www.yml b/www.yml
index 46943730..8a019878 100644
--- a/www.yml
+++ b/www.yml
@@ -1,3 +1,12 @@
1siteconf:
2 - baseurl: gnunet.org
3 newsloc: /news/
4 newsdir: news
5 rsstitle: GNUnet.org
6 rssdescr: "News posts published by GNUnet about changes related to GNUnet, releases, and events"
7 rssloc:
8 rsslink:
9 rsslang:
1langs_full: &langs 10langs_full: &langs
2 en: English 11 en: English
3 fr: Français 12 fr: Français
@@ -5,22 +14,40 @@ langs_full: &langs
5 es: Español 14 es: Español
6 de: Deutsch 15 de: Deutsch
7symlinks: 16symlinks:
8 frontpage.html: frontpage 17 - file: frontpage.html
9 gsoc.html: gsoc 18 targets:
10 about.html: philosophy 19 - frontpage
11 gns.html: gns 20 - file: gsoc.html
12 node/about.html: "397" 21 targets:
13# Mostly from static/ to rendered/ 22 - gsoc
23 - file: about.html
24 targets:
25 - philosophy
26 - file: gns.html
27 targets:
28 - gns
29 - file: node/about.html
30 targets:
31 - "397"
14staticfiles: 32staticfiles:
15 favicon.ico: favicon.ico 33 - file: favicon.ico
16 moved.html: frontpage.html 34 targets:
17 robots.txt: 35 - favicon.ico
18 - static 36 - file: moved.html
19 - dist 37 targets:
20 - *langs 38 - frontpage.html
21 moved_gsoc.html: gsoc.html 39 - file: robots.txt
22 moved_about.html: about.html 40 targets:
23 moved_gns.html: gns.html 41 - robots.txt
42 - file: moved_gsoc.html
43 targets:
44 - gsoc.html
45 - file: moved_about.html
46 targets:
47 - about.html
48 - file: moved_gns.html
49 targets:
50 - gns.html
24meetingnotes: 51meetingnotes:
25 2013: 2013-12-27 52 2013: 2013-12-27
26 2014: 2014-12-28 53 2014: 2014-12-28
@@ -32,83 +59,93 @@ newsposts:
32 - page: 2019-11-ICANNUpdate.html 59 - page: 2019-11-ICANNUpdate.html
33 date: 2019-11-10 60 date: 2019-11-10
34 title: GNS@ICANN66 61 title: GNS@ICANN66
35 abstract: 62 abstract:
63 content:
36 - page: 2019-0.11.8.html 64 - page: 2019-0.11.8.html
37 date: 2019-10-30 65 date: 2019-10-30
38 title: GNUnet 0.11.8 66 title: GNUnet 0.11.8
39 abstract: 67 abstract:
68 content:
40 - page: 2019-0.11.7.html 69 - page: 2019-0.11.7.html
41 date: 2019-10-27 70 date: 2019-10-27
42 title: GNUnet 0.11.7 71 title: GNUnet 0.11.7
43 abstract: 72 abstract:
73 content:
44 - page: 2019-10-ICANNPanel.html 74 - page: 2019-10-ICANNPanel.html
45 date: 2019-10-20 75 date: 2019-10-20
46 title: GNUnet invited to ICANN Panel 76 title: GNUnet invited to ICANN Panel
47 abstract: 77 abstract:
78 content:
48 - page: 2019-10-GNSSpec1.html 79 - page: 2019-10-GNSSpec1.html
49 date: 2019-10-04 80 date: 2019-10-04
50 title: GNS Specification Milestone 1/4 81 title: GNS Specification Milestone 1/4
51 abstract: 82 abstract:
83 content:
52 - page: 2019-0.11.6.html 84 - page: 2019-0.11.6.html
53 date: 2019-07-24 85 date: 2019-07-24
54 title: GNUnet 0.11.6 86 title: GNUnet 0.11.6
55 abstract: 87 abstract:
88 content:
56 - page: 2019-07-GHM_Aug_2019.html 89 - page: 2019-07-GHM_Aug_2019.html
57 date: 2019-07-17 90 date: 2019-07-17
58 title: GNUnet Hacker Meeting 2019 91 title: GNUnet Hacker Meeting 2019
59 abstract: 92 abstract:
93 content:
60 - page: 2019-06-DSTJ.html 94 - page: 2019-06-DSTJ.html
61 date: 2019-06-28 95 date: 2019-06-28
62 title: "Peer DSTJ is dead, long live peer Y924" 96 title: "Peer DSTJ is dead, long live peer Y924"
63 abstract: 97 abstract:
98 content:
64 - page: 2019-0.11.5.html 99 - page: 2019-0.11.5.html
65 date: 2019-06-05 100 date: 2019-06-05
66 title: GNUnet 0.11.5 101 title: GNUnet 0.11.5
67 abstract: 102 abstract:
103 content:
68 - page: 2019-06.html 104 - page: 2019-06.html
69 date: 2019-06-01 105 date: 2019-06-01
70 title: 2019-06 106 title: 2019-06
71 abstract: 107 abstract:
108 content:
72 - page: 2019-0.11.4.html 109 - page: 2019-0.11.4.html
73 date: 2019-05-12 110 date: 2019-05-12
74 title: GNUnet 0.11.4 111 title: GNUnet 0.11.4
75 abstract: 112 abstract:
113 content:
76 - page: 2019-0.11.3.html 114 - page: 2019-0.11.3.html
77 date: 2019-04-07 115 date: 2019-04-07
78 title: GNUnet 0.11.3 116 title: GNUnet 0.11.3
79 abstract: 117 abstract:
118 content:
80 - page: 2019-0.11.2.html 119 - page: 2019-0.11.2.html
81 date: 2019-04-04 120 date: 2019-04-04
82 title: GNUnet 0.11.2 121 title: GNUnet 0.11.2
83 abstract: 122 abstract:
123 content:
84 - page: 2019-0.11.1.html 124 - page: 2019-0.11.1.html
85 date: 2019-04-03 125 date: 2019-04-03
86 title: GNUnet 0.11.1 126 title: GNUnet 0.11.1
87 abstract: 127 abstract:
128 content:
88 - page: 2019-0.11.0.html 129 - page: 2019-0.11.0.html
89 date: 2019-02-28 130 date: 2019-02-28
90 title: GNUnet 0.11.0 131 title: GNUnet 0.11.0
91 abstract: 132 abstract:
133 content:
92 - page: 2019-02.html 134 - page: 2019-02.html
93 date: 2019-02-01 135 date: 2019-02-01
94 title: Google Summer of Code 2019 136 title: Google Summer of Code 2019
95 abstract: 137 abstract:
96 - page: 2018-08.html 138 content:
97 date: 2018-08-14
98 title: GSoC 2018 - GNUnet Web-based User Interface
99 abstract:
100 - page: 2018-07.html 139 - page: 2018-07.html
101 date: 2018-07-01 140 date: 2018-07-01
102 title: Second GNUnet Hacker Meeting 2018 141 title: Second GNUnet Hacker Meeting 2018
103 abstract: 142 abstract:
143 content:
104 - page: 2018-06.html 144 - page: 2018-06.html
105 date: 2018-06-06 145 date: 2018-06-06
106 title: GNUnet 0.11.0pre66 146 title: GNUnet 0.11.0pre66
107 abstract: 147 abstract:
108 - page: 2017-10.html 148 content:
109 date: 2017-10-01
110 title: Launching the new gnunet.org
111 abstract:
112# <!-- FIXME 2015: source only available on yt. <li>Ludovic Courtès, <a href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> --> 149# <!-- FIXME 2015: source only available on yt. <li>Ludovic Courtès, <a href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> -->
113# <!-- FIXME 2014: no source link on web. <li>Julian Kirsch, <a href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> --> 150# <!-- FIXME 2014: no source link on web. <li>Julian Kirsch, <a href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> -->
114# <!-- FIXME 2014: no source link on web. <li>Peter Schaar, <a href="">"Technik, Recht und Überwachung"</a>, Technische Universität München</li> --> 151# <!-- FIXME 2014: no source link on web. <li>Peter Schaar, <a href="">"Technik, Recht und Überwachung"</a>, Technische Universität München</li> -->