# Translations template for PROJECT.
# Copyright (C) 2021 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR , 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-03-15 21:20+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: common/base.j2:5 common/news.j2:5
msgid "GNUnet"
msgstr ""
#: common/base.j2:6 common/news.j2:6
msgid "GNU's framework for secure p2p networking"
msgstr ""
#: common/footer.j2.inc:7
msgid "Contact"
msgstr ""
#: common/footer.j2.inc:8
msgid "GNUnet e.V."
msgstr ""
#: common/footer.j2.inc:9 template/about.html.j2:7
msgid "About GNUnet"
msgstr ""
#: common/footer.j2.inc:14 common/navigation.j2.inc:61
msgid "Bug Tracker"
msgstr ""
#: common/footer.j2.inc:19 template/copyright.html.j2:7
msgid "Copyright Assignment"
msgstr ""
#: common/footer.j2.inc:20 template/developers.html.j2:25
msgid "Bibliography"
msgstr ""
#: common/footer.j2.inc:31
msgid "Source code of this site."
msgstr ""
#: common/footer.j2.inc:32
msgid "Report issues with this website."
msgstr ""
#: common/navigation.j2.inc:10
msgid "Skip to main content"
msgstr ""
#: common/navigation.j2.inc:33
msgid "Home"
msgstr ""
#: common/navigation.j2.inc:34
msgid "About"
msgstr ""
#: common/navigation.j2.inc:35 common/old-news.j2.inc:8
#: template/news/index.html.j2:9
msgid "News"
msgstr ""
#: common/navigation.j2.inc:36 template/index.html.j2:338
msgid "Applications"
msgstr ""
#: common/navigation.j2.inc:37
msgid "Documentation"
msgstr ""
#: common/navigation.j2.inc:38
msgid "Videos"
msgstr ""
#: common/navigation.j2.inc:42
msgid "Community"
msgstr ""
#: common/navigation.j2.inc:45 template/index.html.j2:341
msgid "Engage"
msgstr ""
#: common/navigation.j2.inc:46
msgid "GSoC Projects"
msgstr ""
#: common/navigation.j2.inc:48
msgid "Copyright for Contributors"
msgstr ""
#: common/navigation.j2.inc:49
msgid "IRC Archive"
msgstr ""
#: common/navigation.j2.inc:56
msgid "Development"
msgstr ""
#: common/navigation.j2.inc:59
msgid "System Architecture"
msgstr ""
#: common/navigation.j2.inc:60 template/roadmap.html.j2:7
msgid "Roadmap"
msgstr ""
#: common/navigation.j2.inc:62 template/gnurl.html.j2:187
msgid "Source Code"
msgstr ""
#: common/navigation.j2.inc:63
msgid "Source Code Documentation"
msgstr ""
#: common/navigation.j2.inc:64
msgid "Continuous Integration"
msgstr ""
#: common/old-news.j2.inc:11 template/news/index.html.j2:12
msgid "News posts about changes related to GNUnet such as releases and events"
msgstr ""
#: common/old-news.j2.inc:16 template/news/index.html.j2:17
msgid "subscribe to our RSS feed"
msgstr ""
#: common/old-news.j2.inc:35 template/news/index.html.j2:37
msgid "read more"
msgstr ""
#: template/about.html.j2:12
msgid "What is GNUnet?"
msgstr ""
#: template/about.html.j2:14
msgid ""
"GNUnet is an alternative network stack for building secure, decentralized "
"and privacy-preserving distributed applications. Our goal is to replace the "
"old insecure Internet protocol stack. Starting from an application for "
"secure publication of files, it has grown to include all kinds of basic "
"protocol components and applications towards the creation of a GNU internet."
msgstr ""
#: template/about.html.j2:24
msgid ""
"Today, the actual use and thus the social requirements for a global network "
"differs widely from those goals of 1970. While the Internet remains suitable "
"for military use, where the network equipment is operated by a command "
"hierarchy and when necessary isolated from the rest of the world, the "
"situation is less tenable for civil society."
msgstr ""
#: template/about.html.j2:33
msgid ""
"Due to fundamental Internet design choices, Internet traffic can be "
"misdirected, intercepted, censored and manipulated by hostile routers on the "
"network. And indeed, the modern Internet has evolved exactly to the point "
"where, as Matthew Green put it, \"the "
"network is hostile\"."
msgstr ""
#: template/about.html.j2:42
msgid ""
"We believe liberal societies need a network architecture that uses the anti-"
"authoritarian decentralized peer-to-peer paradigm and privacy-preserving "
"cryptographic protocols. The goal of the GNUnet project is to provide a Free "
"Software realization of this ideal."
msgstr ""
#: template/about.html.j2:50
msgid ""
"Specifically, GNUnet tries to follow the following design principles, in "
"order of importance:"
msgstr ""
#: template/about.html.j2:57
msgid ""
"GNUnet must be implemented as Free Software."
msgstr ""
#: template/about.html.j2:61
msgid ""
"GNUnet must minimize the amount of personally identifiable information "
"exposed."
msgstr ""
#: template/about.html.j2:62
msgid ""
"GNUnet must be fully distributed and resilient to external attacks and rogue "
"participants."
msgstr ""
#: template/about.html.j2:63
msgid ""
"GNUnet must be self-organizing and not depend on administrators or "
"centralized infrastructure."
msgstr ""
#: template/about.html.j2:64
msgid ""
"GNUnet must inform the user which other participants have to be trusted when "
"establishing private communications."
msgstr ""
#: template/about.html.j2:65
msgid "GNUnet must be open and permit new peers to join."
msgstr ""
#: template/about.html.j2:66
msgid "GNUnet must support a diverse range of applications and devices."
msgstr ""
#: template/about.html.j2:67
msgid "GNUnet must use compartmentalization to protect sensitive information."
msgstr ""
#: template/about.html.j2:68
msgid "The GNUnet architecture must be resource efficient."
msgstr ""
#: template/about.html.j2:69
msgid ""
"GNUnet must provide incentives for peers to contribute more resources than "
"they consume."
msgstr ""
#: template/about.html.j2:73
msgid ""
"To get know and learn more, please check our handbook, especially the chapter on \"Key "
"Concepts\", explaining the fundamental concepts of GNUnet: "
msgstr ""
#: template/about.html.j2:89
msgid "More Resources"
msgstr ""
#: template/about.html.j2:91
msgid ""
"There are many more resources to learn about GNUnet besides the handbook, such as "
"the bibliography with papers "
"covering the various layers, many videos or a brief glossary."
msgstr ""
#: template/about.html.j2:96
msgid ""
"You are most welcome to get engaged into the "
"conversation, install GNUnet, use it and contribute and get engaged "
"in various ways."
msgstr ""
#: template/about.html.j2:101
msgid ""
"Please be aware that this project is (despite of it's age) still in an early "
"alpha stage when it comes to software – its not an easy task to "
"rewrite the whole Internet!"
msgstr ""
#: template/about.html.j2:106
msgid "Current funding"
msgstr ""
#: template/about.html.j2:111
msgid ""
"This project is receiving funding from the European Union’s Horizon 2020 "
"research and innovation programme NGI Assure."
msgstr ""
#: template/about.html.j2:123
msgid ""
"We are grateful for free hosting offered by the following organizations:"
msgstr ""
#: template/about.html.j2:132
msgid "Past funding"
msgstr ""
#: template/about.html.j2:134
msgid "We are grateful for past funding from the following organizations:"
msgstr ""
#: template/applications.html.j2:8
msgid "Applications provided by GNUnet"
msgstr ""
#: template/applications.html.j2:14 template/gns.html.j2:8
msgid "The GNU Name System"
msgstr ""
#: template/applications.html.j2:16
msgid ""
"The GNU Name System (GNS) is a fully decentralized "
"replacement for the Domain Name System (DNS). Instead of using a hierarchy, "
"GNS uses a directed graph. Naming conventions are similar to DNS, but "
"queries and replies are private even with respect to peers providing the "
"answers. The integrity of records and privacy of look-ups are "
"cryptographically secured. "
msgstr ""
#: template/applications.html.j2:39
msgid "Self-sovereign, decentralized identity provider"
msgstr ""
#: template/applications.html.j2:42
msgid ""
"is a decentralized Identity Provider (IdP) service built in top of the GNU "
"Name System. It allows users to securely share personal information with "
"websites using standardized protocols (OpenID Connect)."
msgstr ""
#: template/applications.html.j2:58
msgid "Filesharing (Alpha)"
msgstr ""
#: template/applications.html.j2:60
msgid ""
"GNUnet filesharing is an application that aims "
"to provide censorship-resistant, anonymous filesharing. The publisher is "
"empowered to make a gradual choice between performance and anonymity."
msgstr ""
#: template/applications.html.j2:74
msgid "Conversation (Pre-Alpha)"
msgstr ""
#: template/applications.html.j2:76
msgid ""
"GNUnet conversation is an application that provides secure voice "
"communication in a fully decentralized way by employing GNUnet for routing "
"and transport."
msgstr ""
#: template/applications.html.j2:92
msgid "Applications utilizing GNUnet"
msgstr ""
#: template/applications.html.j2:98
msgid "GNU Taler (Alpha)"
msgstr ""
#: template/applications.html.j2:100
msgid ""
"GNU Taler is a new privacy-preserving "
"electronic payment system. Payments are cryptographically secured and are "
"confirmed within milliseconds with extremely low transaction costs."
msgstr ""
#: template/applications.html.j2:120
msgid "secushare"
msgstr ""
#: template/applications.html.j2:122
msgid ""
"secushare is creating a decentralized "
"social networking application on top of GNUnet. Using overlay multicast and "
"the extensible PSYC protocol, notifications are distributed end-to-end "
"encrypted to authorized recipients only."
msgstr ""
#: template/applications.html.j2:142
msgid "Messenger-GTK"
msgstr ""
#: template/applications.html.j2:144
msgid ""
"Messenger-GTK is a "
"convergent GTK messaging application using the GNUnet Messenger service. The "
"goal is to provide private and secure communication between any group of "
"devices."
msgstr ""
#: template/applications.html.j2:163
msgid "messenger-cli"
msgstr ""
#: template/applications.html.j2:165
msgid ""
"messenger-cli is a "
"terminal user interface providing messaging using the GNUnet Messenger "
"service. It is developed in C using ncurses. Messenger-GTK and messenger-cli "
"are fully compatible."
msgstr ""
#: template/architecture.html.j2:7
msgid "GNUnet System Architecture"
msgstr ""
#: template/architecture.html.j2:21
msgid "Foundations"
msgstr ""
#: template/architecture.html.j2:23
msgid ""
"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like "
"end-to-end encrypted messaging layer (CADET), a public key infrastructure "
"(GNS) and a pluggable transport system (TRANSPORT).
Using public keys "
"for addresses and self-organizing decentralized routing algorithms, these "
"subsystems replace the traditional TCP/IP stack."
msgstr ""
#: template/architecture.html.j2:36
msgid "Security"
msgstr ""
#: template/architecture.html.j2:39
msgid ""
"GNUnet is implemented using a multi-process architecture. Each subsystem "
"runs as a separate process, providing fault isolation and enabling tight "
"permissions to be granted to each subsystem. Naturally, the implementation "
"is a GNU package, and will always "
"remain free software."
msgstr ""
#: template/architecture.html.j2:53
msgid "System architecture"
msgstr ""
#: template/architecture.html.j2:59
msgid "Subsystems"
msgstr ""
#: template/architecture.html.j2:68
msgid "libgnunetutil"
msgstr ""
#: template/architecture.html.j2:74
msgid "APIs"
msgstr ""
#: template/architecture.html.j2:87
msgid "Legend"
msgstr ""
#: template/contact.html.j2:7
msgid "Contact information"
msgstr ""
#: template/contact.html.j2:12
msgid "The mailing list"
msgstr ""
#: template/contact.html.j2:14
msgid ""
"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/"
"mailman/listinfo/gnunet-developers. You can send messages to the list at "
"gnunet-developers@gnu.org."
msgstr ""
#: template/contact.html.j2:26
msgid "Contacting individuals"
msgstr ""
#: template/contact.html.j2:28
msgid ""
"GNUnet developers are generally reachable at either PSEUDONYM@gnunet."
"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG "
"encrypted Emails. Urgent and sensitive security issues may be addressed to "
"the GNU maintainers schanzen and grothoff."
msgstr ""
#: template/contact.html.j2:41
msgid "Reporting bugs"
msgstr ""
#: template/contact.html.j2:43
msgid ""
"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs "
"or feature requests to the bug-gnunet mailing list. The mailinglist requires no "
"subscription."
msgstr ""
#: template/copyright.html.j2:12
msgid ""
" Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and "
"collaborative development of the GNUnet and GNU Taler projects is "
"satisfied.
"
msgstr ""
#: template/copyright.html.j2:23
msgid ""
"The agreements ensure that the code will continue to be made available "
"under free software licenses, but gives developers the freedom to move code "
"between GNUnet and GNU Taler without worrying about licenses and to give the "
"company the ability to dual-license (for example, so that we can distribute "
"via App-stores that are hostile to free software).
"
msgstr ""
#: template/copyright.html.j2:31
msgid ""
"Minor contributions (basically, anyone without Git access) do not require "
"copyright assignment. Pseudonymous contributions are accepted, in this case "
"simply sign the agreement with your pseudonym. Scanned copies are "
"sufficient, but snail mail is preferred.
"
msgstr ""
#: template/developers.html.j2:6
msgid "GNUnet for developers"
msgstr ""
#: template/developers.html.j2:14
msgid "Repositories"
msgstr ""
#: template/developers.html.j2:17
msgid ""
"A list of our Git repositories can be found on our our Git Server."
msgstr ""
#: template/developers.html.j2:28
msgid ""
"Technical papers can be found in our bibliography."
msgstr ""
#: template/developers.html.j2:35
msgid "Discussion"
msgstr ""
#: template/developers.html.j2:38
msgid ""
"We have a mailing list for developer discussions. You can subscribe to or "
"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers"
"a>."
msgstr ""
#: template/developers.html.j2:48
msgid "Regression Testing"
msgstr ""
#: template/developers.html.j2:51
msgid ""
"We have Buildbot automation tests to "
"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/."
msgstr ""
#: template/developers.html.j2:60
msgid "Code Coverage Analysis"
msgstr ""
#: template/developers.html.j2:63
msgid ""
"We use LCOV to "
"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/"
"a>."
msgstr ""
#: template/developers.html.j2:73
msgid "Performance Analysis"
msgstr ""
#: template/developers.html.j2:76
msgid ""
"We use Gauger for performance "
"regression analysis of the exchange backend at https://old.gnunet.org/gauger/."
msgstr ""
#: template/download.html.j2:8 template/gnurl.html.j2:210
msgid "Downloads"
msgstr ""
#: template/download.html.j2:12
msgid ""
"Here you can download releases of our software and find links to the various "
"versions."
msgstr ""
#: template/download.html.j2:18
msgid "0.11.x series"
msgstr ""
#: template/download.html.j2:19
msgid "tarball"
msgstr ""
#: template/download.html.j2:21
msgid ""
"The tarball of the latest version can be obtained from GNU FTP and its "
"mirrors."
msgstr ""
#: template/download.html.j2:31
msgid "git"
msgstr ""
#: template/download.html.j2:33
msgid ""
"You can fetch the git tag of version 0.11.x from our development server:"
msgstr ""
#: template/engage.html.j2:7
msgid "Engage!"
msgstr ""
#: template/ev.html.j2:7
msgid "Verein zur Förderung von GNUnet e.V."
msgstr ""
#: template/ev.html.j2:12
msgid "About GNUnet e.V."
msgstr ""
#: template/ev.html.j2:14
msgid ""
"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the "
"\"Verein zur Förderung von GNUnet e.V.\", an association under German "
"law to support GNUnet development. The Amtsgericht München registered "
"the association on the 7th of March under VR 205287."
msgstr ""
#: template/ev.html.j2:23
msgid ""
"The association is officially dedicated to supporting research, development "
"and education in the area of secure decentralized networking in general, and "
"GNUnet specifically. This is the official website for the association."
msgstr ""
#: template/ev.html.j2:32
msgid "Becoming a Member of GNUnet e.V."
msgstr ""
#: template/ev.html.j2:34
msgid ""
"GNUnet developers with git (write) access can become members to participate "
"in the decision process and formally support GNUnet e.V. For this, all you "
"have to do is update the members.txt file in the gnunet-ev repository. There are no "
"membership dues; however, members are required to support GNUnet e.V. and in "
"particularly contribute to the technical development within their means. For "
"further details, we refer to the Satzung (Charter) (currently only available in German, "
"translations welcome)."
msgstr ""
#: template/ev.html.j2:53
msgid "Governance"
msgstr ""
#: template/ev.html.j2:55
msgid ""
"You can find our charter, and the list of members under https://git.gnunet.org/"
"gnunet-ev.git/tree/satzung.tex. The current board consists of: "
"- Vorsitz
- Martin "
"Schanzenbach
- Stellvertretender Vorsitz
- Florian "
"Felgenhauer
- Kassenwart
- Florian Dold
- Beisitzer"
"dt>
- Christian Grothoff, "
"Julius Bünger
"
msgstr ""
#: template/ev.html.j2:74
msgid "Official Meeting Notes"
msgstr ""
#: template/ev.html.j2:87
msgid "Support Us!"
msgstr ""
#: template/ev.html.j2:89
msgid ""
"Everybody is welcome to support us via donations. For financial "
"contributions, Europeans are able to donate via SEPA. We hope to setup "
"accounts in other major currency areas in the future. You can also donate "
"via Bitcoin, routing details are given below. Please note that we are unable "
"to provide receipts for your donations. If you are planning to donate a "
"significant amount of money, please contact us first as it might be better "
"to come to a custom arrangement. - BitCoin
"
"- 1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
- SEPA/IBAN
"
"- DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
"
msgstr ""
#: template/faq.html.j2:13 template/faq.html.j2:24
msgid "General"
msgstr ""
#: template/faq.html.j2:14 template/faq.html.j2:149 template/gns.html.j2:38
msgid "Features"
msgstr ""
#: template/faq.html.j2:16 template/faq.html.j2:695
msgid "Error messages"
msgstr ""
#: template/faq.html.j2:17 template/faq.html.j2:797
msgid "File-sharing"
msgstr ""
#: template/faq.html.j2:18 template/faq.html.j2:973
msgid "Contributing"
msgstr ""
#: template/faq.html.j2:27
msgid "What do I do if my question is not answered here?"
msgstr ""
#: template/faq.html.j2:29
msgid ""
"A: There are many other sources of information. You can read additional "
"documentation or ask the question on the help-gnunet@gnu.org mailing list."
msgstr ""
#: template/faq.html.j2:36
msgid "When are you going to release the next version?"
msgstr ""
#: template/faq.html.j2:38
msgid ""
"A: The general answer is, when it is ready. A better answer may be: earlier "
"if you contribute (test, debug, code, document). Every release will be "
"anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the mailing list or "
"the RSS feed of this site to automatically receive a notification."
msgstr ""
#: template/faq.html.j2:49
msgid "Is the code free?"
msgstr ""
#: template/faq.html.j2:51
msgid ""
"A: GNUnet is free software, available under the GNU Affero Public License (AGPL)."
msgstr ""
#: template/faq.html.j2:58
msgid "Are there any known bugs?"
msgstr ""
#: template/faq.html.j2:60
msgid ""
"A: We track the list of currently known bugs in the Mantis system. Some bugs are occasionally reported "
"directly to developers or the developer mailing list. This is discouraged "
"since developers often do not have the time to feed these bugs back into the "
"Mantis database. Please report bugs directly to the bug tracking system. If "
"you believe a bug is sensitive, you can set its view status to private (this "
"should be the exception)."
msgstr ""
#: template/faq.html.j2:73 template/faq.html.j2:193
msgid "Is there a graphical user interface?"
msgstr ""
#: template/faq.html.j2:75
msgid ""
"A: gnunet-gtk is a separate download. The package contains various GTK+ "
"based graphical interfaces, including a graphical tool for configuration."
msgstr ""
#: template/faq.html.j2:83
msgid "Why does gnunet-service-nse create a high CPU load?"
msgstr ""
#: template/faq.html.j2:85
msgid ""
"A: The gnunet-service-nse process will initially compute a so-called ""
"proof-of-work" which is used to convince the network that your peer is "
"real (or, rather, make it expensive for an adversary to mount a Sybil attack "
"on the network size estimator). The calculation is expected to take a few "
"days, depending on how fast your CPU is. If the CPU load is creating a "
"problem for you, you can set the value "WORKDELAY" in the ""
"nse" section of your configuration file to a higher value. The default "
"is "5 ms"."
msgstr ""
#: template/faq.html.j2:99
msgid "How does GNUnet compare to Tor?"
msgstr ""
#: template/faq.html.j2:101
msgid ""
"A: Tor focuses on anonymous communication and censorship-resistance for TCP "
"connections and, with the Tor Browser Bundle, for the Web in particular. "
"GNUnet does not really have one focus; our theme is secure decentralized "
"networking, but that is too broad to be called a focus."
msgstr ""
#: template/faq.html.j2:111
msgid "How does GNUnet compare to I2P?"
msgstr ""
#: template/faq.html.j2:113
msgid ""
"A: Both GNUnet and I2P want to build a better, more secure, more "
"decentralized Internet. However, on the technical side, there are almost no "
"overlaps.
I2P is written in Java, and has (asymmetric) tunnels "
"using onion (or garlic) routing as the basis for various (anonymized) "
"applications. I2P is largely used via a Web frontend."
msgstr ""
#: template/faq.html.j2:124
msgid "Is GNUnet ready for use on production systems?"
msgstr ""
#: template/faq.html.j2:126
msgid ""
"A: GNUnet is still undergoing major development. It is largely not yet ready "
"for usage beyond developers. Your mileage will vary depending on the "
"functionality you use, but you will always likely run into issues with our "
"current low-level transport system. We are currently in the process of "
"rewriting it (Project "Transport Next Generation [TNG]")"
msgstr ""
#: template/faq.html.j2:136
msgid "Is GNUnet build using distributed ledger technologies?"
msgstr ""
#: template/faq.html.j2:138
msgid ""
"A: No. GNUnet is a new network protocol stack for building secure, "
"distributed, and privacy-preserving applications. While a ledger could be "
"built using GNUnet, we currently have no plans in doing so."
msgstr ""
#: template/faq.html.j2:151
msgid "What can I do with GNUnet?"
msgstr ""
#: template/faq.html.j2:153
msgid ""
"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can "
"do more than just one thing. Naturally, the implementation and documentation "
"of some of the features that exist are more advanced than others."
msgstr ""
#: template/faq.html.j2:160
msgid ""
"For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully "
"decentralized and censorship-resistant replacement for DNS and a mechanism "
"for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)."
msgstr ""
#: template/faq.html.j2:171
msgid "Is it possible to surf the WWW anonymously with GNUnet?"
msgstr ""
#: template/faq.html.j2:173
msgid ""
"A: It is not possible use GNUnet for anonymous browsing at this point. We "
"recommend that you use Tor for anonymous surfing."
msgstr ""
#: template/faq.html.j2:181
msgid "Is it possible to access GNUnet via a browser as an anonymous WWW?"
msgstr ""
#: template/faq.html.j2:183
msgid ""
"A: There is currently no proxy (like fproxy in Freenet) for GNUnet that "
"would make it accessible via a browser. It is possible to build such a proxy "
"and all one needs to know is the protocol used between the browser and the "
"proxy and the GNUnet code for file-sharing."
msgstr ""
#: template/faq.html.j2:195
msgid ""
"A: There are actually a few graphical user interfaces for different "
"functions. gnunet-setup is to configure GNUnet, and gnunet-fs-gtk is for "
"file-sharing. There are a few other gnunet-XXX-gtk GUIs of lesser "
"importance. Note that in order to obtain the GUI, you need to install the "
"gnunet-gtk package, which is a separate download. gnunet-gtk is a meta GUI "
"that integrates most of the other GUIs in one window. One exception is "
"gnunet-setup, which must still be run separately at this time (as setup "
"requires the peer to be stopped)."
msgstr ""
#: template/faq.html.j2:210
msgid "Which operating systems does GNUnet run on?"
msgstr ""
#: template/faq.html.j2:212
msgid ""
"A: GNUnet is being developed and tested primarily under Debian GNU/Linux. "
"Furthermore, we regularly build and test GNUnet on Fedora, Ubuntu, Arch, "
"FreeBSD and macOS. We have reports of working versions on many other GNU/"
"Linux distributions; in the past we had reports of working versions on "
"NetBSD, OpenBSD and Solaris. However, not all of those reports are recent, "
"so if you cannot get GNUnet to work on those systems please let us know."
msgstr ""
#: template/faq.html.j2:228
msgid "Who runs the GNS root zone?"
msgstr ""
#: template/faq.html.j2:230
msgid ""
"A: Short answer: you. The long answer is the GNUnet will ship with a default "
"configuration of top-level domains. The governance of this default "
"configuration is not yet established. In any case, the user will be able to "
"modify this configuration at will. We expect normal users to have no need to "
"edit their own GNS zone(s) unless they host services themselves."
msgstr ""
#: template/faq.html.j2:241
msgid "Where is the per-user GNS database kept?"
msgstr ""
#: template/faq.html.j2:243
msgid ""
"A: The short answer is that the database is kept at the user's GNUnet peer. "
"Now, a user may run multiple GNUnet peers, in which case the database could "
"be kept at each peer (however, we don't have code for convenient "
"replication). Similarly, multiple GNUnet peers can share one instance of the "
"database --- the "gnunet-service-namestore" can be accessed from "
"remote (via TCP). The actual data can be stored in a Postgres database, for "
"which various replication options are again applicable. Ultimately, there "
"are many options for how users can store (and secure) their GNS database."
msgstr ""
#: template/faq.html.j2:258
msgid "What is the expected average size of a GNS namestore database?"
msgstr ""
#: template/faq.html.j2:260
msgid ""
"A: Pretty small. Based on our user study where we looked at browser "
"histories and the number of domains visited, we expect that GNS databases "
"will only grow to a few tens of thousands of entries, small enough to fit "
"even on mobile devices."
msgstr ""
#: template/faq.html.j2:270
msgid "Is GNS resistant to the attacks on DNS used by the US?"
msgstr ""
#: template/faq.html.j2:272
msgid ""
"A: We believe so, as there is no entity that any government could force to "
"change the mapping for a name except for each individual user (and then the "
"changes would only apply to the names that this user is the authority for). "
"So if everyone used GNS, the only practical attack of a government would be "
"to force the operator of a server to change the GNS records for his server "
"to point elsewhere. However, if the owner of the private key for a zone is "
"unavailable for enforcement, the respective zone cannot be changed and any "
"other zone delegating to this zone will achieve proper resolution."
msgstr ""
#: template/faq.html.j2:286
msgid "How does GNS compare to other name systems?"
msgstr ""
#: template/faq.html.j2:288
msgid ""
"A: A scientific paper on this topic has been published and below is a table from the "
"publication. For detailed descriptions please refer to the paper."
msgstr ""
#: template/faq.html.j2:392
msgid "What is the difference between GNS and CoDoNS?"
msgstr ""
#: template/faq.html.j2:394
msgid ""
"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the "
"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and "
"there are still registrars that determine who owns a name.
With "
"GNS, we decentralize the database and also decentralize the responsibility "
"for naming: each user runs their own personal root zone and is thus in "
"complete control of the names they use. GNS also has many additional "
"features (to keep names short and enable migration) which don't even make "
"sense in the context of CoDoNS."
msgstr ""
#: template/faq.html.j2:410
msgid "What is the difference between GNS and SocialDNS?"
msgstr ""
#: template/faq.html.j2:412
msgid ""
"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, "
"with SocialDNS the mappings are shared through the social network and "
"subjected to ranking. As the social relationships evolve, names can thus "
"change in surprising ways.
With GNS, names are primarily shared via "
"delegation, and thus mappings will only change if the user responsible for "
"the name (the authority) manually changes the record."
msgstr ""
#: template/faq.html.j2:426
msgid "What is the difference between GNS and ODDNS?"
msgstr ""
#: template/faq.html.j2:428
msgid ""
"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD "
"registries (such as those for \".com\" and \".org\"). Instead of using "
"those, each user is expected to maintain a database of (second-level) "
"domains (like \"gnu.org\") and the IP addresses of the respective name "
"servers. Resolution will fail if the target name servers change IPs."
msgstr ""
#: template/faq.html.j2:439
msgid "What is the difference between GNS and Handshake?"
msgstr ""
#: template/faq.html.j2:441
msgid ""
"A: Handshake is a blockchain-based method for root zone governance. Hence, "
"it does not address the name resolution process itself but delegates "
"resolution into DNS after the initial TLD resolution. Not taking "
"sustainablility considerations into account, Handshake could be used as an "
"additional supporting GNS root zone governance model, but we currently do "
"not have such plans in mind."
msgstr ""
#: template/faq.html.j2:453
msgid "What is the difference between GNS and TrickleDNS?"
msgstr ""
#: template/faq.html.j2:455
msgid ""
"A: TrickleDNS pushes ("critical") DNS records between DNS "
"resolvers of participating domains to provide "better availability, "
"lower query resolution times, and faster update propagation". Thus "
"TrickleDNS is focused on defeating attacks on the availability (and "
"performance) of record propagation in DNS, for example via DDoS attacks on "
"DNS root servers. TrickleDNS is thus concerned with how to ensure "
"distribution of authoritative records, and authority remains derived from "
"the DNS hierarchy."
msgstr ""
#: template/faq.html.j2:468
msgid ""
"Does GNS require real-world introduction (secure PKEY exchange) in the style "
"of the PGP web of trust?"
msgstr ""
#: template/faq.html.j2:470
msgid ""
"A: For security, it is well known that an initial trust path between the two "
"parties must exist. However, for applications where this is not required, "
"weaker mechanisms can be used. For example, we have implemented a first-come-"
"first-served (FCFS) authority which allows arbitrary users to register "
"arbitrary names. The key of this authority is included with every GNUnet "
"installation. Thus, any name registered with FCFS is in fact global and "
"requires no further introduction. However, the security of these names "
"depends entirely on the trustworthiness of the FCFS authority. The authority "
"can be queried under the ".pin" TLD."
msgstr ""
#: template/faq.html.j2:485
msgid ""
"How can a legitimate domain owner tell other people to not use his name in "
"GNS?"
msgstr ""
#: template/faq.html.j2:487
msgid ""
"A: Names have no owners in GNS, so there cannot be a "legitimate" "
"domain owner. Any user can claim any name (as his preferred name or ""
"pseudonym") in his NICK record. Similarly, all other users can choose "
"to ignore this preference and use a name of their choice (or even assign no "
"name) for this user."
msgstr ""
#: template/faq.html.j2:498
msgid ""
"Did you consider the privacy implications of making your personal GNS zone "
"visible?"
msgstr ""
#: template/faq.html.j2:500
msgid ""
"A: Each record in GNS has a flag "private". Records are shared "
"with other users (via DHT or zone transfers) only if this flag is not set. "
"Thus, users have full control over what information about their zones is "
"made public."
msgstr ""
#: template/faq.html.j2:510
msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?"
msgstr ""
#: template/faq.html.j2:512
msgid ""
"A: The question presumes that (a) virtual hosting is only necessary because "
"of IPv4 address scarcity, and (b) that LEHOs are only useful in the context "
"of virtual hosting. However, LEHOs are also useful to help with X.509 "
"certificate validation (as they specify for which legacy hostname the "
"certificate should be valid). Also, even with IPv6 fully deployed and ""
"infinite" IP addresses being available, we're not sure that virtual "
"hosting would disappear. Finally, we don't want to have to wait for IPv6 to "
"become commonplace, GNS should work with today's networks."
msgstr ""
#: template/faq.html.j2:526
msgid ""
"Why does GNS not use a trust metric or consensus to determine globally "
"unique names?"
msgstr ""
#: template/faq.html.j2:528
msgid ""
"A: Trust metrics have the fundamental problem that they have thresholds. As "
"trust relationships evolve, mappings would change their meaning as they "
"cross each others thresholds. We decided that the resulting unpredictability "
"of the resolution process was not acceptable. Furthermore, trust and "
"consensus might be easy to manipulate by adversaries."
msgstr ""
#: template/faq.html.j2:539
msgid "How do you handle compromised zone keys in GNS?"
msgstr ""
#: template/faq.html.j2:541
msgid ""
"A: The owner of a private key can create a revocation message. This one can "
"then be flooded throughout the overlay network, creating a copy at all "
"peers. Before using a public key, peers check if that key has been revoked. "
"All names that involve delegation via a revoked zone will then fail to "
"resolve. Peers always automatically check for the existence of a revocation "
"message when resolving names."
msgstr ""
#: template/faq.html.j2:553
msgid "Could the signing algorithm of GNS be upgraded in the future?"
msgstr ""
#: template/faq.html.j2:555
msgid ""
"A: Yes. In our efforts to standardize GNS, we have already modified the "
"protocol to support alternative delegation records.
Naturally, "
"deployed GNS implementations would have to be updated to support the new "
"signature scheme. The new scheme can then be run in parallel with the "
"existing system by using a new record type to indicate the use of a "
"different cipher system."
msgstr ""
#: template/faq.html.j2:569
msgid ""
"How can a GNS zone maintain several name servers, e.g. for load balancing?"
msgstr ""
#: template/faq.html.j2:571
msgid ""
"A: We don't expect this to be necessary, as GNS records are stored (and "
"replicated) in the R5N DHT. Thus the authority will typically not be "
"contacted whenever clients perform a lookup. Even if the authority goes "
"(temporarily) off-line, the DHT will cache the records for some time. "
"However, should having multiple servers for a zone be considered truly "
"necessary, the owner of the zone can simply run multiple peers (and share "
"the zone's key and database among them)."
msgstr ""
#: template/faq.html.j2:584
msgid ""
"Why do you believe it is worth giving up unique names for censorship "
"resistance?"
msgstr ""
#: template/faq.html.j2:586
msgid ""
"A: The GNU Name system offers an alternative to DNS that is censorship "
"resistant. As with any security mechanism, this comes at a cost (names are "
"not globally unique). To draw a parallel, HTTPS connections use more "
"bandwidth and have higher latency than HTTP connections. Depending on your "
"application, HTTPS may not be worth the cost. However, for users that are "
"experiencing censorship (or are concerned about it), giving up globally "
"unique names may very well be worth the cost. After all, what is a ""
"globally" unique name worth, if it does not resolve?"
msgstr ""
#: template/faq.html.j2:600
msgid "Why do you say that DNS is 'centralized' and 'distributed'?"
msgstr ""
#: template/faq.html.j2:602
msgid ""
"A: We say that DNS is 'centralized' because it has a central component / "
"central point of failure --- the root zone and its management by IANA/ICANN. "
"This centralization creates vulnerabilities. For example, the US government "
"was able to reassign the management of the country-TLDs of Afganistan and "
"Iraq during the wars at the beginning of the 21st century."
msgstr ""
#: template/faq.html.j2:613
msgid "How does GNS protect against layer-3 censorship?"
msgstr ""
#: template/faq.html.j2:615
msgid ""
"A: GNS does not directly help with layer-3 censorship, but it does help "
"indirectly in two ways: - Many websites today use virtual hosting, "
"so blocking a particular IP address causes much more collateral damage than "
"blocking a DNS name. It thus raises the cost of censorship.
- "
"Existing layer-3 circumvention solutions (such as Tor) would benefit from a "
"censorship resistant naming system. Accessing Tor's ".onion" "
"namespace currently requires users to use unmemorable cryptographic "
"identifiers. With nicer names, Tor and tor2web-like services would be even "
"easier to use.
"
msgstr ""
#: template/faq.html.j2:634
msgid "Does GNS work with search engines?"
msgstr ""
#: template/faq.html.j2:636
msgid ""
"A: GNS creates no significant problems for search engines, as they can use "
"GNS to perform name resolution as well as any normal user. Naturally, while "
"we typically expect normal users to install custom software for name "
"resolution, this is unlikely to work for search engines today. However, the "
"DNS2GNS gateway allows search engines to use DNS to resolve GNS names, so "
"they can still index GNS resources. However, as using DNS2GNS gateways "
"breaks the cryptographic chain of trust, legacy search engines will "
"obviously not obtain censorship-resistant names."
msgstr ""
#: template/faq.html.j2:650
msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?"
msgstr ""
#: template/faq.html.j2:652
msgid ""
"A: UIA and GNS both share the same basic naming model, which actually "
"originated with Rivest's SDSI. However, UIA is not concerned about "
"integration with legacy applications and instead focuses on universal "
"connectivity between a user's many machines. In contrast, GNS was designed "
"to interoperate with DNS as much as possible, and to also work as much as "
"possible with the existing Web infrastructure. UIA is not at all concerned "
"about legacy systems (clean slate)."
msgstr ""
#: template/faq.html.j2:665
msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?"
msgstr ""
#: template/faq.html.j2:667
msgid ""
"A: First of all, in GNS you can explicitly see the trust chain, so you know "
"if a name you are resolving belongs to a friend, or a friend-of-a-friend, "
"and can thus decide how much you trust the result. Naturally, the trusted-"
"computing base (TCB) can become arbitrarily large this way --- however, "
"given the name length restriction, for an individual name it is always less "
"than about 128 entities."
msgstr ""
#: template/faq.html.j2:679
msgid ""
"How does GNS handle SRV/TLSA records where service and protocol are part of "
"the domain name?"
msgstr ""
#: template/faq.html.j2:681
msgid ""
"A: When GNS splits a domain name into labels for resolution, it detects the "
""_Service._Proto" syntax, converts "Service" to the "
"corresponding port number and "Proto" to the corresponding "
"protocol number. The rest of the name is resolved as usual. Then, when the "
"result is presented, GNS looks for the GNS-specific "BOX" record "
"type. A BOX record is a record that contains another record (such as SRV or "
"TLSA records) and adds a service and protocol number (and the original boxed "
"record type) to it."
msgstr ""
#: template/faq.html.j2:697
msgid ""
"I receive many "WARNING Calculated flow delay for X at Y for Z". "
"Should I worry?"
msgstr ""
#: template/faq.html.j2:699
msgid ""
"A: Right now, this is expected and a known cause for high latency in GNUnet. "
"We have started a major rewrite to address this and other problems, but "
"until the Transport Next Generation (TNG) is ready, these warnings are "
"expected."
msgstr ""
#: template/faq.html.j2:708
msgid "Error opening `/dev/net/tun': No such file or directory?"
msgstr ""
#: template/faq.html.j2:710
msgid ""
"A: If you get this error message, the solution is simple. Issue the "
"following commands (as root) to create the required device file"
msgstr ""
#: template/faq.html.j2:722
msgid ""
"'iptables: No chain/target/match by that name.' (when running gnunet-service-"
"dns)?"
msgstr ""
#: template/faq.html.j2:724
msgid ""
"A: For GNUnet DNS, your iptables needs to have "owner" match "
"support. This is accomplished by having the correct kernel options. Check if "
"your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or "
"'m' (and the module is loaded)."
msgstr ""
#: template/faq.html.j2:736
msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?"
msgstr ""
#: template/faq.html.j2:738
msgid ""
"A: If you get an error stating that the VPN timeout was reached, check if "
"your firewall is enabled and blocking the connections."
msgstr ""
#: template/faq.html.j2:746
msgid ""
"I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'"
msgstr ""
#: template/faq.html.j2:748
msgid ""
"A: This error usually occurs when your linker fails to locate one of "
"GNUnet's libraries. This can have two causes. First, it is theoretically "
"possible that the library is not installed on your system; however, if you "
"compiled GNUnet the normal way and/or used a binary package, that is highly "
"unlikely. The more common cause is that you installed GNUnet to a directory "
"that your linker does not search. There are several ways to fix this that "
"are described below. If you are 'root' and you installed to a system folder "
"(such as /usr/local), you want to add the libraries to the system-wide "
"search path. This is done by adding a line \"/usr/local/lib/\" to /etc/ld.so."
"conf and running \"ldconfig\". If you installed GNUnet to /opt or any other "
"similar path, you obviously have to change \"/usr/local\" accordingly. If "
"you do not have 'root' rights or if you installed GNUnet to say \"/home/"
"$USER/\", then you can explicitly tell your linker to search a particular "
"directory for libraries using the \"LD_LIBRARY_PATH\" environment variable. "
"For example, if you configured GNUnet using a prefix of \"$HOME/gnunet/\" "
"you want to run:"
msgstr ""
#: template/faq.html.j2:774
msgid ""
"to ensure GNUnet's binaries and libraries are found. In order to avoid "
"having to do so each time, you can add the above lines (without the \"$\") "
"to your .bashrc or .profile file. You will have to logout and login again to "
"have this new profile be applied to all shells (including your desktop "
"environment)."
msgstr ""
#: template/faq.html.j2:781
msgid "What error messages can be ignored?"
msgstr ""
#: template/faq.html.j2:783
msgid ""
"A: Error messages flagged as \"DEBUG\" should be disabled in binaries built "
"for end-users and can always be ignored. Error messages flagged as \"INFO\" "
"always refer to harmless events that require no action. For example, GNUnet "
"may use an INFO message to indicate that it is currently performing an "
"expensive operation that will take some time. GNUnet will also use INFO "
"messages to display information about important configuration values."
msgstr ""
#: template/faq.html.j2:799
msgid "How does GNUnet compare to other file-sharing applications?"
msgstr ""
#: template/faq.html.j2:801
msgid ""
"A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other "
"P2P networks, GNUnet was designed with security in mind as the highest "
"priority. We intend on producing a network with comprehensive security "
"features. Many other P2P networks are open to a wide variety of attacks, and "
"users have little privacy. GNUnet is also Free Software and thus the source "
"code is available, so you do not have to worry about being spied upon by the "
"software. The following table summarises the main differences between GNUnet "
"and other systems. The information is accurate to the best of our knowledge. "
"The comparison is difficult since there are sometimes differences between "
"various implementations of (almost) the same protocol. In general, we pick a "
"free implementation as the reference implementation since it is possible to "
"inspect the free code. Also, all of these systems are changing over time and "
"thus the data below may not be up-to-date. If you find any flaws, please let "
"us know. Finally, the table is not saying terribly much (it is hard to "
"compare these systems this briefly), so if you want the real differences, "
"read the research papers (and probably the code)."
msgstr ""
#: template/faq.html.j2:915
msgid ""
"Another important point of reference are the various anonymous peer-to-peer "
"networks. Here, there are differences in terms of application domain and how "
"specifically anonymity is achieved. Anonymous routing is a hard research "
"topic, so for a superficial comparison like this one we focus on the "
"latency. Another important factor is the programming language. Type-safe "
"languages may offer certain security benefits; however, this may come at the "
"cost of significant increases in resource consumption which in turn may "
"reduce anonymity."
msgstr ""
#: template/faq.html.j2:928
msgid "Are there any known attacks (on GNUnet's file-sharing application)?"
msgstr ""
#: template/faq.html.j2:930
msgid ""
"A: Generally, there is the possibility of a known plaintext attack on "
"keywords, but since the user has control over the keywords that are "
"associated with the content he inserts, the user can take advantage of the "
"same techniques used to generate reasonable passwords to defend against such "
"an attack. In any event, we are not trying to hide content; thus, unless the "
"user is trying to insert information into the network that can only be "
"shared with a small group of people, there is no real reason to try to "
"obfuscate the content by choosing a difficult keyword anyway."
msgstr ""
#: template/faq.html.j2:944
msgid "What do you mean by anonymity?"
msgstr ""
#: template/faq.html.j2:946
msgid ""
"A: Anonymity is the lack of distinction of an individual from a (large) "
"group. A central goal for anonymous file-sharing in GNUnet is to make all "
"users (peers) form a group and to make communications in that group "
"anonymous, that is, nobody (but the initiator) should be able to tell which "
"of the peers in the group originated the message. In other words, it should "
"be difficult to impossible for an adversary to distinguish between the "
"originating peer and all other peers."
msgstr ""
#: template/faq.html.j2:958
msgid "What does my system do when participating in GNUnet file sharing?"
msgstr ""
#: template/faq.html.j2:960
msgid ""
"A: In GNUnet you set up a node (a peer). It is identified by an ID (hash of "
"its public key) and has a number of addresses it is reachable by (may have "
"no addresses, for instance when it's behind a NAT). You specify bandwidth "
"limits (how much traffic GNUnet is allowed to consume) and datastore quote "
"(how large your on-disk block storage is) . Your node will then proceed to "
"connect to other nodes, becoming part of the network."
msgstr ""
#: template/faq.html.j2:975
msgid "How can I help translate this webpage into other languages?"
msgstr ""
#: template/faq.html.j2:977
msgid ""
"A: First, you need to register an account with our weblate system. Please "
"send an e-mail with the desired target language to translators@gnunet.org or "
"ask for help on the #gnunet chat on irc.freenode.net. Typically someone with "
"sufficient permissions will then grant you access. Naturally, any abuse will "
"result in the loss of permissions."
msgstr ""
#: template/faq.html.j2:989
msgid "I have some great idea for a new feature, what should I do?"
msgstr ""
#: template/faq.html.j2:991
msgid ""
"A: Sadly, we have many more feature requests than we can possibly implement. "
"The best way to actually get a new feature implemented is to do it yourself "
"--- and to then send us a patch."
msgstr ""
#: template/glossary.html.j2:7
msgid "Glossary"
msgstr ""
#: template/glossary.html.j2:13
msgid "Ego"
msgstr ""
#: template/glossary.html.j2:15
msgid ""
"We use the term \"Ego\" to refer to the fact that users in GNUnet can have "
"multiple unlinkable identities, in the sense of alter egos. The ability to "
"have more than one identity is crucial, as we may want to keep our egos for "
"business separate from those we use for political activities or romance.
"
"Egos in GNUnet are technically equivalent to identities (and the code does "
"not distinguish between them). We simply sometimes use the term \"ego\" to "
"stress that you can have more than one."
msgstr ""
#: template/glossary.html.j2:28
msgid "Identity"
msgstr ""
#: template/glossary.html.j2:30
msgid ""
"In GNUnet users are identified via a public key, and that public key is then "
"often referred to as the \"Identity\" of the user. However, the concept is "
"not as draconian as it often is in real life where many are forced to have "
"one name, one passport and one unique identification number.
As long as "
"identities in GNUnet are simply public keys, users are free to create any "
"number of identities, and we call those egos to emphasize the difference. "
"Even though users can create such egos freely, it is possible to have an ego "
"certified by some certification authority, resulting in something that more "
"closely resembles the traditional concept of an identity.
For example, a "
"university may certify the identities of its students such that they can "
"prove that they are studying. Students may keep their (certified) student "
"identity separate from other egos that they use for other activities in life."
msgstr ""
#: template/glossary.html.j2:51
msgid "Pseudonym"
msgstr ""
#: template/glossary.html.j2:53
msgid ""
"A pseudonym is an ego that is specifically intended to not be linked to "
"one's real name. GNUnet users can create many egos, and thus also many "
"pseudonyms.
Repeated uses of the same pseudonym are linkable by "
"definition, as they involve the same public key. Anonymity requires the use "
"of either the special \"anonymous\" pseudonym (for GNUnet, this is the "
"neutral element on the elliptic curve) or a throw-away pseudonym that is "
"only used once."
msgstr ""
#: template/glossary.html.j2:72
msgid "Namespaces"
msgstr ""
#: template/glossary.html.j2:74
msgid ""
"The GNU Name System allows every ego (or identity) to securely and privately "
"associate any number of label-value pairs with an ego. The values are called "
"record sets following the terminology of the Domain Name System (DNS). The "
"mapping of labels to record sets for a given ego is called a namespace.
"
"If records are made public and thus published, it is possible for other "
"users to lookup the record given the ego's public key and the label. Here, "
"not only the label can thus act as a passphrase but also the public key -- "
"which despite its name may not be public knowledge and is never disclosed by "
"the GNS protocol itself."
msgstr ""
#: template/glossary.html.j2:90
msgid "Peer"
msgstr ""
#: template/glossary.html.j2:92
msgid ""
"A \"peer\" is an instance of GNUnet with its own per-instance public key and "
"network addresses. Technically, it is possible to run multiple peers on the "
"same host, but this only makes sense for testing.
By design GNUnet "
"supports multiple users to share the same peer, just as UNIX is a multi-user "
"system. A \"peer\" typically consists of a set of foundational GNUnet "
"services running as the \"gnunet\" user and allowing all users in the "
"\"gnunet\" group to utilize the API. On multi-user systems, additional "
"\"personalized\" services may be required per user.
While peers are "
"also identified by public keys, these public keys are completely unrelated "
"to egos or identities. Namespaces cannot be associated with a peer, only "
"with egos."
msgstr ""
#: template/gns.html.j2:14 template/gnurl.html.j2:61
#: template/reclaim/index.html.j2:80 template/reclaim/motivation.html.j2:6
msgid "Motivation"
msgstr ""
#: template/gns.html.j2:16
msgid ""
"The Domain Name System today enables traffic amplification attacks, "
"censorship (i.e. China), mass surveillance (MORECOWBELL) and offensive cyber "
"war (QUANTUMDNS).
Unfortunately, band aid solutions such as DoT, DoH, "
"DNSSEC, DPRIVE and the like will not fix this. This is why we built the GNU "
"Name System (GNS), a secure, decentralized name system built on top of "
"GNUnet."
msgstr ""
#: template/gns.html.j2:29 template/reclaim/tech.html.j2:6
msgid "Overview"
msgstr ""
#: template/gns.html.j2:40
msgid ""
"The 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.
GNS is designed to provide: "
"- Censorship resistance
- Query privacy
- Secure name "
"resolution
- Compatibility with DNS
"
msgstr ""
#: template/gns.html.j2:53
msgid "Resources"
msgstr ""
#: template/gnurl.html.j2:22
msgid ""
"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only "
"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to "
"ensure a small footprint and uniform experience for developers regardless of "
"how libcurl was compiled."
msgstr ""
#: template/gnurl.html.j2:31
msgid ""
"Our main usecase is for GNUnet and Taler, but it might be usable for others, "
"hence we're releasing the code to the general public."
msgstr ""
#: template/gnurl.html.j2:38
msgid ""
"libgnurl is released under the same license as libcurl. Please read the "
"README for instructions, as you must supply the correct options to configure "
"to get a proper build of libgnurl."
msgstr ""
#: template/gnurl.html.j2:49
msgid "About gnurl"
msgstr ""
#: template/gnurl.html.j2:51
msgid ""
"Large parts of the following 6 paragraphs are old and need to be rewritten."
msgstr ""
#: template/gnurl.html.j2:63
msgid ""
"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but "
"other variants are used by some distributions. Supporting other crypto "
"backends would again expose us to a wider array of security issues, may "
"create licensing issues and most importantly introduce new bugs as some "
"crypto backends are known to introduce subtle runtime issues. While it is "
"possible to have two versions of libcurl installed on the same system, this "
"is error-prone, especially as if we are linked against the wrong version, "
"the bugs that arise might be rather subtle."
msgstr ""
#: template/gnurl.html.j2:76
msgid ""
"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it "
"would anyway be necessary to recompile cURL for GNUnet. But what happens if "
"one links cURL against this version of GnuTLS? Well, first one would install "
"GnuTLS by hand in the system. Then, we build cURL. cURL will build against "
"it just fine, but the linker will eventually complain bitterly. The reason "
"is that cURL also links against a bunch of other system libraries (gssapi, "
"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), "
"which --- as they are part of the distribution --- were linked against an "
"older version of GnuTLS. As a result, the same binary would be linked "
"against two different versions of GnuTLS. That is typically a recipe for "
"disaster. Thus, in order to avoid updating a dozen system libraries (and "
"having two versions of those installed), it is necessary to disable all of "
"those cURL features that GNUnet does not use, and there are many of those. "
"For GNUnet, the more obscure protocols supported by cURL are close to dead "
"code --- mostly harmless, but not useful. However, as some application may "
"use one of those features, distributions are typically forced to enable all "
"of those features, and thus including security issues that might arise from "
"that code."
msgstr ""
#: template/gnurl.html.j2:100
msgid ""
"So to use a modern version of GnuTLS, a sane approach is to disable all of "
"the \"optional\" features of cURL that drag in system libraries that link "
"against the older GnuTLS. That works, except that one should then NEVER "
"install that version of libcurl in say /usr or /usr/local, as that may break "
"other parts of the system that might depend on these features that we just "
"disabled. Libtool versioning doesn't help here, as it is not intended to "
"deal with libraries that have optional features. Naturally, installing cURL "
"somewhere else is also problematic, as we now need to be really careful that "
"the linker will link GNUnet against the right version. Note that none of "
"this can really be trivially fixed by the cURL developers."
msgstr ""
#: template/gnurl.html.j2:119
msgid "Rename to fix"
msgstr ""
#: template/gnurl.html.j2:121
#, python-format
msgid ""
"How does forking fix it? Easy. First, we can get rid of all of the "
"compatibility issues --- if you use libgnurl, you state that you don't "
"need anything but HTTP/HTTPS. Those applications that need more, should "
"stick with the original cURL. Those that do not, can choose to move to "
"something simpler. As the library gets a new name, we do not have to worry "
"about tons of packages breaking as soon as one rebuilds it. So renaming "
"itself and saying that \"libgnurl = libcurl with only HTTP/HTTPS support and "
"GnuTLS\" fixes 99%% of the problems that darkened my mood. Note that this "
"pretty much CANNOT be done without a fork, as renaming is an essential part "
"of the fix. Now, there might be creative solutions to achieve the same thing "
"within the standard cURL build system, but this was deemed to be too much "
"work when gnurl was originally started. The changes libgnurl makes to curl "
"are miniscule and can easily be applied again and again whenever libcurl "
"makes a new release."
msgstr ""
#: template/gnurl.html.j2:143
msgid "Using libgnurl"
msgstr ""
#: template/gnurl.html.j2:145
msgid ""
"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS "
"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". "
"That's it. No changes to the source code should be required, as libgnurl "
"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of "
"cURL. We might add new features relating to this core subset if they are "
"proposed, but so far we have kept our changes minimal and no additions to "
"the original curl source have been written."
msgstr ""
#: template/gnurl.html.j2:162
msgid "Gotchas"
msgstr ""
#: template/gnurl.html.j2:164
msgid ""
"libgnurl and gnurl are not intended to be used as a replacement for curl for "
"users:
This does not mean there is no confidence in the work done with "
"gnurl, it means that tools which expect curl or libcurl will not make use of "
"a different named binary and library. If you know what you are doing, you "
"should be able to use gnurl as part of your tooling in place of curl. We do "
"not recommend to do so however, as the only usage it is tested for so "
"far is as part of Taler's and GNunet's build-system.
Since "
"no conflicts in filenames occur you are not expected to remove curl to make "
"use of gnurl and viceversa."
msgstr ""
#: template/gnurl.html.j2:189
msgid "You can get the gnurl git repository using:"
msgstr ""
#: template/gnurl.html.j2:202
msgid "The versions are checked in as (signed) git tags."
msgstr ""
#: template/gnurl.html.j2:212
msgid ""
"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a "
"variety of distributions and package managers. Some Package Managers which "
"include gnurl are: GNU Guix"
"a> (available as \"gnurl\"), Gentoo "
"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc."
msgstr ""
#: template/gnurl.html.j2:229
msgid "Building gnurl"
msgstr ""
#: template/gnurl.html.j2:231
msgid ""
"We suggest to closely follow release announcements, as they might indicate "
"changes in how gnurl is to be build.
If your package manager provides a "
"binary build or build instructions to build gnurl from source automated and "
"integrated with your environment, we strongly suggest to use this binary "
"build.
There are two ways to build gnurl. The first one builds from the "
"most recent git tag, the second one uses the distributed tarball. "
"Distributors generally are supposed to build from the tarball, but we "
"describe both methods here. Both methods are written with a NetBSD 9 "
"userland in mind, substitute tools as necessary.
You should avoid"
"b> building gnurl from the tip of the default git branch, as only tags are "
"considered to be stable and approved builds."
msgstr ""
#: template/gnurl.html.j2:252
msgid "Building from the distributed tarball (prefered method)"
msgstr ""
#: template/gnurl.html.j2:254
msgid ""
"If you want to verify the signature, install an OpenPGP compatible tool such "
"as security/gnupgp2 (and set it up). Assuming you use pkgin:"
msgstr ""
#: template/gnurl.html.j2:268
msgid "Fetch the signature key from"
msgstr ""
#: template/gnurl.html.j2:272
msgid "or via commandline with gnupg2."
msgstr ""
#: template/gnurl.html.j2:277
msgid ""
"Fetch the release, the signature, the checksum file as well as its signature:"
msgstr ""
#: template/gnurl.html.j2:296
msgid ""
"verify the signatures, and verify the checksums against the checksums in "
"the .sum.txt file."
msgstr ""
#: template/gnurl.html.j2:302
msgid "unpack the tarball:"
msgstr ""
#: template/gnurl.html.j2:312
msgid "Change into the directory"
msgstr ""
#: template/gnurl.html.j2:322
msgid "Now you can either run"
msgstr ""
#: template/gnurl.html.j2:332
msgid "directly (and read configure-gnurl before you do so) or invoke"
msgstr ""
#: template/gnurl.html.j2:342
msgid ""
"and pass additional parameters such as a custom PREFIX location. Further "
"reference can be the"
msgstr ""
#: template/gnurl.html.j2:347
msgid "Now run"
msgstr ""
#: template/gnurl.html.j2:357
msgid "(this is optional)"
msgstr ""
#: template/gnurl.html.j2:366
msgid "and you are done."
msgstr ""
#: template/gnurl.html.j2:370
msgid "Building from a tagged git commit"
msgstr ""
#: template/gnurl.html.j2:372
msgid ""
"Follow the steps above, but instead of downloading the tarball, clone the "
"git tag you want to build from."
msgstr ""
#: template/gnurl.html.j2:383
msgid "Reporting Bugs"
msgstr ""
#: template/gnurl.html.j2:385
msgid ""
"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but "
"we prefer to track bugs on the bugtracker."
msgstr ""
#: template/gnurl.html.j2:396
msgid "Maintainer and Cryptographic signatures"
msgstr ""
#: template/gnurl.html.j2:398
msgid ""
"gnurl/libgnurl is looking for a new maintainer. Releases after version "
"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key "
"0xD6B570842F7E7F8D (keys.openpgp.org), with the "
"key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D."
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:8
msgid "GSoC 2018: GNUnet WebUI (GNUnet Web-based User Interface)"
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:12
msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann"
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:19
msgid ""
"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:"
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:33
msgid ""
"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."
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:42
msgid ""
"... 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."
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:55
msgid ""
"- The REST API developed in GNUnet
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"
"a> on gnunet.org. Then, start the rest service with \"gnunet-arm -i rest\". "
" - The Web Application
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> - The Documentation
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/'. "
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:92
msgid ""
"Please, give it a try and contact me, if you find any bugs or unintentional "
"features. ;)"
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:99
msgid ""
"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..."
msgstr ""
#: template/gsoc-2018-gnunet-webui.html.j2:112
msgid "Thanks for reading."
msgstr ""
#: template/gsoc.html.j2:7
msgid "GNUnet's Google Summer of Code projects"
msgstr ""
#: template/gsoc.html.j2:13 template/gsoc.html.j2:30
msgid "Ideas 2024"
msgstr ""
#: template/gsoc.html.j2:14 template/gsoc.html.j2:227
msgid "Past projects"
msgstr ""
#: template/gsoc.html.j2:15 template/gsoc.html.j2:723
msgid "Finished projects"
msgstr ""
#: template/gsoc.html.j2:22
msgid ""
"As a GNU project, GNUnet has participated in the Google Summer of Code "
"(GSoC) for a number of years. This page lists all current, past, and "
"finished projects. If you want to participate and apply for any of the ideas "
"for 2020 below or any past project which is not yet finished (or even your "
"own idea), please contact us on the mailing list."
msgstr ""
#: template/gsoc.html.j2:35
msgid ""
"The GNUnet team is currently working on a transport layer rewrite in order "
"to fix core issues with connectivity. This new component is currently "
"developed under the name \"TNG\". What is currently known as \"transport "
"plugins\" will in the TNG be represented as \"communicators\". Communicators "
"are processes with a well defined API that allow to connect peers over a "
"specific protocol. The primary protocol which are already implemented are "
"UNIX sockets, UDP sockets, and TCP sockets. For a truly resilient network, "
"other connectivity options such as WiFi mesh, Bluetooth, HTTP(S), QUIC or "
"even more obscure alternatives such as radio are required. In this project, "
"the goal is to select, implement and test new communicators. While TNG is "
"not yet ready, communicators can, by design, be developed and tested against "
"the current API. We expect that this project can be worked on by multiple "
"students as there are a lot of protocols to choose from. A QUIC communicator "
"has been written as part of GSoC 2023. The tasks would consist of: "
"- Deciding which communicators to implement.
- Test the "
"communicators.
- Documentation.
Expected outcome: "
"- At least one new communicator.
- Documentation of communicator "
"protocol and how to use.
Advantageous skills/languages/"
"frameworks: - C
- Knowledge of HTTPS, Bluetooth or WiFi.
"
"
Difficulty: Average, but depends on selected "
"protocols and library.
Size: 175h
"
"Mentors: Martin Schanzenbach, t3sserakt"
msgstr ""
#: template/gsoc.html.j2:89
msgid ""
"For special platforms such as Android, GNUnet must be usable as a single-"
"peer shared library. Since GNUnet's design fundamentally revolves around a "
"multi-process model that communicate via IPCs, this requires a major change "
"in how GNUnet processes are instantiated. A lot of progress in this "
"direction has already been made but some issues still remain. The project "
"tasks are to: - Get familiar with the GNUnet scheduler and envisioned "
"single-process architecture.
- Implement the single-process scheduler "
"and main loop.
- Demonstrate the functioning of this change (e.g. in "
"a simple Android App)
Expected outcome: - A new single-"
"process shared library to link against.
- Documentation on when and "
"how to build the single-process library.
- A demo application.
"
"ol> Advantageous skills/languages/frameworks: - C
- Socket "
"programming
- Scheduler and IO
Difficulty:"
"strong> Difficult
Size: 175h
Mentors:"
"strong> Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:129
msgid ""
"In the process of supporting a single-process GNUnet peer, the subsystem "
"REST plugins have been consolidated into a single, large REST server that "
"depends on all subsystems. In this work, the student should define and "
"implement a new architure that runs each subsystem's REST interface in its "
"own service, thus making the REST service more resilient and easier to "
"extend. The planned projects tasks are to: - Get familiar with the "
"existing REST service.
- Plan a multi-processes architecture for REST "
"services.
- Test and document the use of the new architecture / REST "
"service layer.
Expected outcome: - A new multi-process "
"REST service architecture.
- The current REST service is modified or "
"replaced with a multi-process service per subsystem.
- Architecture "
"and usage documentation.
Advantageous skills/languages/"
"frameworks: - C
- Socket programming
"
"Difficulty: Medium
Size: 175h
"
"Mentors: Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:168
msgid ""
"Our GTK interface for GNUnet is written using libglade and Gtk. It is "
"currently designed and compatible with Gtk+3 with already possibly including "
"a variety of deprecated functions. In this project the requirements for a "
"Gtk4 migration shall be worked out and the codebase migrated to the most "
"recent stable Gtk4 release. The difficulty of this project largely depends "
"on the students proficiency with build tools and Gtk. There non-exhaustive "
"task list would be: - Get familiar with the existing gnunet-gtk "
"architecture.
- Get familiar with Gtk4 and work out a migration path."
"
- Migrate gnunet-gtk to gtk4.
- (Optional) Ad-hoc UI "
"improvements where applicable
Advantageous skills/languages/"
"frameworks: - C
- Gtk
- User interfaces
Difficulty: Medium
Size: 350h
Mentors: Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:201
msgid ""
"The goal of this project is to enable users to store their GNU Taler wallet "
"backup encryption keys in the GNU Anastasis distributed key backup and "
"recovery system, and to use GNU Taler to pay GNU Anastasis service providers "
"for key storage and recovery. The project will focus on implementing the GNU "
"Anastasis user interface on Android inspired by the existing Gtk+ and WebUI "
"and integrating the result with the rest of the GNU Taler Android App."
msgstr ""
#: template/gsoc.html.j2:205
msgid ""
"Mentors: Christian Grothoff (GNU Anastasis) and Florian "
"Dold (GNU Taler)"
msgstr ""
#: template/gsoc.html.j2:210
msgid "Required Skills: Android UI development"
msgstr ""
#: template/gsoc.html.j2:215 template/gsoc.html.j2:255
#: template/gsoc.html.j2:358
msgid "Duration: 350h"
msgstr ""
#: template/gsoc.html.j2:220 template/gsoc.html.j2:260
#: template/gsoc.html.j2:448 template/gsoc.html.j2:658
#: template/gsoc.html.j2:789
msgid "Difficulty level: medium"
msgstr ""
#: template/gsoc.html.j2:234
msgid ""
"The goal is to either build upon the (outdated) GNUnet Rust bindings or to follow the path of https://github.com/bfix/gnunet-go which tries to "
"reimplement most of the GNUnet stack. The end result should be an extension "
"template for GNUnet in the form of the existing C template which allows to quickly start "
"implementing services and libraries for GNUnet."
msgstr ""
#: template/gsoc.html.j2:245 template/gsoc.html.j2:779
msgid "Mentors: Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:250
msgid "Required Skills: Solid knowledge of Rust and ideally asynchronuous IO."
msgstr ""
#: template/gsoc.html.j2:269
msgid ""
"reclaimID is a decentralized identity system build on top of the GNU Name "
"System. Currently, there is a Webextension which uses the GNUnet REST API. In order to improve adoption "
"and ease of use, this project aims to include a full GNUnet node within the "
"Webextention as a fallback. GNUnet can be compiled to Web Assembly or "
"JavaScript as demonstrated here. The idea "
"is to improve upon this concept and support more of GNUnet's subsystems. The "
"difficulty of this project largely depends on the students proficiency with "
"build tools, emscripten and improvisation skills. There non-exhaustive task "
"list would be: - Improve existing GNUnet emscripten build to include "
"more subsystems.
- Integrate the result into a Webextention.
"
"- Integrate the result into the re:claimID Webextension
"
"Advantageous skills/languages/frameworks: - C
- emscripten"
"li>
- Webextensions
Difficulty: "
"Challenging
Mentors: Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:305
msgid ""
"Currently, the keys in our statistics database are too verbose. For example: "
"
nse # flood messages received: 13
nse # peers connected: 4
nse # nodes in the network (estimate): 203
nse # flood messages "
"started: 5
nse # estimated network diameter: 3
nse # flood "
"messages transmitted: 10
With such verbose keys there's no "
"easy way to form compact JSON document or entries for time-series database. "
"And you can't query single stats without having to copypaste the line "
"exactly and put in quotes. In short, the goals are to...
- Think of a "
"way how statistics entries can be made canonical.
- Implement the "
"change and migrate existing uses.
- Document the format(s) and define "
"an appropriate registration mechanism for identifiers
Relevant "
"bugs: #5650
"
"Advantageous skills/languages/frameworks: - C
- HTML
"
"ol>
Difficulty: Beginner
Mentors:"
"strong> Martin Schanzenbach"
msgstr ""
#: template/gsoc.html.j2:344
msgid ""
"It is time for GNUnet to run properly on Android. Note that GNUnet is "
"written in C, and this is not about rewriting GNUnet in Java, but about "
"getting the C code to run on Android."
msgstr ""
#: template/gsoc.html.j2:351
msgid ""
"Includes: Implementation of rudimentary Android compatibility for GNUnet, in "
"part by porting the GNUnet utils scheduler to act as a thin wrapper over "
"libuv."
msgstr ""
#: template/gsoc.html.j2:363
msgid ""
"Mentors: Hartmut "
"Goebel, Jeff Burdges, Christian Grothoff"
msgstr ""
#: template/gsoc.html.j2:372
msgid ""
"There is a push for migrating our CI to Gitlab. The CI should eventually not "
"just run \"make check\" on various platforms, but also perform tests with "
"multiple peers running in different VMs with specific network topologies (i."
"e. NAT) between them being simulated. The CI should also be integrated with "
"Gauger for performance regression analysis. Running jobs only when "
"dependencies have changed and scripting more granular triggers or ideally "
"automatic dependency discovery (as done by the autotools) is also important."
msgstr ""
#: template/gsoc.html.j2:384
msgid "Mentors: TBD"
msgstr ""
#: template/gsoc.html.j2:394
msgid ""
"One great problem of the current Internet is the lack of disintermediation. "
"When people want to talk they need a chat service. When they want to share "
"files they need a file transfer service. Although GNUnet already possesses "
"quite advanced integration into Linux networking, a little extra work is "
"needed for existing applications like irc, www, ftp, rsh, nntpd to run over "
"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. "
"Once people have added a person to their GNS they can immediately message, "
"exchange files and suchlike directly, with nothing but the GNUnet in the "
"middle, using applications that have been distributed with unix systems ever "
"since the 1980's. We can produce an OS distribution where these things work "
"out of the box with the nicknames of people instead of cloud services. For "
"more information and context, read"
msgstr ""
#: template/gsoc.html.j2:415
msgid "Mentors: lynX & dvn"
msgstr ""
#: template/gsoc.html.j2:423
msgid ""
"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor."
msgstr ""
#: template/gsoc.html.j2:429 template/gsoc.html.j2:464
#: template/gsoc.html.j2:479
msgid "Mentors: Jeff Burdges"
msgstr ""
#: template/gsoc.html.j2:434
msgid ""
"Note: There was a Special TLDs spec to allow Tor to resolve domain names "
"using GNS over Tor too, but currently that's on hold until folks think more "
"about how names should be moved around the local system. We're calling this "
"more collaborative approach NSS2 for now."
msgstr ""
#: template/gsoc.html.j2:443 template/gsoc.html.j2:583
#: template/gsoc.html.j2:623 template/gsoc.html.j2:653
msgid "Required Skills: C"
msgstr ""
#: template/gsoc.html.j2:456
msgid ""
"Improve the Rust implementation of GNUnet utils, possibly including adding "
"support for asynchronous IO using mio, or perhaps a higher level "
"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or "
"gj."
msgstr ""
#: template/gsoc.html.j2:472
msgid ""
"Implementation of a replacement for PANDA (see Pond) with better security, "
"and maybe integration with the GNU Name System for key exchange."
msgstr ""
#: template/gsoc.html.j2:484
msgid "Required Skills: Rust or C, crypto"
msgstr ""
#: template/gsoc.html.j2:489 template/gsoc.html.j2:546
#: template/gsoc.html.j2:588 template/gsoc.html.j2:628
msgid "Difficulty level: high"
msgstr ""
#: template/gsoc.html.j2:497
msgid ""
"Implement different place types and file sharing by creating a new place for "
"the shared content."
msgstr ""
#: template/gsoc.html.j2:503
msgid "Place types to be implemented:"
msgstr ""
#: template/gsoc.html.j2:507
msgid ""
" - File: generic file with comments
- Image: display an image "
"with comments referencing a region of the image
- Sound: play a sound "
"file with comments referencing a timestamp
- Directory/Album: "
"pointers to File / Image / Sound places
- Event: with RSVP
"
"- Survey: ask your social neighborhood questions in a structured form
"
"
"
msgstr ""
#: template/gsoc.html.j2:518
msgid "Also provide the following UI functionality:"
msgstr ""
#: template/gsoc.html.j2:522
msgid ""
" - Fork existing channels, reorganize people into new chatrooms or "
"channels.
- Share a post (edit and repost something elsewhere, on a "
"fan page for example).
- Edit a previously published post + offer "
"edit history to readers.
- Control expiry of channel history.
"
"ul>"
msgstr ""
#: template/gsoc.html.j2:531
msgid ""
"See also http://secushare.org/"
"features"
msgstr ""
#: template/gsoc.html.j2:536
msgid "Mentors: lynX"
msgstr ""
#: template/gsoc.html.j2:541
msgid "Required Skills: C/C++"
msgstr ""
#: template/gsoc.html.j2:554
msgid ""
"Implement aggregation of distributed state from various channels in order to "
"provide for a powerful social graph API capable of producing social network "
"profiles, dashboards, a calendar out of upcoming event invitations (if "
"available), social search functionality and most of all to make it easy for "
"users to adopt cryptographic identities of their contacts/friends simply by "
"finding them in the social graph of their existing contacts (\"This is "
"Linda. You have 11 contacts in common with her. [ADD]\")."
msgstr ""
#: template/gsoc.html.j2:572
msgid ""
"Related to secushare.org/"
"rendezvous"
msgstr ""
#: template/gsoc.html.j2:578 template/gsoc.html.j2:618
msgid "Mentors: t3sserakt, lynX"
msgstr ""
#: template/gsoc.html.j2:595
msgid ""
" - Emulate IMAP/SMTP protocols as necessary to transform traditional "
"mail clients into secushare user interfaces.
- Think of ways to map "
"e-mail addresses to secushare identities.
- Encode or translate "
"various e-mail features into secushare equivalents.
- Parts of "
"secushare are currently written in Rust, therefore Rust is preferred for "
"this task but it is not an requirement.
"
msgstr ""
#: template/gsoc.html.j2:636
msgid ""
"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. "
"Specific tasks are adding smart contract creation and round time enforcement "
"to libbrandt as well as creating the GNUnet auction service, library and the "
"three user interface programs create, info and join."
msgstr ""
#: template/gsoc.html.j2:648
msgid "Mentors: mate, cg"
msgstr ""
#: template/gsoc.html.j2:666
msgid ""
"Implementation of additional transports to make GNUnet communication more "
"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-"
"over-DNS"
msgstr ""
#: template/gsoc.html.j2:673 template/gsoc.html.j2:687
msgid "Mentors: Matthias Wachs"
msgstr ""
#: template/gsoc.html.j2:681
msgid ""
"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole "
"punching, better STUN support)"
msgstr ""
#: template/gsoc.html.j2:695
msgid ""
"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges"
msgstr ""
#: template/gsoc.html.j2:703
msgid ""
"Improving libaboss to make computation on shared secrets (including repeated "
"multiplication) based on Ben-Or et al. if possible. This in particular means "
"moving libaboss to bignums (gcry_mpi)."
msgstr ""
#: template/gsoc.html.j2:716
msgid ""
"Please refer to the description for this project listed under GNU Guix "
"project ideas."
msgstr ""
#: template/gsoc.html.j2:729
msgid ""
"Python 2.7 is reaching its end-of-life, and we want to get rid of the "
"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper "
"around python-zbar, which itself wraps libzbar. The goal of this project is "
"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System "
"(see also #5562)."
msgstr ""
#: template/gsoc.html.j2:739
msgid "Mentors: Christian Grothoff"
msgstr ""
#: template/gsoc.html.j2:744
msgid "Required Skills:"
msgstr ""
#: template/gsoc.html.j2:749
msgid "Difficulty level:"
msgstr ""
#: template/gsoc.html.j2:754
msgid "Report:"
msgstr ""
#: template/gsoc.html.j2:759
msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC."
msgstr ""
#: template/gsoc.html.j2:769
msgid ""
"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet "
"to be determined framework such as Angular2. This includes the design and "
"implementation of not yet existing REST "
"APIs that expose the GNUnet API."
msgstr ""
#: template/gsoc.html.j2:784
msgid "Required Skills: C, JavaScript, CSS"
msgstr ""
#: template/gsoc.html.j2:794
msgid ""
"Report: GSoC 2018: GNUnet WebUI"
msgstr ""
#: template/index.html.j2:9
msgid "The Internet of tomorrow needs GNUnet today"
msgstr ""
#: template/index.html.j2:28
msgid "Latest news"
msgstr ""
#: template/index.html.j2:34
msgid "Older news entries"
msgstr ""
#: template/index.html.j2:49
msgid "The Internet is broken"
msgstr ""
#: template/index.html.j2:51
msgid ""
"The conventional Internet is currently like a system of roads with deep "
"potholes and highwaymen all over the place. Even if you still can use the "
"roads (e.g. send emails, or browse websites) your vehicle might get "
"hijacked, damaged, or long arms might reach into its back and steal your "
"items (data) to use it against you and sell it to others - while you can'"
"t even notice the thievery nor accuse and hold the scroungers accountable. "
" The Internet was not designed with security in mind: "
"protecting against address forgery, routers learning metadata, or choosing "
"trustworthy third parties is nontrivial and sometimes impossible. "
msgstr ""
#: template/index.html.j2:96
msgid "GNUnet helps building a new Internet"
msgstr ""
#: template/index.html.j2:98
msgid ""
"GNUnet is a network protocol stack for building secure, distributed, and "
"privacy-preserving applications.
With strong roots in academic research, our goal is to "
"replace the old insecure Internet protocol stack."
msgstr ""
#: template/index.html.j2:121
msgid "Metadata is exposed"
msgstr ""
#: template/index.html.j2:123
msgid ""
"Your metadata is just as revealing as the actual content; and it gets "
"exposed on the Internet.
Even though transport encryption is "
"increasingly being deployed on the Internet, it still reveals data that can "
"threaten democracy: the identities of senders and receivers, the times, "
"frequency and the volume of communication are all still revealed.
"
msgstr ""
#: template/index.html.j2:152
msgid "GNUnet provides privacy-by design"
msgstr ""
#: template/index.html.j2:154
msgid ""
"It provides improving addressing, routing, naming and content "
"distribution in a technically robust manner - as opposed to ad-hoc "
"designs in place today. "
msgstr ""
#: template/index.html.j2:179
msgid "Freedoms are not respected"
msgstr ""
#: template/index.html.j2:181
msgid ""
"Today, monitoring increasingly centralized infrastructure, proprietary "
"implementations, traffic shapers and firewalls restrict all of the essential freedoms to various degrees."
msgstr ""
#: template/index.html.j2:205
msgid "GNUnet supports a free and open society"
msgstr ""
#: template/index.html.j2:207
msgid ""
"GNUnet is a self-organizing network and it is free software as in "
"freedom. GNUnet puts you in control of your data. You determine which data "
"to share with whom, and you're not pressured to accept compromises. It "
"gives users freedoms to securely access information (\"run\" the network), "
"to study all aspects of the network's operation (\"access the code\"), "
"to distribute information (\"copy\"), as well as the freedom to deploy new "
"applications (\"modify\")."
msgstr ""
#: template/index.html.j2:231
msgid "The state of the art is inefficient"
msgstr ""
#: template/index.html.j2:233
msgid ""
"The ongoing hype around distributed ledgers and blockchains is detrimental "
"to the health of our planet."
msgstr ""
#: template/index.html.j2:254
msgid "Sustainability"
msgstr ""
#: template/index.html.j2:256
#, python-format
msgid ""
"GNUnet does not require a decentralized, public ledger. This eliminates the "
"need for wasteful, continuous consensus mechanisms, which do not scale and "
"are ecologically unsustainable. GNUnet and its applications employ "
"decentralization only where it provides the most value "
"and use more efficient technology stacks where needed."
msgstr ""
#: template/index.html.j2:278
msgid "Decentralization is the key, but hard"
msgstr ""
#: template/index.html.j2:281
msgid ""
" Instead of sharing common components and tools for "
"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the "
"potential number of vulnerabilities."
msgstr ""
#: template/index.html.j2:313
msgid "GNUnet is a framework"
msgstr ""
#: template/index.html.j2:315
msgid ""
"It offers a metadata-preserving foundation for your application. It offers "
"components for addressing, reliable encrypted channels with advanced routing "
"and resource discovery and naming. Our work is based on continuous research "
"spanning almost two decades."
msgstr ""
#: template/index.html.j2:335
msgid "Learn more"
msgstr ""
#: template/index.html.j2:344
msgid "Get started"
msgstr ""
#: template/install-on-archpi.html.j2:7
msgid "Tutorial: GNUnet on Arch Linux/Pi"
msgstr ""
#: template/install-on-archpi.html.j2:17
msgid "Requirements for Raspberry Pi 3"
msgstr ""
#: template/install-on-archpi.html.j2:41
msgid "Get the Source Code"
msgstr ""
#: template/install-on-archpi.html.j2:63
#: template/install-on-debian9.html.j2:132
msgid "In Addition: gnunet-gtk"
msgstr ""
#: template/install-on-archpi.html.j2:82
msgid "Run"
msgstr ""
#: template/install-on-archpi.html.j2:134
#: template/install-on-openwrt.html.j2:112
msgid "Make sure, it works!"
msgstr ""
#: template/install-on-debian9.html.j2:7
msgid "Tutorial: GNUnet on Debian 9"
msgstr ""
#: template/install-on-debian9.html.j2:10
#: template/install-on-ubuntu1804.html.j2:10
msgid "Introduction"
msgstr ""
#: template/install-on-debian9.html.j2:30 template/install-on-macos.html.j2:18
#: template/install-on-netbsd.html.j2:20
#: template/install-on-ubuntu1804.html.j2:27
msgid "Requirements"
msgstr ""
#: template/install-on-debian9.html.j2:47
#: template/install-on-ubuntu1804.html.j2:42
msgid "Make an installation directory"
msgstr ""
#: template/install-on-debian9.html.j2:61 template/install-on-macos.html.j2:135
#: template/install-on-netbsd.html.j2:238
#: template/install-on-ubuntu1804.html.j2:54
msgid "Get the source code"
msgstr ""
#: template/install-on-debian9.html.j2:80 template/install-on-macos.html.j2:143
#: template/install-on-netbsd.html.j2:246
#: template/install-on-ubuntu1804.html.j2:62
msgid "Compile and Install"
msgstr ""
#: template/install-on-debian9.html.j2:105
#: template/install-on-ubuntu1804.html.j2:71
msgid "Option 1: GNUnet for testing / usage"
msgstr ""
#: template/install-on-debian9.html.j2:118
#: template/install-on-ubuntu1804.html.j2:83
msgid "Option 2: GNUnet for development"
msgstr ""
#: template/install-on-debian9.html.j2:155
#: template/install-on-ubuntu1804.html.j2:98
msgid "Install GNUnet plugin for name resolution"
msgstr ""
#: template/install-on-debian9.html.j2:209
#: template/install-on-ubuntu1804.html.j2:135
msgid "Create configuration file"
msgstr ""
#: template/install-on-debian9.html.j2:229
#: template/install-on-ubuntu1804.html.j2:157
msgid "Use GNUnet!"
msgstr ""
#: template/install-on-debian9.html.j2:234
#: template/install-on-ubuntu1804.html.j2:163
msgid "Uninstall GNUnet and its dependencies"
msgstr ""
#: template/install-on-macos.html.j2:7
msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)"
msgstr ""
#: template/install-on-macos.html.j2:25 template/install-on-netbsd.html.j2:37
#: template/install-on-openwrt.html.j2:16
msgid "Installation"
msgstr ""
#: template/install-on-macos.html.j2:43 template/install-on-netbsd.html.j2:116
msgid "First steps"
msgstr ""
#: template/install-on-macos.html.j2:110 template/install-on-netbsd.html.j2:196
msgid "Alternative: Installation from source"
msgstr ""
#: template/install-on-macos.html.j2:155 template/install-on-netbsd.html.j2:266
msgid "Option 1: GNUnet for production / usage"
msgstr ""
#: template/install-on-macos.html.j2:188 template/install-on-netbsd.html.j2:294
msgid "Option 2: GNUnet experimental"
msgstr ""
#: template/install-on-netbsd.html.j2:7
msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT"
msgstr ""
#: template/install-on-openwrt.html.j2:7
msgid "Tutorial: GNUnet on OpenWrt"
msgstr ""
#: template/install-on-openwrt.html.j2:48 template/l2o/mile1.html.j2:114
#: template/l2o/mile2.html.j2:64 template/l2o/mile3.html.j2:93
#: template/l2o/mile4.html.j2:71 template/l2o/mile5.html.j2:63
#: template/l2o/mile6.html.j2:45
msgid "Configuration"
msgstr ""
#: template/install-on-openwrt.html.j2:77
msgid "Use"
msgstr ""
#: template/install-on-ubuntu1804.html.j2:7
msgid "Tutorial: GNUnet on Ubuntu 18.04"
msgstr ""
#: template/install.html.j2:7
msgid "Install"
msgstr ""
#: template/install.html.j2:12
msgid ""
"Notice: GNUnet is still undergoing major development. It is largely not "
"yet ready for usage beyond developers."
msgstr ""
#: template/install.html.j2:17
msgid ""
"Please be aware that this project is still in an early alpha stage when "
"it comes to running software – its not an easy task to rewrite the "
"whole Internet! We are happy to get your helping "
"hand anytime! Further information is available in our handbook. If you have any queries "
"about the installation or the usage, please get in "
"touch!
"
msgstr ""
#: template/install.html.j2:29
msgid ""
"We recommend to use binary packages provided by the package manager "
"integrated within your Operating System. GNUnet is reportedly available for "
"at least: If GNUnet is "
"available for your Operating System and it is missing, send us feedback so "
"that we can add it to this list. Furthermore, if you are interested in "
"packaging GNUnet for your Operating System, get in touch with us at gnunet-"
"developers@gnu.org if you require help with this job. If you were using an "
"Operating System with the APT package manager, GNUnet could be installed as "
"simple as:"
msgstr ""
#: template/install.html.j2:65
msgid ""
"Next we describe a generic way to install from source. If you are using one "
"of the following Operating Systems these step-by-step guides might be "
"useful: ArchPi, Debian 9, Mac OS, "
"NetBSD, Ubuntu 1804. Be aware that not all of them might be "
"totally up-to-date! Please ask us if you get "
"stuck."
msgstr ""
#: template/install.html.j2:79
msgid ""
"First, install the required dependencies of GNUnet. There are base requirements "
"and optional requirements."
msgstr ""
#: template/install.html.j2:85
msgid ""
"Now, you need to decide if you want to install GNUnet from the release "
"tarball or from git. If you want to use GNUnet and there is no binary "
"package available for your OS, you should stick with the release tarball. If "
"you want to develop using the most recent build, you should go with the git repository."
msgstr ""
#: template/install.html.j2:102
msgid "To compile gnunet from the git source you can do so by entering:"
msgstr ""
#: template/install.html.j2:110
msgid ""
"Before building GNUnet, make sure that you setup the required groups and add "
"your user to the group gnunet
:"
msgstr ""
#: template/install.html.j2:121
msgid "To compile GNUnet, execute:"
msgstr ""
#: template/install.html.j2:132
msgid ""
"You can find more configuration flags in the README.
Install GNUnet with:"
msgstr ""
#: template/install.html.j2:142
msgid "You can now start GNUnet by running:"
msgstr ""
#: template/install.html.j2:150
msgid ""
"Check the handbook for detailed documentation. For a more hands-on "
"experience, continue here."
msgstr ""
#: template/livingstandards.html.j2:12
msgid "On this page you can find links to our technical specifications."
msgstr ""
#: template/use.html.j2:7
msgid "How to use GNUnet - in a nutshell"
msgstr ""
#: template/use.html.j2:13 template/use.html.j2:126
msgid "Filesharing"
msgstr ""
#: template/use.html.j2:14
msgid "CADET"
msgstr ""
#: template/use.html.j2:15
msgid "Convenient Messenger"
msgstr ""
#: template/use.html.j2:16
msgid "GNS with CLI"
msgstr ""
#: template/use.html.j2:17
msgid "GNS with Browser"
msgstr ""
#: template/use.html.j2:18 template/use.html.j2:429
msgid "VPN"
msgstr ""
#: template/use.html.j2:19 template/use.html.j2:489
msgid "Conversation"
msgstr ""
#: template/use.html.j2:20 template/use.html.j2:500
msgid "Trouble Shooting"
msgstr ""
#: template/use.html.j2:35
msgid "Accessing GNUnet"
msgstr ""
#: template/use.html.j2:79
msgid "Leaving GNUnet"
msgstr ""
#: template/use.html.j2:89
msgid "Make sure your GNUnet installation works..."
msgstr ""
#: template/use.html.j2:108
msgid "... and play around with it."
msgstr ""
#: template/use.html.j2:180
msgid "CADET (and Chat)"
msgstr ""
#: template/use.html.j2:218
msgid "Chatting with a convenient client"
msgstr ""
#: template/use.html.j2:264
msgid "Name resolution using GNS on the command line"
msgstr ""
#: template/use.html.j2:341
msgid "Name resolution using GNS with a browser"
msgstr ""
#: template/use.html.j2:502
msgid "You can't reach other people's nodes"
msgstr ""
#: template/use.html.j2:538
msgid "OMG you guys broke my internet"
msgstr ""
#: template/video.html.j2:13
msgid "Videos related to GNUnet"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:9
msgid "Developer page: t3sserakt"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:24
msgid "Current Work"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:26
msgid ""
"Today consumer devices are behind a NAT quite often, restricting internet "
"connectivity. There are several methods to reach peers being behind a NAT, "
"but there are as many reasons those existing methods might fail. We will "
"implement a new way of NAT traversal that we think of being independent from "
"the existing network configuration, and does not require a third party which "
"is not natted helping two peers to connect to each other. For details have a "
"look on the project page"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:44
msgid "Past Project"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:46
msgid "Transport Next Generation"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:48
msgid ""
"The current GNUnet TRANSPORT architecture with its pluggable transport "
"mechanism (TCP, UDP, HTTP(S) and other protocols) together with the ATS "
"subsystem for bandwidth allocation and choosing plugins has several issues "
"with its design. With the Layer-2-Overlay project we like to implement the "
"design goals of the future GNUnet TRANSPORT Next Generation (TNG) subsystem. "
"For details have a look on the project page."
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:63
msgid "Voluntary Work"
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:65
msgid ""
"In the past I have tried to help making the vision of the secushare project a reality. To achieve this the GNUnet "
"framework was the perfect match for a solution to fullfill the privacy "
"preserving part of that vision, and we could concentrate to build a tool for "
"social communication that deserves its name. While trying to use GNUnet, we "
"found and fixed bugs. For example there was one bug in CADET which prevented the re-"
"establishment of a connection after a communication partner suddenly stopped "
"communicating. From our perspective there is no alternativ to GNUnet, which "
"led us to first bring the parts of GNUnet needed by secushare to a state "
"that they can be used prouctively."
msgstr ""
#: template/dev_pages/t3sserakt.html.j2:80
msgid "Contact Information"
msgstr ""
#: template/l2o/index.html.j2:7 template/l2o/mile1.html.j2:7
#: template/l2o/mile2.html.j2:7 template/l2o/mile3.html.j2:7
#: template/l2o/mile4.html.j2:7 template/l2o/mile5.html.j2:7
#: template/l2o/mile6.html.j2:7 template/l2o/mile7.html.j2:7
#: template/l2o/mile8.html.j2:7 template/l2o/mile9.html.j2:7
#: template/l2o/testng.html.j2:7
msgid "NGI Assure project: Layer-2-Overlay"
msgstr ""
#: template/l2o/index.html.j2:13 template/l2o/index.html.j2:38
#: template/probnat/index.html.j2:13 template/probnat/index.html.j2:35
msgid "Project motivation"
msgstr ""
#: template/l2o/index.html.j2:14
msgid "New Test Framework"
msgstr ""
#: template/l2o/index.html.j2:15 template/l2o/index.html.j2:78
#: template/probnat/index.html.j2:14 template/probnat/index.html.j2:64
msgid "Milestones"
msgstr ""
#: template/l2o/index.html.j2:16 template/probnat/index.html.j2:15
msgid "Milestone 1"
msgstr ""
#: template/l2o/index.html.j2:17 template/probnat/index.html.j2:16
msgid "Milestone 2"
msgstr ""
#: template/l2o/index.html.j2:18 template/probnat/index.html.j2:17
msgid "Milestone 3"
msgstr ""
#: template/l2o/index.html.j2:19 template/probnat/index.html.j2:18
msgid "Milestone 4"
msgstr ""
#: template/l2o/index.html.j2:20 template/probnat/index.html.j2:19
msgid "Milestone 5"
msgstr ""
#: template/l2o/index.html.j2:21 template/probnat/index.html.j2:20
msgid "Milestone 6"
msgstr ""
#: template/l2o/index.html.j2:22 template/probnat/index.html.j2:21
msgid "Milestone 7"
msgstr ""
#: template/l2o/index.html.j2:23
msgid "Milestone 8"
msgstr ""
#: template/l2o/index.html.j2:24
msgid "Milestone 9"
msgstr ""
#: template/l2o/index.html.j2:31
msgid ""
"This project was funded through the NGI Assure Fund, a fund established by "
"NLnet."
msgstr ""
#: template/l2o/index.html.j2:43
msgid ""
"The current GNUnet TRANSPORT architecture with its pluggable "
"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
"the ATS subsystem for bandwidth allocation and choosing plugins has several "
"issues with its design. With the Layer-2-Overlay project we "
"like to implement the design goals of the future GNUnet TRANSPORT "
"Next Generation (TNG) subsystem. One major change in the design is to "
"separate the protocol plugins into processes (now called communicators) "
"detached from the main transport service. Three communicators were already "
"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
"maintain, because it is cluttered with \"manipulation\" support code for "
"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
"especially with TESTBED which has its own design flaws, and test code which "
"is very hard to read to get an idea what the test code is doing. Therefore "
"the first task (milestone 1) is to implement a new testing framework which "
"uses network namespaces to make testing of TNG much easier. Have a look into "
"what is planed for Layer-2-Overlay in the milestones."
msgstr ""
#: template/l2o/index.html.j2:54
msgid "New Test Framwork"
msgstr ""
#: template/l2o/index.html.j2:58
msgid "Command Style Pattern"
msgstr ""
#: template/l2o/index.html.j2:62
msgid ""
"The new style of writing tests in GNUnet is borrowed from the GNU "
"Taler testing library. In milestone 1 we "
"implemented commands to setup the netjails, the "
"test environment for each peer, to start a single peers and sending a simple "
"test message. Because some commands depend on other commands to be finished, "
"and those commands are asynchronous, we needed additional functionality in "
"the command interpreter library to block execution until some commands are "
"finished (e.g. all peers needs to be running, before peers starting to send "
"messages). For a detailed description have a look into the testing ng documentation."
msgstr ""
#: template/l2o/index.html.j2:68
msgid "Netjails"
msgstr ""
#: template/l2o/index.html.j2:72
msgid ""
"To do extensive testing of the new transport implementation one needs to "
"simulate various network topologies to enable faking network characteristics "
"like lossy connections or firewalls. To achieve this we are working with network "
"namespace. We have commands for starting and stopping network "
"namespaces. Those commands are scripts, which are using several shell "
"commands to setup the network namespace. A third script then is responsible "
"for start a GNUnet helper. This helper can load plugins. Each plugin "
"represents some test case. Per node in the network namespaces one helper is "
"started, which means on each node is a local interpreter loop running. For a "
"detailed description have a look into the testing ng "
"documentation."
msgstr ""
#: template/l2o/index.html.j2:82
msgid "Milestone 1 Test Infrastructure and minimal Test Case"
msgstr ""
#: template/l2o/index.html.j2:85
msgid ""
"The first subtask consists of implementing a framework for setting up VLANs "
"between network namespaces and a framework to test communication between "
"peers which are running in those VLANs. Finally a minimal Test Case will be "
"implemented. Despite the fact that the transport service is already able to "
"use several communicators (transport protocol implementations), it will only "
"use the tcp communicator, not the unix socket nor the udp communicator, "
"which already are in place and working. - SUID helpers to setup "
"network namespace and starting peers with network namespace.
- Basic "
"transport-level operations (get address, send, receive, connect).
"
"- Peers connected through test and transfer data.
"
msgstr ""
#: template/l2o/index.html.j2:97
msgid ""
"First MVP which uses the TCP communicator to send messages between peers. "
"The deliverable can be verified through out the specific test cases running "
"in the GNUnet CI. Details"
msgstr ""
#: template/l2o/index.html.j2:105
msgid "Milestone 2 Enhancing Test Framework"
msgstr ""
#: template/l2o/index.html.j2:108
msgid ""
"To test more complex functionality we need to enhance the capabilities of "
"the testing framework. Hooks for performance measurement will be "
"implemented. - Enhancing transport-level operations.
- Block "
"execution of commands at a peer. (Barriers).
"
msgstr ""
#: template/l2o/index.html.j2:118
msgid ""
"Outcome of this deliverable are advanced test cases (again verifiable in the "
"GNUnet continuous integration (CI)). Details"
msgstr ""
#: template/l2o/index.html.j2:126
msgid "Milestone 3 UDP integration"
msgstr ""
#: template/l2o/index.html.j2:129
msgid ""
"With this subtask I will implement enhanced L2O features like using "
"unidirectional transport protocols with backchannels. Addresses by which a "
"peer can be reached can be delivered on handshake or by UDP broadcast. With "
"this milestone the transport service will be able to use more than one "
"communicator (pluggable transport). - unidirectional communication "
"and backchannels.
- UDP broadcast.
"
msgstr ""
#: template/l2o/index.html.j2:139
msgid ""
"The CI contains test cases which uses the UDP protocol to message between "
"peers and to learn about “foreign” peers. Details"
msgstr ""
#: template/l2o/index.html.j2:147
msgid "Milestone 4 Distance Vector"
msgstr ""
#: template/l2o/index.html.j2:150
msgid ""
"In this subtask I will enhance connectivity to peers not directly connected. "
"Therefore peers have to act as relay. To achieve this there is the distance "
"vector protocol. The DV algorithm sends out so called learn messages to "
"other peers. If those learn messages are coming back to the initiating peer "
"via some other peer and the path does not return to any other peer we have a "
"circle path. If there are bidirectional connections between peers somewhere "
"in the DV path and the learn message comes back to a peer we call it inverse "
"path."
msgstr ""
#: template/l2o/index.html.j2:156
msgid ""
"The CI contains test cases with a setup of peers not connected directly. The "
"test cases proof that each peer can reach any other peer. We have test cases "
"for the circle path and for the inverse path. Details"
msgstr ""
#: template/l2o/index.html.j2:163
msgid "Milestone 5 NAT Traversal"
msgstr ""
#: template/l2o/index.html.j2:166
msgid ""
"This subtask will make peers behind NAT reachable. Two simple traversal "
"methods will be implemented. - NAT traversal via UpnPC.
"
"- Autonomous NAT Traversal using fake ICMP messages.
"
msgstr ""
#: template/l2o/index.html.j2:176
msgid ""
"The CI contains test case with a peer setup containing peer behind a NAT. "
"The test cases proof that each peer can be reached, even if that peer is "
"behind a NAT. The test case are measuring the performance. This measurement "
"is used to compare with the outcome of the next milestone. This result of "
"this milestone will be a first stable release. Details"
msgstr ""
#: template/l2o/index.html.j2:183
msgid "Milestone 6 Optimization"
msgstr ""
#: template/l2o/index.html.j2:186
msgid ""
"In this subtask I will implement algorithms (flow and congestion control, "
"quality of service optimizations) which will select the optimal transport "
"protocol for a given situation. I will analyze potential performance gains "
"by integrating libraries of the interpeer project. If the effort of "
"integrating interpeer presumably would lead to better performance than other "
"optimizations of the same amount of work, this integration is done. I will "
"finish the project with a performance analysis to optimize the selection "
"logic. - Queue management.
- Interpeer project synergy
"
"- Analysis of the interpeer project in regard to integrate it into GNUnet."
"
- Optional integration into GNUnet, if it can be done at all and in "
"a reasonable amount of work.
- Commands for performance "
"measurement(s).
- Performance analysis.
"
msgstr ""
#: template/l2o/index.html.j2:206
msgid ""
"The test cases in the CI are measuring the performance gains. This "
"measurement can be compared with the measurement of milestone 5. Again one "
"outcome of this milestone will be a stable release.
Documentation of "
"the interpeer project analysis. More Details."
msgstr ""
#: template/l2o/index.html.j2:214
msgid "Milestone 7 Removing deprecated code"
msgstr ""
#: template/l2o/index.html.j2:217
msgid ""
"The code of the old transport API and of the ATS API will be removed from "
"the code base. This is mainly the use of the API in the Core layer, and "
"suggesting addresses to connect to other peers in all kinds of other GNUnet "
"layers. Additionally all tests which rely on the removed code will be set "
"inactive. All usages of the old APIs will be removed. If it is not much work "
"to replace the old with the new API this will be done directly, otherwise "
"there will be a TODO comment what needs to be doneto make that part of the "
"code working again with the new code. Documentation of code that will be "
"deleted without replacement, because the functionality is missing in the new "
"API."
msgstr ""
#: template/l2o/index.html.j2:228
msgid ""
"Removed APIs from code base, deactivated dependent tests and either "
"documentation of what is necessary for the integration of the new API, or if "
"the effort for this is as high as the documentation directly the "
"implementation. More Details."
msgstr ""
#: template/l2o/index.html.j2:236
msgid "Milestone 8 Make GNUnet start again"
msgstr ""
#: template/l2o/index.html.j2:239
msgid ""
"All missing implementations of the new API will be finished, necessary to "
"make GNUnet start and being usable for its basic functionality (DHT, GNS, "
"CADET, FS, Messenger …)."
msgstr ""
#: template/l2o/index.html.j2:246
msgid "GNUnet running with new API. More Details."
msgstr ""
#: template/l2o/index.html.j2:252
msgid "Milestone 9 Testing and Fixing"
msgstr ""
#: template/l2o/index.html.j2:255
msgid ""
"Because all integration tests are deactivated, and there are no resources to "
"rewrite them at the time being, extensive manual testing and certainly bug "
"fixing is necessary."
msgstr ""
#: template/l2o/index.html.j2:262
msgid ""
"GNUnet release running with new API. More Details."
msgstr ""
#: template/l2o/mile1.html.j2:13 template/l2o/mile2.html.j2:13
#: template/l2o/mile3.html.j2:13 template/l2o/mile4.html.j2:13
#: template/l2o/mile5.html.j2:13 template/l2o/mile6.html.j2:13
#: template/l2o/mile7.html.j2:13 template/l2o/mile8.html.j2:13
#: template/l2o/mile9.html.j2:13 template/l2o/testng.html.j2:13
#: template/probnat/mile1.html.j2:13
msgid "Project main page"
msgstr ""
#: template/l2o/mile1.html.j2:21 template/l2o/mile2.html.j2:21
#: template/l2o/mile3.html.j2:30 template/l2o/mile4.html.j2:41
msgid "Master Loop"
msgstr ""
#: template/l2o/mile1.html.j2:23
msgid ""
" src/transport/test_transport_api_cmd_simple_send.c | Binary for starting the simple send test. "
"Obsolete in current code base! |
| |
src/testing/netjail_start.sh"
"td> | Script to setup the "
"netjail topology. Will be execute by the following command. |
"
"src/testing/"
"testing_api_cmd_netjail_start.c | Command to create the netjail setup. |
| "
"td> |
src/testing/"
"netjail_exec.sh | Script "
"to execute a local test interpreter per node. Will be execute by the "
"following command. |
| |
src/testing/"
"testing_api_cmd_netjail_start_testsystem.c | Command to start the helper processes. | "
"
| |
src/testing/testing_api_cmd_netjail_stop_testsystem.c | Command to stop the helper "
"processes. |
| |
src/testing/netjail_stop.sh | Script to stop the netjail "
"topology. |
| |
src/testing/testing_api_cmd_netjail_stop.c"
"td> | Command to stop the test "
"setup. |
| |
"
msgstr ""
#: template/l2o/mile1.html.j2:66 template/l2o/mile2.html.j2:49
#: template/l2o/mile3.html.j2:67 template/l2o/mile4.html.j2:56
msgid "Local Loop"
msgstr ""
#: template/l2o/mile1.html.j2:68
msgid ""
" src/testing/gnunet-cmds-helper.c | Helper to start the local interpreter loop. |
"
"td> | |
src/transport/test_transport_plugin_cmd_simple_send.c | Plugin which creates the cmds for the "
"simple send test case. |
src/testing/testing_api_cmd_system_create.c | Command to create a local test system."
"td> |
| |
src/transport/transport_api_cmd_start_peer.c | Command to start a peer. | "
"
| |
src/transport/transport_api_cmd_connecting_peers.c | Command to connect two peers."
"td> |
| |
src/transport/"
"transport_api_cmd_send_simple.c | Command to send a simple message from one peer to another."
"td> |
| |
src/transport/transport_api_cmd_stop_peer.c | Command to stop a peer. |
"
"td> | |
src/testing/testing_api_cmd_system_destroy.c | Command to destroy the local test system."
"td> |
| |
src/testing/testing_api_cmd_local_test_finished.c"
"td> | Command to send a message to the master loop, if the local loop has "
"finished. |
"
msgstr ""
#: template/l2o/mile1.html.j2:116
msgid ""
" src/transport/test_transport_api2_tcp_node1.conf | Configuration for the first node running "
"during the simple send test case. |
| |
"
"src/transport/"
"test_transport_api2_tcp_node2.conf | Configuration for the second node running during the simple "
"send test case. |
"
msgstr ""
#: template/l2o/mile2.html.j2:23
msgid ""
" src/transport/test_transport_simple_send.sh | Introduced scripts to start the tests. The "
"script checks, if a kernel parameter is set to allow unprivileged users to "
"create network namespaces. The script than starts the following gerneric "
"binary in a network namespace. |
| |
src/transport/"
"test_transport_start_with_config.c | A generic binary to start a test case which will be configured "
"by a configuration file. |
src/testing/testing.c | Added code to read netjail topology from a file. |
"
" | |
src/testing/topo.sh | Script which reads the topology from a file for the use in the other "
"netjail scripts. |
| |
All already existing commands. | All commands changed to work "
"with the topology data. |
"
msgstr ""
#: template/l2o/mile2.html.j2:51
msgid ""
" src/testing/testing_api_cmd_send_peer_ready.c | Command to send a message to the master loop "
"if a peer has started in local loop. |
| |
"
" src/testing/"
"testing_api_cmd_local_test_prepared.c | Command to send a message to the master loop if a peer is "
"ready to shutdown. |
"
msgstr ""
#: template/l2o/mile2.html.j2:66
msgid ""
" src/transport/transport_api_cmd_start_peer.c | Command now uses a configuration template for "
"the peer configuration. |
| |
test_transport_simple_send_topo."
"conf | Topology "
"configuration file for the simple send test case. |
"
msgstr ""
#: template/l2o/mile3.html.j2:21
msgid "Bug fixing"
msgstr ""
#: template/l2o/mile3.html.j2:23
msgid ""
"Some bugs in the tng service and communicator code which were found with new "
"tests were fixed."
msgstr ""
#: template/l2o/mile3.html.j2:32
msgid ""
" src/transport/test_transport_udp_backchannel.sh | Added script to start the udp backchannel "
"test case. |
| |
src/transport/"
"test_transport_simple_send_broadcast.sh | Added script for the UDB broadcast test. | "
"
| |
src/transport/test_transport_simple_send_string.sh | Added script as an example to "
"start a test with inline topology configuration string. |
"
"td> | |
All commands | Changed "
"code to handle strings with topology information. |
"
"td> | |
src/testing/netjail_start.sh | Changed the netjail start script to configure port forwarding "
"for specific protocols (tcp, udp). |
| |
"
" src/testing/netjail_*."
"sh | Moved to contrib/"
"netjail directory |
"
msgstr ""
#: template/l2o/mile3.html.j2:69
msgid ""
" src/transport/test_transport_plugin_cmd_simple_send_broadcast.c | New plugin for the udp "
"broadcast test case. |
| |
src/transport/"
"test_transport_plugin_cmd_udp_backchannel.c | New plugin for the udp backchannel test case."
" |
| |
src/transport/transport_api_cmd_backchannel_check.c | Command to check for a udp "
"backchannel specific log entry. |
| |
"
" src/testing/"
"testing_api_cmd_block_until_external_trigger.cc | Command to block the local loop until "
"triggered by a external signal. |
"
msgstr ""
#: template/l2o/mile3.html.j2:95
msgid ""
" src/transport/test_transport_simple_send_broadcast_topo.conf | Topology configuration for the "
"broadcast test. |
| |
test_transport_udp_backchannel_topo.conf"
"td> | Topology configuration "
"file for the udp backchannel test case. |
"
msgstr ""
#: template/l2o/mile4.html.j2:21 template/l2o/mile5.html.j2:32
#: template/l2o/mile6.html.j2:21
msgid "TNG Service"
msgstr ""
#: template/l2o/mile4.html.j2:23
msgid ""
" - Added caching for Core messages, if confirmed virtual link is "
"missing.
- Addd caching for DV forwarding, if confirmed virtual link "
"is missing.
- Fixed bugs in fragmentation logic.
- Fixed bugs "
"in fragmentation logic.
- Fixed bugs in flow control logic.
"
"- Fixed Bug with lifetime of DV learn message. (Validation against replay "
"attack still missing.)
- Fixed Bug in rekeying logic of the TCP "
"communicator
"
msgstr ""
#: template/l2o/mile4.html.j2:43
msgid ""
" src/transport/test_transport_simple_send_dv_inverse.sh | Added script to start the inverse distance "
"vector test case. |
| |
src/transport/"
"test_transport_simple_send_dv_circle.sh | Added script to start the circle distance "
"vector test case. |
"
msgstr ""
#: template/l2o/mile4.html.j2:58
msgid ""
" src/transport/transport_api_cmd_connecting_peers.c | Added logic to handle counting additonal "
"connection per peer. |
| |
src/transport/"
"test_transport_plugin_cmd_simple_send_dv.c | Added plugin which creates the commands for "
"the distance vector test cases. |
"
msgstr ""
#: template/l2o/mile4.html.j2:73
msgid ""
" src/transport/test_transport_distance_vector_inverse_topo.conf | Configuration for the DV "
"inverse path test case. |
| |
src/transport/"
"test_transport_distance_vector_circle_topo.conf | Configuration for the DV circle path test "
"case. |
| |
src/testing/netjail_start.sh | Enhanced port forwarding "
"configuration to restrict port forwarding to specific source IPs. |
"
" | |
contrib/netjail/topo.sh | Make specific nodes configurable as source node for IP forwarding. | "
"
| |
src/testing/testing.c | Helper methods to retrieve the number of additional "
"connections globally and per peer, and which peer is allowed as source for "
"IP forwarding. |
"
msgstr ""
#: template/l2o/mile5.html.j2:21
msgid "Testing Framework"
msgstr ""
#: template/l2o/mile5.html.j2:23
msgid ""
""
msgstr ""
#: template/l2o/mile5.html.j2:34
msgid ""
" - Added nat reversal code to tcp communicator. Prepared udp "
"communicator.
- Added tcp icmp nat hole punching test case script, "
"and fixed bugs occuring during shutdown.
- src/transport/"
"test_transport_nat_icmp_tcp.sh
- Added performance test case."
"li>
- src/transport/test_transport_plugin_cmd_simple_send_performance."
"c
- src/transport/test_transport_simple_send_performance.sh
"
"- src/transport/test_transport_simple_send_performance_topo.conf
"
"- src/transport/transport_api_cmd_send_simple_performance.c
"
" - Fixed bug happening during check for pending validation requests after "
"nat reversal.
- Fixed bug of QueueEntry deleted too early.
"
"- Fixed bug about missing synchronisation between client and service queue "
"in Transport Core API.
- Fixed bug of not sending the changed window "
"size, which takes into account the used and lost data.
"
msgstr ""
#: template/l2o/mile5.html.j2:65
msgid ""
" - Added configuration to be able to start executables on a router "
"node
- contrib/netjail/netjail_core.sh
- contrib/netjail/"
"netjail_start.sh
- contrib/netjail/topo.sh
"
" src/transport/test_transport_nat_upnp_topo.conf | Added topology file for nat upnp test case"
"td> |
| |
contrib/netjail/netjail_start.sh | Handing over the global number of the router "
"node to the script running on that node. (8e1bf27b11) |
"
"br> - miniupnpd only works with public IP addresses. (c524f91a6)
"
" - contrib/netjail/netjail_start.sh
- src/testing/gnunet-cmds-"
"helper.c
- src/testing/testing.c
- Changed "
"the format of the interface names to make miniupnpd happy. (4aec035ea)
"
" - contrib/netjail/netjail_core.sh
- src/testing/"
"testing_api_cmd_netjail_start_cmds_helper.c
"
"- Cleanup after scripts which were running on netjail nodes. (9d6ace0b9)"
"li>
- contrib/netjail/netjail_stop.sh
src/"
"transport/test_transport_nat_icmp_tcp_topo.conf | Added topology file for tcp icmp nat hole "
"punching test case. |
- Added code to configure "
"connection attempts to natted peers. (6de2cb8f7a)
- src/testing/"
"testing.c
- src/transport/transport_api_cmd_connecting_peers.c
"
"ul>
- Added code in the netjail scripts to enable router nodes "
"to forward icmp requests and response. (a21cb1820)
- contrib/"
"netjail/netjail_core.sh
- contrib/netjail/netjail_start.sh
"
"
"
msgstr ""
#: template/l2o/mile5.html.j2:130 template/l2o/mile6.html.j2:57
msgid "Performance Measurement"
msgstr ""
#: template/l2o/mile5.html.j2:132
msgid ""
"The outcome of the performance measurement was ~24 MByte/s for packets with "
"size of 65000 bytes. To follow up on this measurement one has to get the "
"mean time the packets of 65000 bytes needed to reach another peer, to "
"calculate the data rate, by doing
grep \"mean time "
"traveled\" 1b8b9ebe2_test.out|tail -1
on the log file 1b8b9ebe2_test.out of the performance "
"test case. For this measurement the TNG layer was using tcp only, because "
"there was an unfixed bug, if running tcp and udp in parallel."
msgstr ""
#: template/l2o/mile5.html.j2:142
msgid "API Documentation"
msgstr ""
#: template/l2o/mile5.html.j2:144
msgid ""
"Documentation of the new TNG Api."
msgstr ""
#: template/l2o/mile6.html.j2:23
msgid ""
" - Introduced frags_in_flight flag. With this flag we check if "
"fragments of a PendingMessage are being send right now, to not resend single "
"fragments, but the PendingMessage at once.
- The time to wait for "
"resending a PendingMessage - which was fragmented - is calculated, depending "
"on the number of fragments present, and how much of the PendingMessage was "
"already fragmented.
- ValidationState now contains the addres prefix "
"of the address being validated, because we have to check which communicator "
"gave us the validation response.
- Handling flow control takes used "
"window size into account, together with data loss.
- We do not update "
"queue performance if PendingMessage was resend.
- Changed test case "
"to except 0.5% packet loss.
- Removed misplaced sending of an "
"acknowlegement in udp communicator.
- GNUNET_SERVICE_client_continue "
"was misplaced after receiving CORE Ack, blocking the service.
- Fixed "
"bug when checking, if fragment sub tree is done.
- Fixed bug in "
"calculation of delay for PendingAcknowledgement.
- Fixed bug in "
"calculation of subtree fragment message size.
- Fixed bug that "
"additional queues for the same communicator inherit the validity period."
"li>
- Fixed logic bug when searching for QueueEntry matching "
"acknowledgement.
- Fixed misplaced increase of queue length.
"
"ul>"
msgstr ""
#: template/l2o/mile6.html.j2:47
msgid ""
" src/transport/test_transport_simple_send_performance_topo.conf | Changed configuration to use "
"TCP and UDP together. |
"
msgstr ""
#: template/l2o/mile6.html.j2:59
msgid ""
"The outcome of the performance measurement was ~66 MByte/s for packets with "
"size of 65000 bytes. To follow up on this measurement one has to get the "
"mean time the packets of 65000 bytes needed to reach another peer, to "
"calculate the data rate, by doing
grep \"mean time "
"traveled\" 811c040a2_test.out|tail -1
on the log file 811c040a2_test.out of the performance "
"test case. The performance increased from ~24 MByte/s measured with the code "
"revision of milestone 5 by using TCP only to ~66 MByte/s measured with the "
"code revision of milestone 6 for packet size of 65000 bytes using TCP and "
"UDP together. There are still possibilities to increase performance "
"documented as TODOs in the source code."
msgstr ""
#: template/l2o/mile6.html.j2:70
msgid "Synergie with Interpeer Channeler project."
msgstr ""
#: template/l2o/mile6.html.j2:72
msgid ""
"The Interpeer library Channeler and the L2O project have some goals in "
"common. These include independence of the transmission protocol used, "
"congestion control, reliability. Other goals of the Channeler project are "
"not goals of the L2O project, but are already implemented or planned for "
"other layers of GNUnet, such as multiplexing and ordered delivery of "
"packages. There are also goals of the L2O project that are not goals of the "
"Channeler project, such as metadata protection and identity assurance of "
"communication partners. Due to these half overlapping half disjoint targets "
"it is not reasonable that on project makes use of the other as a whole. "
"However, parts of one project may well be applicable in the other. Since the "
"Channeler project is not yet completed, it is not yet possible to identify "
"the interesting parts beyond doubt. Interesting for the further development "
"of L2O is the \"Zero-Copy and Buffering\" functionality of the Channeler "
"project. This is also planned for future versions of L2O. In conclusion, "
"both projects can benefit from each other. At this point in time, it is "
"still too early to tackle this concretely."
msgstr ""
#: template/l2o/mile7.html.j2:21
msgid "Marked old transport API as deprecated"
msgstr ""
#: template/l2o/mile7.html.j2:23
msgid ""
"To make the search for the old API methods easier, those methods were marked "
"as deprecated in their header files. See branch l20integration "
"revision 664286d."
msgstr ""
#: template/l2o/mile7.html.j2:31
msgid "Removed usage of old transport API methods"
msgstr ""
#: template/l2o/mile7.html.j2:33
msgid ""
"Removed usage of old transport API methods and exchanged them with API "
"methods of L2O or deleted without replacement, if there is no corresponding "
"functionality in L2O. In the process, the subsystems cadet, core, "
"dhtu, fs and topology were touched. The blacklist and friend "
"functionality in subsystem topology was deleted without replacement, as well "
"as the bandwith allocation in the fs (file sharing) subsystem. In "
"the transport subsystem itself, old API methods are still used until the "
"code is finally removed in Milestone 9. There is a cli tool gnunet-transport "
"in the transport subsystem which needs be rewritten partially to get "
"infromation from L2O which can not retrieved via the old API anymore."
"br> Additionally there is a peerinfo cli tool gnunet-peerinfo, which needs "
"to be rewritten partially too. See branch l20integration revision "
"b78f993."
msgstr ""
#: template/l2o/mile7.html.j2:49
msgid "Deactivated tests which rely on old transport API methods"
msgstr ""
#: template/l2o/mile7.html.j2:51
msgid ""
"All test which rely on the old transport API methods were deactivated. They "
"are still in the code base, but they just wouldn't work. See "
"branch l20integration revision 72b4f42."
msgstr ""
#: template/l2o/mile8.html.j2:21
msgid "Added command to execute a script"
msgstr ""
#: template/l2o/mile8.html.j2:23
msgid ""
"A command to start any kind of script was added. As of now this command "
"blocks until the script finished. In the context of this milestone this "
"command is later used to execute a script which blocks until it finds a "
"specific file. See branch l20integration revision 40a5a65."
msgstr ""
#: template/l2o/mile8.html.j2:31
msgid "Added generic start script for test cases"
msgstr ""
#: template/l2o/mile8.html.j2:33
msgid ""
"We do not want to have a specific start script for every test case. This "
"start script asks for a test case configuration to use. See branch "
"l20integration revision 80971b6."
msgstr ""
#: template/l2o/mile8.html.j2:41
msgid "Moved start peer command to testing subsystem"
msgstr ""
#: template/l2o/mile8.html.j2:43
msgid ""
"A start script was added, that can be used by test cases in all subsystems, "
"and which starts the new transport subsystem. See branch "
"l20integration revision 03a5d17."
msgstr ""
#: template/l2o/mile8.html.j2:51
msgid "Added Testcase that just runs two peers, and blocks"
msgstr ""
#: template/l2o/mile8.html.j2:53
msgid ""
"This testcase just runs to peers with the new transport subsystem and runs "
"the command that executes a script that blocks until See branch "
"l20integration revision 4ba7b5f."
msgstr ""
#: template/l2o/mile8.html.j2:61
msgid "Manually testing"
msgstr ""
#: template/l2o/mile8.html.j2:63
msgid ""
"With the above mentioned test case, it was possible to get GNUnet running "
"with the new transport (L2O) subsystem, do manually testing. Some bugs were "
"already fixed: - Fixed bug that core subsystem is not "
"calling GNUNET_TRANSPORT_core_receive_continue. See branch l20integration "
"revision 61bbc04.
- Fixed bug that QueueEntry of another queue still "
"holds reference to PendingMessage. See branch l20integration revision "
"aec63bf.
"
msgstr ""
#: template/l2o/mile8.html.j2:73 template/l2o/mile9.html.j2:327
msgid "Status"
msgstr ""
#: template/l2o/mile8.html.j2:75
msgid ""
"The core and cadet subsystems were manually tested regarding integration "
"with transport. They are boh working. Next subsystems to test: dhtu, fs and "
"topology."
msgstr ""
#: template/l2o/mile9.html.j2:22
msgid "Added api to store hellos with peerstore service"
msgstr ""
#: template/l2o/mile9.html.j2:24
msgid ""
"This functionality was formerly implemented in the peerinfo service."
"br> See revision 0f8b712."
msgstr ""
#: template/l2o/mile9.html.j2:32
msgid "Added api to get notified when hellos are stored with peerstore service"
msgstr ""
#: template/l2o/mile9.html.j2:34
msgid ""
"This functionality was formerly implemented in the peerinfo service. After "
"storing hellos with the peerstore service this was needed there. "
"See revision 55a25ef."
msgstr ""
#: template/l2o/mile9.html.j2:42
msgid "Changed new hello uri api to allow to change the expiration time"
msgstr ""
#: template/l2o/mile9.html.j2:44
msgid ""
"This change was necessary to create the bootstrap hello which must be valid "
"indefinitely. See revision 39bcd0f."
msgstr ""
#: template/l2o/mile9.html.j2:52
msgid "Exchanged peerinfo api to store hellos with new peerstore api"
msgstr ""
#: template/l2o/mile9.html.j2:54
msgid ""
"The new api needed to be exchange in all GNUnet packages. See "
"revision 23a2640."
msgstr ""
#: template/l2o/mile9.html.j2:62
msgid "Change watch to return actual values, before watching."
msgstr ""
#: template/l2o/mile9.html.j2:64
msgid ""
"The watch api of the peerstore service was changed to return all values for "
"a given key, before notifying the caller about ne values being stored."
"br> See revision 86ae84f."
msgstr ""
#: template/l2o/mile9.html.j2:72
msgid "The old hello design replaced by the new hello design."
msgstr ""
#: template/l2o/mile9.html.j2:74
msgid ""
"The new hello design was exchanged in all GNUnet packages. See "
"revision a362cd5."
msgstr ""
#: template/l2o/mile9.html.j2:82
msgid ""
"Cli tool for changing hello files in contrib can change file from old to new "
"hello design."
msgstr ""
#: template/l2o/mile9.html.j2:84
msgid ""
"A cli tool for changing the bootstrap hello file in the contrib/hello "
"directory was changed to rewritethe hello bootstrap file from old to new "
"format. See revision 8ea9223."
msgstr ""
#: template/l2o/mile9.html.j2:92
msgid "Moved code to scan and import hello file into peerstore from peerinfo."
msgstr ""
#: template/l2o/mile9.html.j2:94
msgid ""
"The peerinfo service service was scanning a hostlist file and the data was "
"used by the hostlist server. This code was moved to the peerstore service."
"br> See revision 20d6f3."
msgstr ""
#: template/l2o/mile9.html.j2:102
msgid ""
"Moved code to testing to have more generic test setup, which can be used not "
"only from within transport."
msgstr ""
#: template/l2o/mile9.html.j2:104
msgid ""
"The new testing framework was transport specific Now it can be used in other "
"packages too. See revision 02a1fda."
msgstr ""
#: template/l2o/mile9.html.j2:112
msgid "Code moved to the core package to get rid of circular dependencies."
msgstr ""
#: template/l2o/mile9.html.j2:114
msgid ""
"After changes to be able to use the testing framework more generic the "
"dependencies needed to be fixed.. See revision 1016d6d."
msgstr ""
#: template/l2o/mile9.html.j2:122
msgid ""
"Changed method GNUNET_HELLO_builder_get_expiration_time to not need "
"parameter GNUNET_HELLO_Builder."
msgstr ""
#: template/l2o/mile9.html.j2:124
msgid "A small function syntax fix. See revision 84913b."
msgstr ""
#: template/l2o/mile9.html.j2:132
msgid ""
"Changed the behavior of GNUNET_PEERSTORE_watch to also return the values "
"allready stored for the key."
msgstr ""
#: template/l2o/mile9.html.j2:134
msgid ""
"The watch functionality first returns all values for a given key, before "
"notifying the caller about new values for that key. See revision "
"e1341d1."
msgstr ""
#: template/l2o/mile9.html.j2:142
msgid "Changed address and hello format to new TNG format."
msgstr ""
#: template/l2o/mile9.html.j2:144
msgid ""
"All occurencies in GNUnet packages were changed from old to new hello format."
" See revision 66ecfe2."
msgstr ""
#: template/l2o/mile9.html.j2:152
msgid "Fixed bug in bootstrap code."
msgstr ""
#: template/l2o/mile9.html.j2:154
msgid ""
"Unnecessary check removed. Fixed small coding error. See revision "
"3bd35e8."
msgstr ""
#: template/l2o/mile9.html.j2:162
msgid "Fixed validation bug."
msgstr ""
#: template/l2o/mile9.html.j2:164
msgid ""
"The validation of other peers in the transport package was not working in "
"some cases, because validation did not use monotonic time, and "
"first_challenge_use wasn't reset. See revision 88cb4be."
msgstr ""
#: template/l2o/mile9.html.j2:172
msgid "Fixed wrong group name."
msgstr ""
#: template/l2o/mile9.html.j2:174
msgid ""
"A wrong group name was used for a DHT block entry. See revision "
"8127d51."
msgstr ""
#: template/l2o/mile9.html.j2:182
msgid ""
"Task added to start reading the hostlist entries only after a certain period "
"of time has elapsed."
msgstr ""
#: template/l2o/mile9.html.j2:184
msgid ""
"Reading hostlist entries and compiling the hostlist response to a hostlist "
"request was started too early, even though the peer did not created its own "
"hello. See revision 7761b42."
msgstr ""
#: template/l2o/mile9.html.j2:192
msgid "Added test config to have a peer running the hostlist server."
msgstr ""
#: template/l2o/mile9.html.j2:194
msgid ""
"The configuration of the test case had to be changed to let one peer run a "
"hostlist server. See revision 3c761cd."
msgstr ""
#: template/l2o/mile9.html.j2:202
msgid "Changed hostlist server to use a hello cache."
msgstr ""
#: template/l2o/mile9.html.j2:204
msgid ""
"The host list server needed a cache for the entries, because with storing "
"entries in the peerstore, only the new hellos were notified to the hostlist "
"server. See revision e4b146e."
msgstr ""
#: template/l2o/mile9.html.j2:212
msgid "Bootstrap: Fixed bug to not replace hellos for a peer."
msgstr ""
#: template/l2o/mile9.html.j2:214
msgid ""
"Hellos are store with a specific key GNUNET_PEERSTORE_HELLO_KEY and option "
"GNUNET_PEERSTORE_STOREOPTION_MULTIPLE instead of "
"GNUNET_PEERSTORE_STOREOPTION_REPLACE. See revision 0516538."
msgstr ""
#: template/l2o/mile9.html.j2:222
msgid "Hello: Fix another bug in cli tool to generate contrib hello file."
msgstr ""
#: template/l2o/mile9.html.j2:224
msgid ""
"Use the actuall private key of the installed peer, not the peer id from file."
" See revision e0d28ef."
msgstr ""
#: template/l2o/mile9.html.j2:232
msgid "Cadet: Fixed issue #7542"
msgstr ""
#: template/l2o/mile9.html.j2:234
msgid ""
"Cadet still used the legacy DHT hello block format, changed to the new URL-"
"based block format. See revision 9376034."
msgstr ""
#: template/l2o/mile9.html.j2:242
msgid "Added DDLs for handling GNUNET_PEERSTORE_StoreHelloContext."
msgstr ""
#: template/l2o/mile9.html.j2:244
msgid ""
"Changed code to store hellos in new format in peerstore in transport and "
"topology subsystem. See revision 233a6be."
msgstr ""
#: template/l2o/mile9.html.j2:252
msgid "A long list of Bugs which where fixed."
msgstr ""
#: template/l2o/mile9.html.j2:254
msgid ""
" - c1783c1: TNG: Adding missing manual test case topology file.
"
"- 8093c8e: Changed relative path to no force test config
- aa9bebd: "
"TNG: Fixed bug in handling hello to start validation.
- 21be887: "
"Introduced closure to hold store context when caling function to add hello "
"in peerstore.
- 0ecf00f: Hello: Fixed usage of "
"GNUNET_HELLO_builder_iterate.
- 8ebef9f: Cadet: Changes to use "
"DhtHelloMessage instead of HelloUriMessage, and to hand over not a "
"HelloMessage, but a block to the dht.
- 2b87bab: Peerstore: Fixed "
"memory related bugs.
- a71b245: Testing: Exchange binary name for "
"transport in test case configuration.
- 7da7937: Transport: Fixed "
"null pointer in address iteration code to start validation.
"
"- 060b681: Transport: Fixed bug while setting up key material for "
"backchannel.
- 53ad5e4: Transport: Fixed bug while setting up key "
"material for backchannel.
- 57d31ec: Transport: Fixed bug in free "
"pending messages and queue entries.
- 20f5e2a: Transport: Fixed bug "
"in ring buffer for core messages.
- 2c71a76: Topology: Fixed small "
"bug.
- d46e0b7: Hello: Changed bootstrap peer hello file to new "
"bootstrap peer.
- 29e2e51: Peerstore: Make peerstore start "
"immediately. Added option to use included hello.
- 1848ece: Hello: "
"Change error handling of GNUNET_HELLO_builder_add_address usage.
"
"- 4e77b10: Peerstore: We replace existing hellos. Only the origin peer "
"merges hellos.
- 8e8c3f1: Transport: Added missing dekrement when "
"removing QueueEntry from DLL.
- a919091: Transport: Added missing "
"dekrement of global communicator queue counter.
- 1513057: Transport: "
"Using the correct TransportClient for dekrementing the global communicator "
"queue counter.
- 23246e1: Transport: Fixed check when to stop FC "
"retransmission.
- 015cef0: Transport: Removed logging that lead to an "
"assertion.
- ea2420b: Transport: Fixed check of value gotten from "
"peerstore.
- 5934318: Transport: Destroy closed ProtoQueue.
"
"- f5fa8ef: Transport: Added logging in case of UDP errors, and destroy "
"queue in case of errors.
- e2a4d6c: Transport: Fixed bug in handling "
"of AckPending.
- c9b0b25: Transport: Removed misplaced removal of "
"QueueEntry.
- 7f7571b: Transport: Fixed bugs in core message cache."
"li>
- bc81b0a: Transport: We need to check if a message was cached when "
"resuming communicators.
- 433c13c: Transport: Fixed bug handling "
"queue length and QueueEntry when queue has no capacity.
- 3becc2d: "
"Transport: Fixed bug to check each queue for validity separately.
"
"- 2d955b1: Transport: More useful debug logging für service.
"
"- f1510f7: Transport: Fixed using wrong function to calculate mean time "
"when to send next fragment.
- ec57587: Peerstore: Fixed wrong assert "
"when checking DLL with watches.
- 4274265: Transport: Added logging "
"in case of UDP errors, and destroy queue in case of errors.
"
"- 8d3c8c3: Transport: Fixed bug in handling of AckPending.
"
"- edd8e08: Transport: Removed misplaced removal of QueueEntry.
"
"- 3b906ef: Transport: Fixed bugs in core message cache.
- ca73eed: "
"Transport: We need to check if a message was cached when resuming "
"communicators.
- e39ed50: Transport: Fixed bug handling queue length "
"and QueueEntry when queue has no capacity.
- f08eae1: Transport: "
"Fixed bug to check each queue for validity separately.
- 6a27b67: "
"Transport: Fixed using wrong function to calculate mean time when to send "
"next fragment.
- da2f9f7: Peerstore: Fixed wrong assert when checking "
"DLL with watches.
- 6565677: Transport: Fixed counting of fragments "
"of a message
- 26b05be: Transport: Introduced variable to count the "
"round of fragments of a message being (re)send.
- e22e637: Transport: "
"Fixed ring buffer.
- f387a7b: Util: Introduced "
"GNUNET_TIME_relative_multiply_double.
- 36a9952: Transport: Added "
"cleanup task to remove QueueEntry we got no ACK for.
- 164badb: "
"Transport: Changed logic to first create a queue before starting validation."
"
- 894754f: Core: Added missing "
"GNUNET_TRANSPORT_core_receive_continue.
- b9cd040: Transport: Fixed "
"bug in logic getting root parent of fragment which is a DV box.
"
"- 84b76e3: Transport: Resuming communicators in case of core restarting."
"li>
- 78b0a9a: Transport. Fixed bug in logic freeing timedout QueueEntry."
"li>
- 0d9df1c: Fixed bug calculating next resend of fragments.
"
"- c69a0e9: Transport: first_challenge_use has to be reset in case of "
"revalidation.
- 01b7a5d: Transport: When to resend a validation "
"challenge and when to start revalidation needs to be seperate logic.
"
"- 5f56628: Transport: Fixed bug in logic releasing resources and notifying "
"communicators after caching messages to core.
- 94caa7d: Transport: "
"Fixed bug in resend logic for fragments, especially for DV boxes.
"
"- 67c90f8: Core: Fixed bug to stop keepalive after handling ping.
"
"- a3b9d98: Transport: Fixed fragmentation logic.
- 4254ee1: Core: "
"Removed unnecessary client continue.
- 1d88d65: Transport: Added "
"check for DV box, when checking for last applicable fragment during freeing "
"some fragment.
- 4402b56: Transport: Added logging to debug freeing "
"of fragments.
- 25ffc82: Transport: Inform Core about all "
"VirtualLinks not only neighbours.
- aaf07c7: Core: Added logic to "
"decrease restart delay of connection to Transport depending on how long the "
"connection to Transport lasted.
"
msgstr ""
#: template/l2o/mile9.html.j2:329
msgid ""
"The hostlist, and topology subsystems and the bootstrap functionality were "
"manually tested. Everything was working without errors. No known errors in "
"other subsystems. Branch merged into master. New Transport and Hello "
"released with version 0.21."
msgstr ""
#: template/l2o/testng.html.j2:21
msgid "Netjail setup and execution"
msgstr ""
#: template/l2o/testng.html.j2:23
msgid ""
"Netjail is the GNUnet naming for having several network namespaces, being "
"isolated from each other to test how GNUnet nodes with limited connectivity "
"behave, and how the new transport next generation implementation can help to "
"circumvent the connectivity obstacles. The network namespaces are span a "
"network with globally known nodes and several subnets separated from each "
"other via a single router. We have three scripts for the test setup: "
"- netjail_start.sh: A script to setup the network namespaces. This script "
"takes three arguments. The first is either the name of a configuration for "
"the test setup topology or a string containing the topology information. The "
"second is the process id of the test. The third is a flag if the first "
"parameter contains the name of the configuration file or the topology string."
"
- netjail_exec.sh: A script to run some command in a specific "
"namespace. This script takes eight arguments. The first is the index of a "
"node in a namespace for which we like to execute a command. The second is "
"the index of the namespace of the node. The third is the command to execute, "
"the fourth is the number of subnets, the fifth the number of nodes in each "
"subnet, the sixth is the identifier used by the ip-netns command, the sixth "
"is a flag is the topology information is given via a topology file of a "
"string containing the topology information..
- netjail_stop.sh: A "
"script which remove all the network namespace setup by netjail_start.sh. The "
"arguments are the same as those for netjail_start.sh.
The is a "
"generic test binary (test_transport_start_with_config) which will start the "
"above mentioned scripts. Because creating network namespaces is only "
"permitted for privileged users the generic test binary is not start "
"directly, but via scripts. This script starts the generic binary using the "
"command unshare. Using unshare one can create a namespace with its own user "
"namespace, where creating network namespaces is allowed. Precondition to do "
"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
"parameter."
msgstr ""
#: template/l2o/testng.html.j2:39
msgid "CMD helper and testcase plugins"
msgstr ""
#: template/l2o/testng.html.j2:43
msgid ""
"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
"framework a special command is used: gnunet-cmds-helper This commands itself "
"is of a special kind named helper processes which communicates via "
"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
"plugins are implementations of an api which is used to start different test "
"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
"plugin defines the commands which are running in a local interpreter loop "
"started by the helper on that specific network namespace node. The plugins "
"are also responsible for the communication via the helper with the master "
"interpreter loop."
msgstr ""
#: template/l2o/testng.html.j2:49
msgid "Command Pattern"
msgstr ""
#: template/l2o/testng.html.j2:53
msgid ""
"The testing framework borrowed from the GNU Taler testing library was "
"extended to handle asychronous commands. Therefore a struct "
"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
"default the continuation function of GNUNET_TESTING_AsyncContext is the "
"interpreter_next function of the interpreter loop (blocking asynchronous "
"command) which will be executed calling GNUNET_TESTING_async_finish, when "
"the asynchronous task finished, but also can be any other function to be "
"executed when the asynchronous task is non blocking."
msgstr ""
#: template/l2o/testng.html.j2:58
msgid "Topology Configuration"
msgstr ""
#: template/l2o/testng.html.j2:62
msgid ""
"The topology of the netjail setup can be configured via a configuration "
"file, or with a configuration string handed over to the generic binary for "
"starting netjail based tests. Both method can be examined in two "
"example test scripts test_transport_send_simple.sh and"
"br> test_transport_send_simple_string.sh The Syntax of the "
"configuration is as follows. The configuration string is "
"structured by lines and the delimiter ':' used for seperating key/value(s) "
"pairs and the chars '{' and '}' for grouping several key/value pairs as "
"value and '|' to separate a group of values from the key/value(s) pair "
"identifying a line. Below you find the EBNF of the configuration syntax."
"br> config = line, {line} ;
line = ( \"M:\", "
"NumberOfNodesPerSubnet ) | ( \"N:\", NumberOfSubnets ) | ( \"X:\", "
"NumberOfGlobalNodes ) | NumberOfAdditionalConnections | ( \"T:\", "
"GlobalPluginName ) | ( GlobalPeer, \"|\", KValue ) | ( \"R:\", "
"IndexOfSubnetRouter, \"|\", RValue ) | ( SubnetPeer, \"|\", PValue ) ;
NumberOfNodesPerSubnet = Zero | NaturalNumber ;
"
"NumberOfSubnets = NaturalNumber ;
NumberOfGlobalNodes = "
"NaturalNumber ;
NumberOfAdditionalConnections = \"AC:\", "
"NaturalNumber GlobalPluginName = \"libgnunet_test_transport_plugin_cmd_\", "
"PluginName ;
GlobalPeer = \"K\", \":\", IndexOfGlobalNode ;
KValue = EstablishConnectionToPeerViaProtocol ;
"
"IndexOfSubnetRouter = Zero | NaturalNumber ;
RValue = OpenTCP, \"|"
"\", OpenUDP ;
SubnetPeer = \"P:\", SubnetIndex, \":\", "
"NodeIndexInSubnet ;
PValue = EstablishConnectionToPeerViaProtocol, "
"{ \"|\", \"{\", NumberOfAdditionalConnections, \"}\" } ;
Zero = "
"\"0\" ;
NaturalNumber = NumeralWithoutZero, { Numeral } ;
PluginName = Letter , { ( Letter | \"_\" ) } ;
IndexOfGlobalNode "
"= Zero | NaturalNumber ;
EstablishConnectionToPeerViaProtocol = "
"\"{\" \"connect\", \":\" EstablishConnectionToPeerViaProtocolValues \"}\" ;"
"
OpenTCP = OpenTCPNoSource | OpenTCPWithSource ;
OpenUDP "
"= OpenUDPNoSource | OpenUDPWithSource ;
SubnetIndex = "
"NaturalNumber ;
NodeIndexInSubnet = NaturalNumber ;
"
"NumeralWithoutZero = \"0\" | Numeral ;
Numeral = \"1\" | \"2\" | "
"\"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" ;
Letter = "
"\"A\" | \"B\" | ... | \"Z\" | \"a\" | ... | \"z\";
"
"EstablishConnectionToPeerViaProtocolValues = "
"EstablishConnectionToPeerViaProtocolValue { \"|\", "
"EstablishConnectionToPeerViaProtocolValue } OpenTCPNoSource = \"{tcp_port:"
"\", switch, \"}\" ;
OpenUDPNoSource = \"{udp_port:\", switch, "
"\"}\" ;
OpenTCPWithSource = \"{tcp_port:\", SubnetPeer, "
"{ \"tcp_port\", SubnetPeer } ;
OpenTUDWithSource = \"{udp_port:\", "
"SubnetPeer, { \"udp_port\", SubnetPeer } ;
"
"EstablishConnectionToPeerViaProtocolValue = \"{\", ( GlobalPeer | "
"SubnetPeer ), \":\", Protocol, \"}\" ;
switch = On | Off ;
Protocol = \"tcp\" | \"udp\" ;
On = 1 ;
Off = 0 ;
"
msgstr ""
#: template/news/index.html.j2:46
msgid "News archives:"
msgstr ""
#: template/probnat/index.html.j2:7 template/probnat/mile1.html.j2:7
msgid "NGI Assure project: Probabilistic NAT Traversal"
msgstr ""
#: template/probnat/index.html.j2:28
msgid ""
"This project was funded through the NGI Assure Fund, a fund established by "
"NLnet."
msgstr ""
#: template/probnat/index.html.j2:40
msgid ""
"For establishing a peer to peer (p2p) network among regular internet users, "
"unhindered connectivity is anything but self-evident. Today consumer devices "
"are often not directly reachable via the internet but quite often are behind "
"a so called NAT delivering only indirect internet connectivity."
msgstr ""
#: template/probnat/index.html.j2:49
msgid ""
"There are several methods to reach peers who are behind a NAT, but there are "
"as many reasons those existing methods might fail. Manual configuration for "
"example, as it is possible for example with home routers, often does not "
"work for mobile devices like mobile phones. A further category of methods is "
"subsumed under the term NAT hole punching. This exploits a behavior of the "
"gateway that keeps the port of an outgoing packet open for a potential "
"response. To make this port known to another peer a third peer is needed who "
"is not behind a NAT. Using this method for a privacy preserving network like "
"GNUnet, this could facilitate eclipse attacks (isolating a peer) which then "
"can be used for deanonymization attacks and cencorship. Also any additional "
"infrastructure needed to provide some kind of functionality has to be "
"maintained by someone, becoming a target and/or point of failure. Therefore "
"this method is not suitable. More sophisticated methods like \"Autonomous "
"NAT Traversal (pwnat)\" using ICMP fake message, which do not need a third "
"party for the initiation of the connection, are not successful in all "
"circumstances, because this method depend on the behavior of the NAT "
"firewall. All methods have in common that the external IP address of the "
"peer behind the NAT must be known."
msgstr ""
#: template/probnat/index.html.j2:58
msgid ""
"Two peers trying to connect to each other will send out a burst of "
"connection attempts to the other peer on different ports. The sheer vast "
"amount of connections attempts from both side will lead to a high "
"probability that two connection attempts from both peers onto the same port "
"will be at the same time leading to a successful connection between those "
"peers. If two natted peers are using the method to start a burst of "
"connection attempts, this method still needs the global IP of the other peer "
"and a “start signal” to coordinate. In the NGI Assure project L2O we are establishing a backchannel with neighbourhood routing "
"over an ad-hoc distance vector protocol to solve the problem of not directly "
"connected peers. The peers serving as hops to a distant peer which are a "
"direct neighbour of the start or end peer on that path do know the global IP "
"address of the start or end peer. If those two peers like to use the burst "
"method for hole punching the global IP address is known. Via the distance "
"vector protocol we are also able to communicate the \"start signal\"."
msgstr ""
#: template/probnat/index.html.j2:68
msgid "Milestone 1 Test Infrastructure"
msgstr ""
#: template/probnat/index.html.j2:71
msgid ""
"Extending the testing framework, which was already designed and implemented "
"for the L2O project. Details - Enhance the "
"testing framework with a new kind of component (NAT component).
"
"- Implement logic to keep ports open used during network translation.
"
"- Extend the test framework configuration to configure the new components."
"
"
msgstr ""
#: template/probnat/index.html.j2:84
msgid ""
"Test case which tests the new testing functionality. Adding documentation."
msgstr ""
#: template/probnat/index.html.j2:90
msgid "Milestone 2 Synchronization"
msgstr ""
#: template/probnat/index.html.j2:93
msgid ""
"This task is to implement the protocol that is doing the signaling for "
"synchronizing two peers which do like to connect to each other. - Two "
"peers which got connected via DV signaling each other being behind a NAT."
"li>
- Learning the external IP address+port from already connected peers, "
"exchange with the peers that want to connect.
- Set a common start "
"time. One peer is selected to be leading (comparing peer ids like it is done "
"in CADET)
"
msgstr ""
#: template/probnat/index.html.j2:107
msgid ""
"Deliverable of this milestone is integrating the protocol implementation "
"into the GNUnet stack, a test case which tests that two peers successfully "
"exchange the messages of the implemented protocol until the condition is "
"reached that both nodes are ready for the burst mode. Additionally there "
"will be a protocol documentation."
msgstr ""
#: template/probnat/index.html.j2:116
msgid "Milestone 3 Burst Protocol"
msgstr ""
#: template/probnat/index.html.j2:119
msgid ""
"Burst to establish connectivity (IP_RAW, SYN send for TCP; normal for UDP). "
"A burst of synchronized (same ports on each peer) connection attempts on all "
"available ports will lead to a high probability for a successful connection."
"The connection in the TCP case is not final, because the TCP connection is "
"only done in the user space."
msgstr ""
#: template/probnat/index.html.j2:128
msgid ""
"The protocol implementation will be integrated into the GNUnet stack, one "
"Test case will test two peers are finaly connected (UDP case), another test "
"case for TCP tests if both peers end up at the same port and the protocol "
"will be documented."
msgstr ""
#: template/probnat/index.html.j2:136
msgid "Milestone 4 TCP Repair"
msgstr ""
#: template/probnat/index.html.j2:139
msgid ""
"For the TCP case the connection was established sending packages from user "
"space using raw sockets. To let the kernel know about the TCP connection we "
"will use the “repair mode” of the setsockopt() system call."
msgstr ""
#: template/probnat/index.html.j2:147
msgid ""
"Integration into the GNUnet stack and a test case testing two peers are "
"finaly (kernel TCP socket) connected."
msgstr ""
#: template/probnat/index.html.j2:154
msgid "Milestone 5 Privilege Minimization"
msgstr ""
#: template/probnat/index.html.j2:157
msgid ""
"Privilege minimization, using SUID/SGID helpers with required capabilities. "
"We need privileged access to system resources for some parts of the "
"protocol, e.g. the TCP repair mode. This task will implement helper "
"executables which are doing this privileged access, to be used by other "
"components not having special privileges. (see § 2.2.1 Access Control, The "
"GNUnet System, https://grothoff.org/christian/habil.pdf)"
msgstr ""
#: template/probnat/index.html.j2:167
msgid ""
"Helper executables and cli applications using the helpers. Integration into "
"the GNUnet stack. Man pages for the cli applications. First release of all "
"the implementation."
msgstr ""
#: template/probnat/index.html.j2:174
msgid "Milestone 6 Android Test Infrastructure"
msgstr ""
#: template/probnat/index.html.j2:177
msgid ""
"In this milestone the test framework will be enhanced to run a headless "
"android studio emulator on a namespace node. With this emulator an android "
"device running on that node shall be emulated. Two devices running on "
"different nodes should reach each other via the test framework network. For "
"doing the network connection an app should run on each device. This app "
"should do the networking with a small c library. With this c library we like "
"to test if networking and file access is possible with a c library running "
"using the NDK of Android."
msgstr ""
#: template/probnat/index.html.j2:183
msgid ""
"The deliverable of this milestone is twofold: the scripts for automation and "
"the automated tests themselves, and a report on the outcome of these tests. "
"If the test case starting an Android app on two nodes doing network "
"communication between those two apps and each app accessing its own "
"filesystem will not work as expected, the task includes an overview of "
"potential approaches for achieving the desired outcomes in other ways."
msgstr ""
#: template/probnat/index.html.j2:189
msgid "Milestone 7 GNUnet event loop on Android"
msgstr ""
#: template/probnat/index.html.j2:192
msgid ""
"The c library should also start the GNUnet event loop. Therefore the library "
"will be enhanced by a minimal part of the GNUnet stack to start the event "
"loop. The testing code will be enhanced to use the event loop."
msgstr ""
#: template/probnat/index.html.j2:198
msgid ""
"The deliverable of this milestone is twofold: the scripts for automation and "
"the automated tests themselves, and a report on the outcome of these tests. "
"If the test case testing the same functionality as in milestone 6, but using "
"the GNUnet event loop, will not work as expected, the task includes an "
"overview of potential approaches for achieving the desired outcomes in other "
"ways."
msgstr ""
#: template/probnat/index.html.j2:204
msgid "Milestone 8 Enhance GNUnet stack on Android"
msgstr ""
#: template/probnat/index.html.j2:207
msgid ""
"The working test cases of milestone 6 and 7 are prerequisites to tackle this "
"milestone! The library will be enhanced to incorporate the parts of the "
"GNUnet stack necessary to run the test case implemented in the milestones 1 "
"-4."
msgstr ""
#: template/probnat/index.html.j2:213
msgid ""
"Test case testing the same functionality as in milestone 1 - 4 running on "
"Android."
msgstr ""
#: template/probnat/mile1.html.j2:21
msgid ""
"See revision 4b2303a on branch "
"dev/t3ss/probnat"
msgstr ""
#: template/probnat/mile1.html.j2:23
msgid ""
" src/service/transport/nat_router.sh | Test framework router component to fake "
"kernel behavior to keep a port of an outgoing connection open. |
"
" | |
scripts/netjail/nat_node_test.sh | Test script to just send test messages to another node to open "
"up a port. |
scripts/netjail/getmsg.sh | Test script to receive test messages from nat_node_test.sh. |
"
" | |
est_transport_plugin_cmd_nat_mapping.c | Testcase to start the script which sends test "
"messages to open up ports. |
| |
test_transport_nat_mapping_topo."
"conf | Configuration for "
"the test case. |
| |
test_transport_nat_mapping.sh | Script to start the test case."
"td> |
| |
scripts/Makefile.am | Added nat_node_test.sh and getmsg.sh. |
| "
" |
scripts/"
"netjail/netjail_start.sh | Added node nummber parameter to node start script, and make the script "
"run in background. |
| |
scripts/netjail/netjail_stop.sh | Added node nummber parameter to "
"node stop script. |
| |
src/service/testing/"
"testing_api_cmd_exec_bash_script.c | Bugfixing the script that was initially implemented to do "
"explorative testing of transport integrsation, and which is now also used to "
"start the script which sends test messages. |
src/service/transport/Makefile.am | Added "
"test_transport_plugin_cmd_nat_mapping.c |
"
msgstr ""
#: template/reclaim/faq.html.j2:6
msgid "Frequently asked questions"
msgstr ""
#: template/reclaim/idps.html.j2:6 template/reclaim/index.html.j2:95
msgid "For IdPs"
msgstr ""
#: template/reclaim/index.html.j2:8
msgid ""
"Self-sovereign, Decentralised Identity Management and Personal Data Sharing"
msgstr ""
#: template/reclaim/index.html.j2:18
msgid "Self-sovereign"
msgstr ""
#: template/reclaim/index.html.j2:20
msgid ""
"You manage your identities and attributes locally on your computer. No need "
"to trust a third party service with your data."
msgstr ""
#: template/reclaim/index.html.j2:40
msgid "Decentralized"
msgstr ""
#: template/reclaim/index.html.j2:42
msgid ""
"You can share your identity attributes securely over a decentralized name "
"system. This allows your friends to access your shared data without the need "
"of a trusted third party."
msgstr ""
#: template/reclaim/index.html.j2:58
msgid "Standard-compliant"
msgstr ""
#: template/reclaim/index.html.j2:60
msgid "You can use OpenID Connect to integrate reclaim in your web sites."
msgstr ""
#: template/reclaim/index.html.j2:77
msgid "Technology"
msgstr ""
#: template/reclaim/index.html.j2:83
msgid "FAQ"
msgstr ""
#: template/reclaim/index.html.j2:89 template/reclaim/users.html.j2:6
msgid "For users"
msgstr ""
#: template/reclaim/index.html.j2:92 template/reclaim/websites.html.j2:6
msgid "For websites"
msgstr ""
#: template/reclaim/tech.html.j2:15
msgid "Decentralised identity directory"
msgstr ""
#: template/reclaim/tech.html.j2:18
msgid ""
"The decentralised GNU Name System (GNS) gives users full and exclusive "
"authority over their attributes by sharing them over user-owned namespaces."
msgstr ""
#: template/reclaim/tech.html.j2:26
msgid "Cryptographic access control"
msgstr ""
#: template/reclaim/tech.html.j2:30
msgid ""
"Users regularly publish fresh, up-to-date attributes which can be retrieved "
"and read only by authorized relying parties parties without direct user "
"interaction -- even if the user is offline!"
msgstr ""
#: template/reclaim/tech.html.j2:39
msgid "Principles"
msgstr ""
#: template/reclaim/tech.html.j2:46
msgid "Identity and attribute management"
msgstr ""
#: template/reclaim/tech.html.j2:48
msgid ""
"Users regularly publish fresh, up-to-date attributes which can be retrieved "
"by requesting parties without direct user interaction -- even if the user is "
"offline! Access to attributes is controlled through an ecryption based "
"access control layer."
msgstr ""
#: template/reclaim/tech.html.j2:71
msgid "Authorization"
msgstr ""
#: template/reclaim/tech.html.j2:73
msgid ""
"To access attributes, requesting parties request authorization from the user "
"thrugh the use of OpenID Connect. If access is granted, the relying party is "
"given the necessary decryption key material. The user may at any time revoke "
"this access or modify the authorization decision."
msgstr ""
#: template/reclaim/tech.html.j2:92
msgid "Attribute retrieval"
msgstr ""
#: template/reclaim/tech.html.j2:94
msgid ""
"Relying parties retrieve encrypted identity data from the decentralised "
"directory. It is able to decrypt all those attributes that the user has "
"authorized it to access using the respective key."
msgstr ""