diff --git a/pots/blog.pot b/pots/blog.pot index 1bfec63f..481a08ce 100644 --- a/pots/blog.pot +++ b/pots/blog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P website\n" "Report-Msgid-Bugs-To: http://trac.i2p2.de\n" -"POT-Creation-Date: 2018-06-24 13:48+0000\n" +"POT-Creation-Date: 2018-08-24 11:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -90,7 +90,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:29 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:30 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:30 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:36 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:36 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:33 msgid "RELEASE DETAILS" msgstr "" @@ -147,7 +148,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:37 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:43 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:38 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:45 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:45 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:43 msgid "Bug Fixes" msgstr "" @@ -194,7 +196,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:44 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:74 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:47 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:57 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:57 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:53 msgid "Other" msgstr "" @@ -242,7 +245,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:58 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:104 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:63 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:79 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:79 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:73 msgid "SHA256 Checksums:" msgstr "" @@ -397,7 +401,7 @@ msgstr "" #: i2p2www/blog/2017/08/07/0.9.31-Release.rst:60 #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:49 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:55 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:71 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:71 msgid "Update GeoIP data (new installs and PPA only)" msgstr "" @@ -1715,7 +1719,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:48 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:94 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:54 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:70 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:70 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:63 msgid "Translation updates" msgstr "" @@ -1887,7 +1892,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:23 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:24 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:24 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:30 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:30 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:27 msgid "" "As usual, we recommend that you update to this release. The best way to\n" "maintain security and help the network is to run the latest release." @@ -2786,7 +2792,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:31 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:32 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:32 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:38 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:38 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:35 msgid "Changes" msgstr "" @@ -4957,7 +4964,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:12 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:12 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:12 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:12 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:12 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:12 msgid "" "Update details\n" "==============" @@ -5454,7 +5462,8 @@ msgstr "" #: i2p2www/blog/2017/11/07/0.9.32-Release.rst:55 #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:101 #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:60 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:76 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:76 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:70 msgid "`Full list of fixed bugs`" msgstr "" @@ -7166,6 +7175,7 @@ msgid "SusiMail: POP3 socket close after failure" msgstr "" #: i2p2www/blog/2018/01/30/0.9.33-Release.rst:69 +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:64 msgid "Unit test fixes" msgstr "" @@ -7640,12 +7650,12 @@ msgid "Transport: Better selection of IPv6 addresses" msgstr "" #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:49 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:62 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:62 msgid "Prep for HTTPS console and eepsite" msgstr "" #: i2p2www/blog/2018/04/10/0.9.34-Release.rst:50 -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:63 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:63 msgid "Prep for splitting up Debian package" msgstr "" @@ -7661,107 +7671,538 @@ msgstr "" msgid "EdDSA cleanups" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:1 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:1 msgid "" "==============\n" "0.9.35 Release\n" "==============" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:10 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:10 msgid "0.9.35 with SusiMail folders and SSL Wizard" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:17 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:17 msgid "" "0.9.35 adds support for folders in SusiMail, and a new SSL Wizard for " "setting up HTTPS on your Hidden Service website.\n" "We also have the usual collection of bug fixes, especially in SusiMail." msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:22 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:22 msgid "" "We're hard at work on several things for 0.9.36, including a new OSX " "installer and a faster, more secure transport protocol called NTCP2." msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:26 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:26 msgid "I2P will be at HOPE in New York City, July 20-22. Find us and say hello!" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:40 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:40 msgid "New Hidden Service SSL Wizard" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:41 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:41 msgid "SusiMail support for Folders, Drafts, background sending" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:47 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:47 msgid "Console: Fix changes to wrong tunnel on /configtunnels" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:48 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:48 msgid "CPUID: Fix TBM detection" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:49 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:49 msgid "i2psnark: Fix torrents ignoring priority settings when autostart enabled" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:50 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:50 msgid "i2ptunnel: Retry accept after server socket closed" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:51 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:51 msgid "NTCP: Fix bug causing initial latency for outbound connections" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:52 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:52 msgid "SusiMail: Include attachments in forwarded mail" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:53 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:53 msgid "SusiMail: Many other fixes" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:54 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:54 msgid "Tunnels: Prevent zero-hop even when no active peers" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:59 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:59 msgid "Add support for notes in Addressbook" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:60 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:60 msgid "Rewrite and new translations for eepsite help page (new installs only)" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:61 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:61 msgid "DNSoverHTTPS (disabled by default)" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:64 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:64 msgid "NTCP refactoring in prep for NTCP2" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:65 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:65 msgid "Move SusiMail logging to router logs" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:66 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:66 msgid "SusiMail BCC-to-self feature replaced with Sent folder" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:67 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:67 msgid "Fix eepget handling of response line with no status text" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:68 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:68 msgid "i2psnark UI cleanups" msgstr "" -#: i2p2www/blog/2018/06/26/0.9.35-Release.draft.rst:69 +#: i2p2www/blog/2018/06/26/0.9.35-Release.rst:69 msgid "New Azerbaijani translation" msgstr "" +#: i2p2www/blog/2018/08/20/NTCP2.rst:1 +msgid "" +"============================\n" +"NTCP2 implementation details\n" +"============================" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:10 +msgid "I2P's new transport protocol implementation details" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:12 +msgid "`Source article`_ by orignal at habr.com" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:18 +msgid "" +"I2P's transport protocols were originally developed around 15 years ago. " +"Back \n" +"then, the main goal was to hide the transferred data, not to hide the " +"fact that \n" +"one was using the protocol itself. Nobody thought seriously about " +"protecting \n" +"against DPI (deep packets inspection) and protocols censorship. Times " +"change, \n" +"and even though original transport protocols are still providing strong " +"security, \n" +"there was a demand for a new transport protocol. NTCP2 is designed to " +"resist \n" +"current censorship threats. Mainly, DPI analysis of packets length. Plus," +" the new \n" +"protocol uses the most modern cryptography developments. NTCP2 is based " +"on the \n" +"`Noise Protocol Framework`_, with SHA256 \n" +"as a hash function and x25519 as an elliptic curve Diffie-Hellman (DH) " +"key \n" +"exchange." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:35 +msgid "Full specification of NTCP2 protocol can be `found here`_." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:41 +msgid "" +"New crypto\n" +"----------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:46 +msgid "" +"NTCP2 requires adding the next cryptographic algorithms to an I2P " +"implementation:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:57 +msgid "" +"Compared to our original protocol, NTCP, NTCP2 uses x25519 instead of " +"ElGamal \n" +"for DH function, AEAD/Chaha20/Poly1305 instead of AES-256-CBC/Adler32, " +"and uses \n" +"SipHash for obfuscating the packet's length information. The key " +"derivation \n" +"function used in NTCP2 is more complex, now using many HMAC-SHA256 calls." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:64 +msgid "" +"i2pd (C++) implementation note: All of the algorithms mentioned above, " +"except \n" +"SipHash, are implemented in OpenSSL 1.1.0. SipHash will be added to the " +"coming \n" +"OpenSSL 1.1.1 release. For compatibility with OpenSSL 1.0.2, which is " +"used in \n" +"most of the current systems, core i2pd developer \n" +"`Jeff Becker`_ has contributed standalone \n" +"implementations of missing cryptographic algorithms." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:75 +msgid "" +"RouterInfo changes\n" +"------------------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:80 +msgid "" +"NTCP2 requires having a third (x25519) key in addition to existing two " +"(the \n" +"encryption and signature keys). It is called a static key and it has to " +"be added \n" +"to any of RouterInfo addresses as an \"s\" parameter. It is required for " +"both \n" +"NTCP2 initiator (Alice) and responder (Bob). If more than one address " +"supports \n" +"NTCP2, for example, IPv4 and IPv6, \"s\" is required to be the same for " +"all of \n" +"them. Alice's address is allowed to have just the \"s\" parameter without" +" \"host\" \n" +"and \"port\" set. Also, a \"v\" parameter is required, that is currently " +"always set \n" +"to \"2\"." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:91 +msgid "" +"NTCP2 address can be declared as a separate NTCP2 address or as an old-" +"style \n" +"NTCP address with additional parameters, in which case it will accept " +"both \n" +"NTCP and NTCP2 connections. Java I2P implementation uses the second " +"approach, \n" +"i2pd (C++ implementation) uses the first." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:98 +msgid "" +"If a node accepts NTCP2 connections, it has to publish its RouterInfo " +"with the \n" +"\"i\" parameter, which is used as an initialization vector (IV) for the " +"public \n" +"encryption key when that node establishes new connections." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:104 +msgid "" +"Establishing a connection\n" +"-------------------------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:109 +msgid "" +"To establish a connection both sides need to generate pairs of ephemeral " +"x25519 \n" +"keys. Based on those keys and \"static\" keys they derive a set of keys " +"for data \n" +"transferring. Both parties must verify that the other side actually has a" +" \n" +"private key for that static key, and that static key is the same as in " +"RouterInfo." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:116 +msgid "Three messages are being sent to establish a connection:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:129 +msgid "" +"A common x25519 key, called «input key material», is computed for each " +"message, \n" +"after which message encryption key is generated with a MixKey function. A" +" value \n" +"ck (chaining key) is kept while messages are being exchanged. \n" +"That value is used as a final input when generating keys for data " +"transferring." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:136 +msgid "" +"MixKey function looks something like this in the C++ implementation of " +"I2P:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:157 +msgid "" +"**SessionRequest** message is made of a public x25519 Alice key (32 " +"bytes), a \n" +"block of data encrypted with AEAD/Chacha20/Poly1305 (16 bytes), a hash \n" +"(16 bytes) and some random data in the end (padding). Padding length is \n" +"defined in the encrypted block of data. Encrypted block also contains " +"length of \n" +"the second part of the **SessionConfirmed** message. A block of data is \n" +"encrypted and signed with a key derived from Alice's ephemeral key and \n" +"Bob's static key. Initial ck value for MixKey function is set to SHA256 \n" +"(Noise_XKaesobfse+hs2+hs3_25519_ChaChaPoly_SHA256)." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:168 +msgid "" +"Since 32 bytes of public x25519 key can be detected by DPI, it is " +"encrypted with \n" +"AES-256-CBC algorithm using hash of Bob's address as a key and \"i\" " +"parameter \n" +"from RouterInfo as an initialization vector (IV)." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:174 +msgid "" +"**SessionCreated** message has the same structure as **SessionRequest**, " +"except \n" +"the key is computed based on ephemeral keys of both sides. IV generated " +"after \n" +"encrypting/decrypting public key from **SessionRequest** message is used " +"as IV \n" +"for encrypting/decrypting ephemeral public key." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:181 +msgid "" +"**SessionConfirmed** message has 2 parts: public static key and Alice's \n" +"RouterInfo. The difference from previous messages is that ephemeral " +"public key \n" +"is encrypted with AEAD/Chaha20/Poly1305 using the same key as " +"**SessionCreated**. \n" +"It leads to increasing first part of the message from 32 to 48 bytes. \n" +"The second part is also encrypted with AEAD/Chaha20/Poly1305, but using a" +" new \n" +"key, computed from Bob's ephemeral key and Alice's static key. RouterInfo" +" part \n" +"can also be appended with random data padding, but it is not required, " +"since \n" +"RouterInfo usually has various length." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:192 +msgid "" +"Generation of data transfer keys\n" +"--------------------------------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:197 +msgid "" +"If every hash and key verification has succeeded, a common ck value must " +"be \n" +"present after the last MixKey operation on both sides. This value is used" +" to \n" +"generate two sets of keys for each side of a connection." +" \"k\" is \n" +"a AEAD/Chaha20/Poly1305 key, \"sipk\" is a SipHash key, \"sipiv\" is an " +"initial \n" +"value for SipHash IV, that is changed after each use." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:205 +msgid "" +"Code used to generate keys looks like this in the C++ implementation of " +"I2P:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:244 +msgid "" +"i2pd (C++) implementation note: First 16 bytes of the \"sipkeys\" array " +"are a \n" +"SipHash key, the last 8 bytes are IV. SipHash requires two 8 byte keys, " +"but i2pd \n" +"handles them as a single 16 bytes key." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:250 +msgid "" +"Data transferring\n" +"-----------------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:255 +msgid "Data is transferred in frames, each frame has 3 parts:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:259 +msgid "" +"- 2 bytes of frame length obfuscated with SipHash\n" +"- data encrypted with Chacha20\n" +"- 16 bytes of Poly1305 hash value" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:265 +msgid "Maximum length of data transferred in one frame is 65519 bytes." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:269 +msgid "" +"Message length is obfuscated by applying the XOR function with two first " +"bytes \n" +"of the current SipHash IV." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:274 +msgid "" +"Encrypted data part contains blocks of data. Each block is prepended with" +" 3 \n" +"bytes header, that defines block type and block length. Generally, I2NP " +"type \n" +"blocks are transferred, that are I2NP messages with an altered header. " +"One NTCP2 \n" +"frame can transfer multiple I2NP blocks." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:281 +msgid "" +"The other important data block type is a random data block. It is " +"recommended to \n" +"add a random data block to every NTCP2 frame. Only one random data block " +"can be \n" +"added ant it must be the last block." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:287 +msgid "Those are other data blocks used in the current NTCP2 implementation:" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:291 +msgid "" +"- RouterInfo — usually contains Bob's RouterInfo after the connection " +"has been \n" +" established, but it can also contain RouterInfo of a random node for " +"the purpose \n" +" of speeding up floodfills (there is a flags field for that case). \n" +"- Termination — is used when a host explicitly terminates a connection " +"and \n" +" specifies a reason for that.\n" +"- DateTime — a current time in seconds." +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:301 +msgid "" +"Summary\n" +"-------" +msgstr "" + +#: i2p2www/blog/2018/08/20/NTCP2.rst:306 +msgid "" +"The new I2P transport protocol NTCP2 provides effective resistance " +"against DPI \n" +"censorship. It also results in reduced CPU load because of the faster, " +"modern \n" +"cryptography used. It makes I2P more likely to run on low-end devices, " +"such as \n" +"smartphones and home routers. Both major I2P implementations have full " +"support \n" +"for NTCP2 and it make NTCP2 available for use starting with version \n" +"0.9.36 (Java) and 2.20 (i2pd, C++)." +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:1 +msgid "" +"==============\n" +"0.9.36 Release\n" +"==============" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:10 +msgid "0.9.36 with NTCP2 and bug fixes" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:17 +msgid "" +"0.9.36 implements a new, more secure transport protocol called NTCP2.\n" +"It is disabled by default, but you may enable it for testing.\n" +"NTCP2 will be enabled in the next release." +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:23 +msgid "" +"This release also contains a fix for installs on Windows 10, and several " +"performance improvements." +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:37 +msgid "i2psnark: Add sequential order option" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:39 +msgid "" +"NTCP2 (disabled by default, enable with advanced config " +"i2np.ntcp2.enable=true)" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:40 +msgid "Transport performance improvements" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:45 +msgid "Console: Catch rare session exception" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:46 +msgid "Crypto: EdDSA constant-time fix" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:47 +msgid "i2psnark: Handle deleted files on recheck/reopen" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:48 +msgid "i2psnark: Fix error stopping torrent when allocating" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:49 +msgid "Installer: Fix wrapper selection on Windows 10" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:50 +msgid "Streaming: Change behavior on read timeout" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:55 +msgid "Console: Split netdb output into pages" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:56 +msgid "Debian: Add dependency on famfamfam-flag-png" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:57 +msgid "Debian: Check for missing libtaglibs at build time" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:58 +msgid "I2CP: Add option for forcing gzip on/off per-message" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:59 +msgid "i2psnark: Add icon for comments" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:60 +msgid "i2ptunnel: Change read timeout defaults to account for streaming changes" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:61 +msgid "JBigI: Detect processor change at at startup, reselect lib" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:62 +msgid "Streaming: Performance improvements" +msgstr "" + +#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:65 +msgid "Update GeoIPv6 data (new installs and PPA only)" +msgstr "" + diff --git a/pots/comparison.pot b/pots/comparison.pot index 394a43f7..81414694 100644 --- a/pots/comparison.pot +++ b/pots/comparison.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P website\n" "Report-Msgid-Bugs-To: http://trac.i2p2.de\n" -"POT-Creation-Date: 2018-02-12 00:06+0000\n" +"POT-Creation-Date: 2018-08-24 11:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,7 +101,7 @@ msgid "" "networks page:" msgstr "" -#: i2p2www/pages/site/comparison/index.html:32 +#: i2p2www/pages/site/comparison/index.html:33 #, python-format msgid "" "The content of this page is subject to update, discussion and dispute, " @@ -118,7 +118,7 @@ msgstr "" msgid "The following networks are discussed on this page." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:16 +#: i2p2www/pages/site/comparison/other-networks.html:17 #, python-format msgid "" "Most of the following sections are fairly old, and may not be accurate.\n" @@ -131,6 +131,31 @@ msgstr "" #: i2p2www/pages/site/comparison/other-networks.html:29 #, python-format msgid "" +"RetroShare is a set of peer-to-peer applications running in a\n" +"Friend-to-friend (F2F) network. Each peer of " +"such F2F \n" +"network makes direct IP connections only to authenticated peers " +"(\"friends\") after explicit \n" +"certificates exchange. It can discover unauthenticated peers (e.g. " +"friends of friends), \n" +"but connections to them are relayed over \"friend\" peers for providing " +"privacy and anonymity." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:37 +msgid "" +"RetroShare is designed to build a private network of trusted peers, while" +" I2P is designed \n" +"to be a large-scaled public anonymous network. Recent versions of " +"RetroShare have options to run \n" +"as a public \"darknet\" by using I2P or Tor as a transport. That way all " +"connections are \n" +"anonymized and no trust is required for adding new \"friends\"." +msgstr "" + +#: i2p2www/pages/site/comparison/other-networks.html:48 +#, python-format +msgid "" "Morphmix and Tarzan are both fully distributed, peer to peer networks of" " \n" "anonymizing proxies, allowing people to tunnel out through the low " @@ -149,7 +174,7 @@ msgid "" "of their use outside of academic environments." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:153 +#: i2p2www/pages/site/comparison/other-networks.html:172 #, python-format msgid "" "\n" @@ -168,13 +193,13 @@ msgid "" "extreme protection for email." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:165 +#: i2p2www/pages/site/comparison/other-networks.html:184 msgid "" "As with Tor and Onion Routing, \n" "both Mixminion and Mixmaster take the directory based approach as well." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:175 +#: i2p2www/pages/site/comparison/other-networks.html:194 #, python-format msgid "" "JAP (Java Anonymous Proxy) is a network of mix cascades for anonymizing " @@ -206,7 +231,7 @@ msgid "" "if it may be found inadmissible in some courts later)" msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:197 +#: i2p2www/pages/site/comparison/other-networks.html:216 #, python-format msgid "" "Both of these systems work through the same basic \n" @@ -227,7 +252,7 @@ msgid "" "of peers)." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:209 +#: i2p2www/pages/site/comparison/other-networks.html:228 msgid "" "However, the algorithm does not scale well at all - if the application " "wants to speak with a \n" @@ -244,7 +269,7 @@ msgid "" "particular issues can be addressed." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:220 +#: i2p2www/pages/site/comparison/other-networks.html:239 #, python-format msgid "" "This was a closed-source network targeted at Iranian users.\n" @@ -256,19 +281,19 @@ msgid "" "technical documentation, need much more review." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:229 +#: i2p2www/pages/site/comparison/other-networks.html:248 msgid "Paid VPN Services" msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:230 -#: i2p2www/pages/site/comparison/other-networks.html:236 +#: i2p2www/pages/site/comparison/other-networks.html:249 +#: i2p2www/pages/site/comparison/other-networks.html:255 #, python-format msgid "" "You may contribute an analysis by entering a\n" "new ticket on Trac." msgstr "" -#: i2p2www/pages/site/comparison/other-networks.html:235 +#: i2p2www/pages/site/comparison/other-networks.html:254 msgid "Others" msgstr "" diff --git a/pots/docs.pot b/pots/docs.pot index 55fa119a..913a7d36 100644 --- a/pots/docs.pot +++ b/pots/docs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P website\n" "Report-Msgid-Bugs-To: http://trac.i2p2.de\n" -"POT-Creation-Date: 2018-06-24 13:48+0000\n" +"POT-Creation-Date: 2018-08-24 11:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,9 +21,11 @@ msgstr "" msgid "Index to Technical Documentation" msgstr "" -#: i2p2www/pages/site/docs/index.html:3 -#: i2p2www/pages/site/docs/how/network-database.html:3 -msgid "April 2018" +#: i2p2www/pages/site/docs/index.html:3 i2p2www/pages/site/docs/naming.html:3 +#: i2p2www/pages/site/docs/transport/index.html:3 +#: i2p2www/pages/site/docs/transport/ntcp.html:3 +#: i2p2www/pages/site/docs/transport/ssu.html:3 +msgid "June 2018" msgstr "" #: i2p2www/pages/site/docs/index.html:6 @@ -126,7 +128,7 @@ msgstr "" msgid "Managed Clients" msgstr "" -#: i2p2www/pages/site/docs/index.html:45 i2p2www/pages/site/docs/index.html:229 +#: i2p2www/pages/site/docs/index.html:45 i2p2www/pages/site/docs/index.html:231 msgid "Embedding the router in your application" msgstr "" @@ -143,7 +145,7 @@ msgstr "" msgid "hostsdb.blockfile Format" msgstr "" -#: i2p2www/pages/site/docs/index.html:49 i2p2www/pages/site/docs/index.html:195 +#: i2p2www/pages/site/docs/index.html:49 i2p2www/pages/site/docs/index.html:197 msgid "Configuration File Format" msgstr "" @@ -289,7 +291,7 @@ msgid "Cryptographic signatures" msgstr "" #: i2p2www/pages/site/docs/index.html:128 -#: i2p2www/pages/site/docs/index.html:187 +#: i2p2www/pages/site/docs/index.html:189 msgid "Router reseed specification" msgstr "" @@ -390,160 +392,160 @@ msgid "TCP-based transport overview and specification" msgstr "" #: i2p2www/pages/site/docs/index.html:168 -msgid "UDP-based transport overview" +msgid "NTCP2 specification" msgstr "" #: i2p2www/pages/site/docs/index.html:170 -msgid "SSU specification" +msgid "UDP-based transport overview" msgstr "" #: i2p2www/pages/site/docs/index.html:172 -msgid "NTCP transport encryption" +msgid "SSU specification" msgstr "" #: i2p2www/pages/site/docs/index.html:174 -msgid "SSU transport encryption" +msgid "NTCP transport encryption" msgstr "" #: i2p2www/pages/site/docs/index.html:176 -msgid "Transport Javadoc" +msgid "SSU transport encryption" msgstr "" #: i2p2www/pages/site/docs/index.html:178 -msgid "NTCP Javadoc" +msgid "Transport Javadoc" msgstr "" #: i2p2www/pages/site/docs/index.html:180 +msgid "NTCP Javadoc" +msgstr "" + +#: i2p2www/pages/site/docs/index.html:182 msgid "SSU Javadoc" msgstr "" -#: i2p2www/pages/site/docs/index.html:183 +#: i2p2www/pages/site/docs/index.html:185 msgid "Other Router Topics" msgstr "" -#: i2p2www/pages/site/docs/index.html:185 +#: i2p2www/pages/site/docs/index.html:187 msgid "Router software updates" msgstr "" -#: i2p2www/pages/site/docs/index.html:189 +#: i2p2www/pages/site/docs/index.html:191 msgid "Native BigInteger Library" msgstr "" -#: i2p2www/pages/site/docs/index.html:191 +#: i2p2www/pages/site/docs/index.html:193 msgid "Time synchronization and NTP" msgstr "" -#: i2p2www/pages/site/docs/index.html:193 +#: i2p2www/pages/site/docs/index.html:195 msgid "Performance" msgstr "" -#: i2p2www/pages/site/docs/index.html:200 +#: i2p2www/pages/site/docs/index.html:202 msgid "Developer's Guides and Resources" msgstr "" -#: i2p2www/pages/site/docs/index.html:202 +#: i2p2www/pages/site/docs/index.html:204 msgid "New Developer's Guide" msgstr "" -#: i2p2www/pages/site/docs/index.html:204 +#: i2p2www/pages/site/docs/index.html:206 msgid "New Translator's Guide" msgstr "" -#: i2p2www/pages/site/docs/index.html:206 +#: i2p2www/pages/site/docs/index.html:208 msgid "Monotone Guide" msgstr "" -#: i2p2www/pages/site/docs/index.html:208 +#: i2p2www/pages/site/docs/index.html:210 msgid "Developer Guidelines" msgstr "" -#: i2p2www/pages/site/docs/index.html:210 +#: i2p2www/pages/site/docs/index.html:212 msgid "Javadocs on the standard internet:" msgstr "" -#: i2p2www/pages/site/docs/index.html:211 -#: i2p2www/pages/site/docs/index.html:217 +#: i2p2www/pages/site/docs/index.html:213 #: i2p2www/pages/site/docs/index.html:219 #: i2p2www/pages/site/docs/index.html:221 +#: i2p2www/pages/site/docs/index.html:223 #, python-format msgid "Server %(num)s" msgstr "" -#: i2p2www/pages/site/docs/index.html:212 -#: i2p2www/pages/site/docs/index.html:225 +#: i2p2www/pages/site/docs/index.html:214 +#: i2p2www/pages/site/docs/index.html:227 msgid "" "Note: always verify that javadocs are current by checking the release " "number." msgstr "" -#: i2p2www/pages/site/docs/index.html:214 +#: i2p2www/pages/site/docs/index.html:216 msgid "Javadocs inside I2P:" msgstr "" -#: i2p2www/pages/site/docs/index.html:227 +#: i2p2www/pages/site/docs/index.html:229 msgid "Proposals" msgstr "" -#: i2p2www/pages/site/docs/index.html:231 +#: i2p2www/pages/site/docs/index.html:233 msgid "How to Set up a Reseed Server" msgstr "" -#: i2p2www/pages/site/docs/index.html:233 +#: i2p2www/pages/site/docs/index.html:235 msgid "Ports used by I2P" msgstr "" -#: i2p2www/pages/site/docs/index.html:235 +#: i2p2www/pages/site/docs/index.html:237 msgid "Automatic updates to development builds inside I2P" msgstr "" -#: i2p2www/pages/site/docs/index.html:237 +#: i2p2www/pages/site/docs/index.html:239 msgid "Updating the wrapper manually" msgstr "" -#: i2p2www/pages/site/docs/index.html:239 +#: i2p2www/pages/site/docs/index.html:241 msgid "User forum" msgstr "" -#: i2p2www/pages/site/docs/index.html:241 +#: i2p2www/pages/site/docs/index.html:243 msgid "Developer forum inside I2P" msgstr "" -#: i2p2www/pages/site/docs/index.html:243 +#: i2p2www/pages/site/docs/index.html:245 msgid "Bug tracker" msgstr "" -#: i2p2www/pages/site/docs/index.html:246 +#: i2p2www/pages/site/docs/index.html:248 msgid "Viewmtn inside I2P" msgstr "" -#: i2p2www/pages/site/docs/index.html:249 +#: i2p2www/pages/site/docs/index.html:251 msgid "I2P Source exported to GitHub" msgstr "" -#: i2p2www/pages/site/docs/index.html:251 +#: i2p2www/pages/site/docs/index.html:253 msgid "I2P Source Git Repo inside I2P" msgstr "" -#: i2p2www/pages/site/docs/index.html:253 +#: i2p2www/pages/site/docs/index.html:255 msgid "Source translation at Transifex" msgstr "" -#: i2p2www/pages/site/docs/index.html:255 +#: i2p2www/pages/site/docs/index.html:257 msgid "Roadmap" msgstr "" -#: i2p2www/pages/site/docs/index.html:257 +#: i2p2www/pages/site/docs/index.html:259 msgid "To Do List" msgstr "" -#: i2p2www/pages/site/docs/index.html:257 +#: i2p2www/pages/site/docs/index.html:259 msgid "not current" msgstr "" -#: i2p2www/pages/site/docs/naming.html:3 -msgid "June 2018" -msgstr "" - #: i2p2www/pages/site/docs/naming.html:8 msgid "" "I2P ships with a generic naming library and a base implementation \n" @@ -1432,7 +1434,6 @@ msgid "Ports Used by I2P" msgstr "" #: i2p2www/pages/site/docs/ports.html:3 -#: i2p2www/pages/site/docs/transport/ssu.html:3 msgid "March 2018" msgstr "" @@ -2024,7 +2025,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/api/datagrams.html:93 -#: i2p2www/pages/site/docs/api/streaming.html:416 +#: i2p2www/pages/site/docs/api/streaming.html:418 msgid "Data Integrity" msgstr "" @@ -2037,7 +2038,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/api/datagrams.html:100 -#: i2p2www/pages/site/docs/api/streaming.html:424 +#: i2p2www/pages/site/docs/api/streaming.html:426 msgid "Packet Encapsulation" msgstr "" @@ -2056,7 +2057,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/api/datagrams.html:114 -#: i2p2www/pages/site/docs/transport/ssu.html:651 +#: i2p2www/pages/site/docs/transport/ssu.html:650 msgid "Specification" msgstr "" @@ -2994,7 +2995,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/api/streaming.html:3 -msgid "February 2018" +msgid "July 2018" msgstr "" #: i2p2www/pages/site/docs/api/streaming.html:8 @@ -3182,18 +3183,18 @@ msgstr "" #: i2p2www/pages/site/docs/api/streaming.html:200 #: i2p2www/pages/site/docs/api/streaming.html:212 #: i2p2www/pages/site/docs/api/streaming.html:220 -#: i2p2www/pages/site/docs/api/streaming.html:243 -#: i2p2www/pages/site/docs/api/streaming.html:260 -#: i2p2www/pages/site/docs/api/streaming.html:273 -#: i2p2www/pages/site/docs/api/streaming.html:284 -#: i2p2www/pages/site/docs/api/streaming.html:290 -#: i2p2www/pages/site/docs/api/streaming.html:296 -#: i2p2www/pages/site/docs/api/streaming.html:310 -#: i2p2www/pages/site/docs/api/streaming.html:317 -#: i2p2www/pages/site/docs/api/streaming.html:324 -#: i2p2www/pages/site/docs/api/streaming.html:349 -#: i2p2www/pages/site/docs/api/streaming.html:356 -#: i2p2www/pages/site/docs/api/streaming.html:363 +#: i2p2www/pages/site/docs/api/streaming.html:245 +#: i2p2www/pages/site/docs/api/streaming.html:262 +#: i2p2www/pages/site/docs/api/streaming.html:275 +#: i2p2www/pages/site/docs/api/streaming.html:286 +#: i2p2www/pages/site/docs/api/streaming.html:292 +#: i2p2www/pages/site/docs/api/streaming.html:298 +#: i2p2www/pages/site/docs/api/streaming.html:312 +#: i2p2www/pages/site/docs/api/streaming.html:319 +#: i2p2www/pages/site/docs/api/streaming.html:326 +#: i2p2www/pages/site/docs/api/streaming.html:351 +#: i2p2www/pages/site/docs/api/streaming.html:358 +#: i2p2www/pages/site/docs/api/streaming.html:365 #, python-format msgid "As of release %(release)s." msgstr "" @@ -3286,97 +3287,97 @@ msgid "" "Destination." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:224 +#: i2p2www/pages/site/docs/api/streaming.html:226 msgid "" "(0=noop, 1=disconnect)\n" "What to do on an inactivity timeout - do nothing, disconnect, or send a " "duplicate ack." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:230 +#: i2p2www/pages/site/docs/api/streaming.html:232 msgid "Idle time before sending a keepalive" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:233 +#: i2p2www/pages/site/docs/api/streaming.html:235 msgid "Delay before sending an ack" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:235 +#: i2p2www/pages/site/docs/api/streaming.html:237 msgid "" "The initial value of the resend delay field in the packet header, times " "1000.\n" "Not fully implemented; see below." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:240 +#: i2p2www/pages/site/docs/api/streaming.html:242 msgid "" "Initial timeout\n" "(if no sharing data available)." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:247 +#: i2p2www/pages/site/docs/api/streaming.html:249 msgid "" "Initial round trip time estimate\n" "(if no sharing data available).\n" "Disabled as of release 0.9.8; uses actual RTT." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:253 +#: i2p2www/pages/site/docs/api/streaming.html:255 msgid "if no sharing data available" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:253 +#: i2p2www/pages/site/docs/api/streaming.html:255 msgid "" "In standard TCP, window sizes are in bytes, while in I2P, window sizes " "are in messages." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:277 +#: i2p2www/pages/site/docs/api/streaming.html:279 msgid "" "(0 or negative value means unlimited)\n" "This is a total limit for incoming and outgoing combined." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:282 +#: i2p2www/pages/site/docs/api/streaming.html:284 msgid "Incoming connection limit (per peer; 0 means disabled)" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:288 -#: i2p2www/pages/site/docs/api/streaming.html:294 +#: i2p2www/pages/site/docs/api/streaming.html:290 +#: i2p2www/pages/site/docs/api/streaming.html:296 msgid "(per peer; 0 means disabled)" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:300 +#: i2p2www/pages/site/docs/api/streaming.html:302 msgid "The MTU in bytes." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:304 +#: i2p2www/pages/site/docs/api/streaming.html:306 msgid "Maximum number of retransmissions before failure." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:308 +#: i2p2www/pages/site/docs/api/streaming.html:310 msgid "Incoming connection limit (all peers; 0 means disabled)" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:314 -#: i2p2www/pages/site/docs/api/streaming.html:321 +#: i2p2www/pages/site/docs/api/streaming.html:316 +#: i2p2www/pages/site/docs/api/streaming.html:323 msgid "" "(all peers; 0 means disabled)\n" "Use with caution as exceeding this will disable a server for a long time." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:330 +#: i2p2www/pages/site/docs/api/streaming.html:332 msgid "" "(2=interactive not supported)\n" "This doesn't currently do anything, but setting it to a value other than " "1 will cause an error." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:335 +#: i2p2www/pages/site/docs/api/streaming.html:337 msgid "How long to block on read, in milliseconds. Negative means indefinitely." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:339 +#: i2p2www/pages/site/docs/api/streaming.html:341 msgid "" "When we're in slow start, we grow the window size at the rate\n" "of 1/(factor). In standard TCP, window sizes are in bytes,\n" @@ -3384,37 +3385,37 @@ msgid "" "A higher number means slower growth." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:346 -#: i2p2www/pages/site/docs/api/streaming.html:353 -#: i2p2www/pages/site/docs/api/streaming.html:360 +#: i2p2www/pages/site/docs/api/streaming.html:348 +#: i2p2www/pages/site/docs/api/streaming.html:355 +#: i2p2www/pages/site/docs/api/streaming.html:362 msgid "" "Ref: RFC 2140. Floating point value.\n" "May be set only via context properties, not connection options." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:367 +#: i2p2www/pages/site/docs/api/streaming.html:369 msgid "" "How long to block on write/flush, in milliseconds. Negative means " "indefinitely." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:375 +#: i2p2www/pages/site/docs/api/streaming.html:377 msgid "Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:377 +#: i2p2www/pages/site/docs/api/streaming.html:379 msgid "See the Streaming Library Specification page." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:381 +#: i2p2www/pages/site/docs/api/streaming.html:383 msgid "Implementation Details" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:383 +#: i2p2www/pages/site/docs/api/streaming.html:385 msgid "Setup" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:384 +#: i2p2www/pages/site/docs/api/streaming.html:386 msgid "" "The initiator sends a packet with the SYNCHRONIZE flag set. This packet " "may contain the initial data as well.\n" @@ -3422,7 +3423,7 @@ msgid "" " may contain the initial response data as well." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:389 +#: i2p2www/pages/site/docs/api/streaming.html:391 msgid "" "The initiator may send additional data packets, up to the initial window " "size, before receiving the SYNCHRONIZE response.\n" @@ -3432,11 +3433,11 @@ msgid "" "arrive out of order, in advance of the SYNCHRONIZE packet." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:396 +#: i2p2www/pages/site/docs/api/streaming.html:398 msgid "MTU Selection and Negotiation" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:397 +#: i2p2www/pages/site/docs/api/streaming.html:399 msgid "" "The maximum message size (also called the MTU / MRU) is negotiated to the" " lower value supported by\n" @@ -3449,7 +3450,7 @@ msgid "" "including overhead for the typical case." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:406 +#: i2p2www/pages/site/docs/api/streaming.html:408 msgid "" "The first message in a connection includes a 387 byte (typical) " "Destination added by the streaming layer,\n" @@ -3467,7 +3468,7 @@ msgid "" "connections." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:417 +#: i2p2www/pages/site/docs/api/streaming.html:419 #, python-format msgid "" "Data integrity is assured by the gzip CRC-32 checksum implemented in\n" @@ -3475,7 +3476,7 @@ msgid "" "There is no checksum field in the streaming protocol." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:425 +#: i2p2www/pages/site/docs/api/streaming.html:427 #, python-format msgid "" "Each packet is sent through I2P as a single message (or as an individual " @@ -3489,11 +3490,11 @@ msgid "" "mechanism or payload length field in the streaming protocol." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:435 +#: i2p2www/pages/site/docs/api/streaming.html:437 msgid "Optional Delay" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:436 +#: i2p2www/pages/site/docs/api/streaming.html:438 msgid "" "Data packets may include an optional delay field specifying the requested" " delay,\n" @@ -3510,11 +3511,11 @@ msgid "" "Optional delay values greater than 60000 indicate choking, see below." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:450 +#: i2p2www/pages/site/docs/api/streaming.html:452 msgid "Receive Window and Choking" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:451 +#: i2p2www/pages/site/docs/api/streaming.html:453 msgid "" "TCP headers include the receive window in bytes.\n" "The streaming protocol does not contain a receive window, it uses only a " @@ -3530,7 +3531,7 @@ msgid "" "loopback\" (same-router) connections." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:460 +#: i2p2www/pages/site/docs/api/streaming.html:462 msgid "" "To quickly indicate and smoothly recover from overflow conditions,\n" "there is a simple mechanism for pushback in the streaming protocol.\n" @@ -3543,7 +3544,7 @@ msgid "" "state." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:468 +#: i2p2www/pages/site/docs/api/streaming.html:470 msgid "" "After being choked, no more packets with data should be sent until the " "transmitter is unchoked,\n" @@ -3559,11 +3560,11 @@ msgid "" "unchoked is implementation-dependent." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:479 +#: i2p2www/pages/site/docs/api/streaming.html:481 msgid "Congestion Control" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:480 +#: i2p2www/pages/site/docs/api/streaming.html:482 msgid "" "The streaming lib uses standard slow-start (exponential window growth) " "and congestion avoidance (linear window growth)\n" @@ -3571,11 +3572,11 @@ msgid "" "Windowing and acknowledgments use packet count, not byte count." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:487 +#: i2p2www/pages/site/docs/api/streaming.html:489 msgid "Close" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:488 +#: i2p2www/pages/site/docs/api/streaming.html:490 msgid "" "Any packet, including one with the SYNCHRONIZE flag set, may have the " "CLOSE flag sent as well.\n" @@ -3584,7 +3585,7 @@ msgid "" "CLOSE packets may contain data as well." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:496 +#: i2p2www/pages/site/docs/api/streaming.html:498 msgid "" "There is no ping function at the I2CP layer (equivalent to ICMP echo) or " "in datagrams.\n" @@ -3595,7 +3596,7 @@ msgid "" "ignored." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:504 +#: i2p2www/pages/site/docs/api/streaming.html:506 msgid "" "A ping packet must have the ECHO, SIGNATURE_INCLUDED, and FROM_INCLUDED " "flags set.\n" @@ -3604,7 +3605,7 @@ msgid "" "The sendStreamId may or may not correspond to an existing connection." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:510 +#: i2p2www/pages/site/docs/api/streaming.html:512 msgid "" "A pong packet must have the ECHO flag set.\n" "The sendStreamId must be zero, and the receiveStreamId is the " @@ -3613,24 +3614,24 @@ msgid "" "that was contained in the ping." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:516 +#: i2p2www/pages/site/docs/api/streaming.html:518 msgid "" "As of release 0.9.18, pings and pongs may contain a payload.\n" "The payload in the ping, up to a maximum of 32 bytes, is returned in the " "pong." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:521 +#: i2p2www/pages/site/docs/api/streaming.html:523 msgid "" "Streaming may be configured to disable sending pongs with the " "configuration i2p.streaming.answerPings=false." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:526 +#: i2p2www/pages/site/docs/api/streaming.html:528 msgid "Control Block Sharing" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:527 +#: i2p2www/pages/site/docs/api/streaming.html:529 msgid "" "The streaming lib supports \"TCP\" Control Block sharing.\n" "This shares three important streaming lib parameters\n" @@ -3647,22 +3648,22 @@ msgid "" "The following Control Block Sharing parameters can be set per router:" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:548 +#: i2p2www/pages/site/docs/api/streaming.html:550 msgid "Other Parameters" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:549 +#: i2p2www/pages/site/docs/api/streaming.html:551 msgid "" "The following parameters are hardcoded, but may be of interest for " "analysis:" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:568 +#: i2p2www/pages/site/docs/api/streaming.html:570 #: i2p2www/pages/site/docs/how/network-database.html:895 msgid "History" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:569 +#: i2p2www/pages/site/docs/api/streaming.html:571 msgid "" "The streaming library has grown organically for I2P - first mihi " "implemented the\n" @@ -3685,7 +3686,7 @@ msgid "" "messages." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:583 +#: i2p2www/pages/site/docs/api/streaming.html:585 #: i2p2www/pages/site/docs/how/elgamal-aes.html:344 #: i2p2www/pages/site/docs/how/garlic-routing.html:251 #: i2p2www/pages/site/docs/how/network-database.html:900 @@ -3693,24 +3694,24 @@ msgstr "" #: i2p2www/pages/site/docs/how/tunnel-routing.html:255 #: i2p2www/pages/site/docs/protocol/i2cp.html:723 #: i2p2www/pages/site/docs/protocol/i2np.html:226 -#: i2p2www/pages/site/docs/transport/ntcp.html:545 -#: i2p2www/pages/site/docs/transport/ssu.html:586 +#: i2p2www/pages/site/docs/transport/ntcp.html:544 +#: i2p2www/pages/site/docs/transport/ssu.html:585 #: i2p2www/pages/site/docs/tunnels/implementation.html:506 msgid "Future Work" msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:584 +#: i2p2www/pages/site/docs/api/streaming.html:586 msgid "" "The behavior of the streaming library has a profound impact on\n" "application-level performance, and as such, is an important\n" "area for further analysis." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:590 +#: i2p2www/pages/site/docs/api/streaming.html:592 msgid "Additional tuning of the streaming lib parameters may be necessary." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:593 +#: i2p2www/pages/site/docs/api/streaming.html:595 #, python-format msgid "" "Another area for research is the interaction of the streaming lib with " @@ -3719,7 +3720,7 @@ msgid "" "See the NTCP discussion page for details." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:598 +#: i2p2www/pages/site/docs/api/streaming.html:600 msgid "" "The interaction of the routing algorithms with the streaming lib strongly" " affects performance.\n" @@ -3734,32 +3735,32 @@ msgid "" "improvements." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:608 +#: i2p2www/pages/site/docs/api/streaming.html:610 msgid "The data in the first SYN packet may exceed the receiver's MTU." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:611 +#: i2p2www/pages/site/docs/api/streaming.html:613 msgid "The DELAY_REQUESTED field could be used more." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:614 +#: i2p2www/pages/site/docs/api/streaming.html:616 msgid "" "Duplicate initial SYNCHRONIZE packets on short-lived streams may not be " "recognized and removed." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:617 +#: i2p2www/pages/site/docs/api/streaming.html:619 msgid "Don't send the MTU in a retransmission." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:620 +#: i2p2www/pages/site/docs/api/streaming.html:622 msgid "" "Data is sent along unless the outbound window is full.\n" "(i.e. no-Nagle or TCP_NODELAY)\n" "Probably should have a configuration option for this." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:625 +#: i2p2www/pages/site/docs/api/streaming.html:627 msgid "" "zzz has added debug code to the streaming library to log packets in a " "wireshark-compatible\n" @@ -3768,7 +3769,7 @@ msgid "" "to TCP fields." msgstr "" -#: i2p2www/pages/site/docs/api/streaming.html:630 +#: i2p2www/pages/site/docs/api/streaming.html:632 msgid "" "There are proposals to replace the streaming lib with standard TCP\n" "(or perhaps a null layer together with raw sockets).\n" @@ -7084,6 +7085,10 @@ msgstr "" msgid "The Network Database" msgstr "" +#: i2p2www/pages/site/docs/how/network-database.html:3 +msgid "April 2018" +msgstr "" + #: i2p2www/pages/site/docs/how/network-database.html:8 msgid "" "I2P's netDb is a specialized distributed database, containing \n" @@ -8917,7 +8922,7 @@ msgstr "" #: i2p2www/pages/site/docs/how/tech-intro.html:5 #: i2p2www/pages/site/docs/how/tech-intro.html:20 -#: i2p2www/pages/site/docs/transport/ssu.html:343 +#: i2p2www/pages/site/docs/transport/ssu.html:342 msgid "Introduction" msgstr "" @@ -13615,10 +13620,6 @@ msgstr "" msgid "Transport Overview" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:3 -msgid "September 2014" -msgstr "" - #: i2p2www/pages/site/docs/transport/index.html:6 msgid "Transports in I2P" msgstr "" @@ -13637,7 +13638,7 @@ msgstr "" #: i2p2www/pages/site/docs/transport/index.html:16 msgid "" "I2P supports multiple transports simultaneously.\n" -"There are two transports currently implemented:" +"There are three transports currently implemented:" msgstr "" #: i2p2www/pages/site/docs/transport/index.html:21 @@ -13650,21 +13651,26 @@ msgstr "" msgid " SSU, or Secure Semireliable UDP" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:25 +#: i2p2www/pages/site/docs/transport/index.html:23 +#, python-format +msgid "NTCP2, a new version of NTCP" +msgstr "" + +#: i2p2www/pages/site/docs/transport/index.html:26 msgid "" "Each provides a \"connection\" paradigm, with authentication,\n" "flow control, acknowledgments and retransmission." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:31 +#: i2p2www/pages/site/docs/transport/index.html:32 msgid "Transport Services" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:33 +#: i2p2www/pages/site/docs/transport/index.html:34 msgid "The transport subsystem in I2P provides the following services:" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:37 +#: i2p2www/pages/site/docs/transport/index.html:38 #, python-format msgid "" "Reliable delivery of I2NP messages.\n" @@ -13672,11 +13678,11 @@ msgid "" "They are not general-purpose data pipes." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:42 +#: i2p2www/pages/site/docs/transport/index.html:43 msgid "In-order delivery of messages is NOT guaranteed by all transports." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:43 +#: i2p2www/pages/site/docs/transport/index.html:44 msgid "" "Maintain a set of router addresses, one or more for each transport,\n" "that the router publishes as its global contact information (the " @@ -13685,29 +13691,29 @@ msgid "" "IPv4 or (as of version 0.9.8) IPv6." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:49 +#: i2p2www/pages/site/docs/transport/index.html:50 msgid "Selection of the best transport for each outgoing message" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:50 +#: i2p2www/pages/site/docs/transport/index.html:51 msgid "Queueing of outbound messages by priority" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:51 +#: i2p2www/pages/site/docs/transport/index.html:52 msgid "" "Bandwidth limiting, both outbound and inbound, according to router " "configuration" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:52 +#: i2p2www/pages/site/docs/transport/index.html:53 msgid "Setup and teardown of transport connections" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:53 +#: i2p2www/pages/site/docs/transport/index.html:54 msgid "Encryption of point-to-point communications" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:54 +#: i2p2www/pages/site/docs/transport/index.html:55 msgid "" "Maintenance of connection limits for each transport, implementation of " "various thresholds for these limits,\n" @@ -13715,62 +13721,62 @@ msgid "" "operational changes based on the status" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:58 +#: i2p2www/pages/site/docs/transport/index.html:59 msgid "Firewall port opening using UPnP (Universal Plug and Play)" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:59 +#: i2p2www/pages/site/docs/transport/index.html:60 msgid "Cooperative NAT/Firewall traversal" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:60 +#: i2p2www/pages/site/docs/transport/index.html:61 msgid "" "Local IP detection by various methods, including UPnP, inspection of " "incoming connections, and enumeration of network devices" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:61 +#: i2p2www/pages/site/docs/transport/index.html:62 msgid "" "Coordination of firewall status and local IP, and changes to either, " "among the transports" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:62 -#: i2p2www/pages/site/docs/transport/ssu.html:36 +#: i2p2www/pages/site/docs/transport/index.html:63 +#: i2p2www/pages/site/docs/transport/ssu.html:35 msgid "" "Communication of firewall status and local IP, and changes to either, to " "the router and the user interface" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:63 +#: i2p2www/pages/site/docs/transport/index.html:64 msgid "" "Determination of a consensus clock, which is used to periodically update " "the router's clock, as a backup for NTP" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:64 +#: i2p2www/pages/site/docs/transport/index.html:65 msgid "" "Maintenance of status for each peer, including whether it is connected, " "whether it was recently connected,\n" "and whether it was reachable in the last attempt" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:68 +#: i2p2www/pages/site/docs/transport/index.html:69 msgid "Qualification of valid IP addresses according to a local rule set" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:69 +#: i2p2www/pages/site/docs/transport/index.html:70 msgid "" "Honoring the automated and manual lists of banned peers maintained by the" " router,\n" "and refusing outbound and inbound connections to those peers" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:76 +#: i2p2www/pages/site/docs/transport/index.html:77 msgid "Transport Addresses" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:78 +#: i2p2www/pages/site/docs/transport/index.html:79 msgid "" "The transport subsystem maintains a set of router addresses, each of " "which lists a transport method, IP, and port.\n" @@ -13779,21 +13785,21 @@ msgid "" "Addresses may also contain an arbitrary set of additional options." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:84 +#: i2p2www/pages/site/docs/transport/index.html:85 msgid "Each transport method may publish multiple router addresses." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:88 +#: i2p2www/pages/site/docs/transport/index.html:89 msgid "Typical scenarios are:" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:90 +#: i2p2www/pages/site/docs/transport/index.html:91 msgid "" "A router has no published addresses, so it is considered \"hidden\" and " "cannot receive incoming connections" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:91 +#: i2p2www/pages/site/docs/transport/index.html:92 #, python-format msgid "" "A router is firewalled, and therefore publishes an SSU address which " @@ -13802,18 +13808,18 @@ msgid "" "href=\"%(ssu)s\">the SSU spec for details)" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:95 +#: i2p2www/pages/site/docs/transport/index.html:96 msgid "" "A router is not firewalled or its NAT ports are open; it publishes both " "NTCP and SSU addresses containing\n" "directly-accessible IP and ports." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:101 +#: i2p2www/pages/site/docs/transport/index.html:102 msgid "Transport Selection" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:103 +#: i2p2www/pages/site/docs/transport/index.html:104 #, python-format msgid "" "The transport system delivers I2NP messages " @@ -13829,7 +13835,7 @@ msgid "" "etc.)." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:117 +#: i2p2www/pages/site/docs/transport/index.html:118 msgid "" "For each outgoing message, the transport system solicits \"bids\" from " "each transport.\n" @@ -13838,78 +13844,78 @@ msgid "" "A transport may refuse to bid." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:123 +#: i2p2www/pages/site/docs/transport/index.html:124 msgid "Whether a transport bids, and with what value, depend on numerous factors:" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:127 +#: i2p2www/pages/site/docs/transport/index.html:128 msgid "Configuration of transport preferences" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:128 +#: i2p2www/pages/site/docs/transport/index.html:129 msgid "Whether the transport is already connected to the peer" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:129 +#: i2p2www/pages/site/docs/transport/index.html:130 msgid "" "The number of current connections compared to various connection limit " "thresholds" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:130 +#: i2p2www/pages/site/docs/transport/index.html:131 msgid "Whether recent connection attempts to the peer have failed" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:131 +#: i2p2www/pages/site/docs/transport/index.html:132 msgid "" "The size of the message, as different transports have different size " "limits" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:132 +#: i2p2www/pages/site/docs/transport/index.html:133 msgid "" "Whether the peer can accept incoming connections for that transport, as " "advertised in its RouterInfo" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:133 +#: i2p2www/pages/site/docs/transport/index.html:134 msgid "Whether the connection would be indirect (requiring introducers) or direct" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:134 +#: i2p2www/pages/site/docs/transport/index.html:135 msgid "The peer's transport preference, as advertised in its RouterInfo" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:137 +#: i2p2www/pages/site/docs/transport/index.html:138 msgid "" "In general, the bid values are selected so that two routers are only " "connected by a single transport\n" "at any one time. However, this is not a requirement." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:144 +#: i2p2www/pages/site/docs/transport/index.html:145 msgid "New Transports and Future Work" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:146 +#: i2p2www/pages/site/docs/transport/index.html:147 msgid "Additional transports may be developed, including:" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:151 +#: i2p2www/pages/site/docs/transport/index.html:152 msgid "A TLS/SSH look-alike transport" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:152 +#: i2p2www/pages/site/docs/transport/index.html:153 msgid "" "An \"indirect\" transport for routers that are not reachable by all other" " routers (one form of \"restricted routes\")" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:153 +#: i2p2www/pages/site/docs/transport/index.html:154 msgid "Tor-compatible pluggable transports" msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:156 +#: i2p2www/pages/site/docs/transport/index.html:157 msgid "" "Work continues on adjusting default connection limits for each transport." "\n" @@ -13920,7 +13926,7 @@ msgid "" "routers that are behind restrictive state firewalls (restricted routes)." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:163 +#: i2p2www/pages/site/docs/transport/index.html:164 msgid "" "The current connection limits are higher for SSU than for NTCP, based on " "the assumption that\n" @@ -13931,7 +13937,7 @@ msgid "" "that assumption is difficult to verify." msgstr "" -#: i2p2www/pages/site/docs/transport/index.html:170 +#: i2p2www/pages/site/docs/transport/index.html:171 #, python-format msgid "" "Analyze Breaking and Improving Protocol " @@ -13943,23 +13949,18 @@ msgstr "" msgid "NTCP (NIO-based TCP)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:3 -msgid "September 2017" -msgstr "" - #: i2p2www/pages/site/docs/transport/ntcp.html:6 #, python-format msgid "" -"NTCP is one of two transports currently " -"implemented in I2P.\n" -"The other is SSU.\n" +"The others are SSU and NTCP2.\n" "NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n" "Java NIO (new I/O) does not suffer from the 1 thread per connection " "issues of the old TCP transport.\n" "NTCP-over-IPv6 is supported as of version 0.9.8." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:14 +#: i2p2www/pages/site/docs/transport/ntcp.html:13 msgid "" "By default, NTCP uses the IP/Port\n" "auto-detected by SSU. When enabled on config.jsp,\n" @@ -13968,32 +13969,32 @@ msgid "" "Now you can enable inbound TCP without a static IP or dyndns service." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:22 +#: i2p2www/pages/site/docs/transport/ntcp.html:21 msgid "" "The NTCP code within I2P is relatively lightweight (1/4 the size of the " "SSU code)\n" "because it uses the underlying Java TCP transport for reliable delivery." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:28 -#: i2p2www/pages/site/docs/transport/ssu.html:39 +#: i2p2www/pages/site/docs/transport/ntcp.html:27 +#: i2p2www/pages/site/docs/transport/ssu.html:38 msgid "Router Address Specification" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:30 -#: i2p2www/pages/site/docs/transport/ssu.html:41 +#: i2p2www/pages/site/docs/transport/ntcp.html:29 +#: i2p2www/pages/site/docs/transport/ssu.html:40 msgid "The following properties are stored in the network database." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:45 +#: i2p2www/pages/site/docs/transport/ntcp.html:44 msgid "NTCP Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:47 +#: i2p2www/pages/site/docs/transport/ntcp.html:46 msgid "Standard Message Format" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:48 +#: i2p2www/pages/site/docs/transport/ntcp.html:47 msgid "" "After establishment,\n" "the NTCP transport sends individual I2NP messages, with a simple " @@ -14001,7 +14002,7 @@ msgid "" "The unencrypted message is encoded as follows:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:66 +#: i2p2www/pages/site/docs/transport/ntcp.html:65 msgid "" "The data is then AES/256/CBC encrypted. The session key for the " "encryption\n" @@ -14013,7 +14014,7 @@ msgid "" "encrypted message." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:74 +#: i2p2www/pages/site/docs/transport/ntcp.html:73 msgid "" "0-15 bytes of padding are required to bring the total message length\n" "(including the six size and checksum bytes) to a multiple of 16.\n" @@ -14022,41 +14023,41 @@ msgid "" "The minimum data size is 1." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:82 +#: i2p2www/pages/site/docs/transport/ntcp.html:81 msgid "Time Sync Message Format" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:83 +#: i2p2www/pages/site/docs/transport/ntcp.html:82 msgid "" "One special case is a metadata message where the sizeof(data) is 0. In\n" "that case, the unencrypted message is encoded as:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:94 +#: i2p2www/pages/site/docs/transport/ntcp.html:93 msgid "" "Total length: 16 bytes. The time sync message is sent at approximately 15" " minute intervals.\n" "The message is encrypted just as standard messages are." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:100 +#: i2p2www/pages/site/docs/transport/ntcp.html:99 msgid "Checksums" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:101 +#: i2p2www/pages/site/docs/transport/ntcp.html:100 #, python-format msgid "" "The standard and time sync messages use the Adler-32 checksum\n" "as defined in the ZLIB Specification." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:107 -#: i2p2www/pages/site/docs/transport/ssu.html:188 +#: i2p2www/pages/site/docs/transport/ntcp.html:106 +#: i2p2www/pages/site/docs/transport/ssu.html:187 msgid "Idle Timeout" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:108 -#: i2p2www/pages/site/docs/transport/ssu.html:189 +#: i2p2www/pages/site/docs/transport/ntcp.html:107 +#: i2p2www/pages/site/docs/transport/ssu.html:188 msgid "" "Idle timeout and connection close is at the discretion of each endpoint " "and may vary.\n" @@ -14069,11 +14070,11 @@ msgid "" "maximum timeout is ten minutes or more." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:117 +#: i2p2www/pages/site/docs/transport/ntcp.html:116 msgid "RouterInfo Exchange" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:118 +#: i2p2www/pages/site/docs/transport/ntcp.html:117 msgid "" "After establishment, and every 30-60 minutes thereafter,\n" "the two routers should generally exchange RouterInfos using a " @@ -14084,11 +14085,11 @@ msgid "" "connecting to a floodfill router." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:126 +#: i2p2www/pages/site/docs/transport/ntcp.html:125 msgid "Establishment Sequence" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:127 +#: i2p2www/pages/site/docs/transport/ntcp.html:126 msgid "" "In the establish state, there is a 4-phase message sequence to exchange " "DH keys and signatures.\n" @@ -14097,31 +14098,31 @@ msgid "" "connection." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:143 +#: i2p2www/pages/site/docs/transport/ntcp.html:142 msgid "Legend:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:144 +#: i2p2www/pages/site/docs/transport/ntcp.html:143 msgid "256 byte DH public keys" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:148 +#: i2p2www/pages/site/docs/transport/ntcp.html:147 msgid "timestamps (4 bytes, seconds since epoch)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:149 +#: i2p2www/pages/site/docs/transport/ntcp.html:148 msgid "32 byte Session key" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:150 +#: i2p2www/pages/site/docs/transport/ntcp.html:149 msgid "2 byte size of Alice identity to follow" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:153 +#: i2p2www/pages/site/docs/transport/ntcp.html:152 msgid "DH Key Exchange" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:154 +#: i2p2www/pages/site/docs/transport/ntcp.html:153 #, python-format msgid "" "The initial 2048-bit DH key exchange\n" @@ -14129,7 +14130,7 @@ msgid "" "ElGamal encryption." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:160 +#: i2p2www/pages/site/docs/transport/ntcp.html:159 msgid "" "The DH key exchange consists of a number of steps, displayed below.\n" "The mapping between these steps and the messages sent between I2P " @@ -14137,41 +14138,41 @@ msgid "" "is marked in bold." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:166 +#: i2p2www/pages/site/docs/transport/ntcp.html:165 msgid "" "Alice generates a secret integer x. She then calculates X = g^x mod" " p." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:167 +#: i2p2www/pages/site/docs/transport/ntcp.html:166 msgid "Alice sends X to Bob (Message 1)." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:168 +#: i2p2www/pages/site/docs/transport/ntcp.html:167 msgid "" "Bob generates a secret integer y. He then calculates Y = g^y mod " "p." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:169 +#: i2p2www/pages/site/docs/transport/ntcp.html:168 msgid "Bob sends Y to Alice.(Message 2)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:170 +#: i2p2www/pages/site/docs/transport/ntcp.html:169 msgid "Alice can now compute sessionKey = Y^x mod p." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:171 +#: i2p2www/pages/site/docs/transport/ntcp.html:170 msgid "Bob can now compute sessionKey = X^y mod p." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:172 +#: i2p2www/pages/site/docs/transport/ntcp.html:171 msgid "" "Both Alice and Bob now have a shared key sessionKey = g^(x*y) mod " "p." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:174 +#: i2p2www/pages/site/docs/transport/ntcp.html:173 #, python-format msgid "" "The sessionKey is then used to exchange identities in Message 3 " @@ -14180,11 +14181,11 @@ msgid "" "cryptography page." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:194 +#: i2p2www/pages/site/docs/transport/ntcp.html:193 msgid "Message 1 (Session Request)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:195 +#: i2p2www/pages/site/docs/transport/ntcp.html:194 #, python-format msgid "" "This is the DH request. Alice already has Bob's\n" @@ -14197,76 +14198,76 @@ msgid "" "Alice sends Bob:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:208 -#: i2p2www/pages/site/docs/transport/ntcp.html:251 -#: i2p2www/pages/site/docs/transport/ntcp.html:333 -#: i2p2www/pages/site/docs/transport/ntcp.html:438 +#: i2p2www/pages/site/docs/transport/ntcp.html:207 +#: i2p2www/pages/site/docs/transport/ntcp.html:250 +#: i2p2www/pages/site/docs/transport/ntcp.html:332 +#: i2p2www/pages/site/docs/transport/ntcp.html:437 msgid "Size:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:210 +#: i2p2www/pages/site/docs/transport/ntcp.html:209 msgid "Contents:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:228 +#: i2p2www/pages/site/docs/transport/ntcp.html:227 msgid "256 byte X from Diffie Hellman" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:230 +#: i2p2www/pages/site/docs/transport/ntcp.html:229 msgid "SHA256 Hash(X) xored with SHA256 Hash(Bob's `RouterIdentity`)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:237 -#: i2p2www/pages/site/docs/transport/ntcp.html:320 -#: i2p2www/pages/site/docs/transport/ntcp.html:399 +#: i2p2www/pages/site/docs/transport/ntcp.html:236 +#: i2p2www/pages/site/docs/transport/ntcp.html:319 +#: i2p2www/pages/site/docs/transport/ntcp.html:398 msgid "Notes:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:238 +#: i2p2www/pages/site/docs/transport/ntcp.html:237 msgid "" "Bob verifies HXxorHI using his own router hash. If it does not verify,\n" "Alice has contacted the wrong router, and Bob drops the connection." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:244 +#: i2p2www/pages/site/docs/transport/ntcp.html:243 msgid "Message 2 (Session Created)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:245 +#: i2p2www/pages/site/docs/transport/ntcp.html:244 msgid "This is the DH reply. Bob sends Alice:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:253 -#: i2p2www/pages/site/docs/transport/ntcp.html:335 -#: i2p2www/pages/site/docs/transport/ntcp.html:440 +#: i2p2www/pages/site/docs/transport/ntcp.html:252 +#: i2p2www/pages/site/docs/transport/ntcp.html:334 +#: i2p2www/pages/site/docs/transport/ntcp.html:439 msgid "Unencrypted Contents:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:275 -#: i2p2www/pages/site/docs/transport/ntcp.html:311 +#: i2p2www/pages/site/docs/transport/ntcp.html:274 +#: i2p2www/pages/site/docs/transport/ntcp.html:310 msgid "256 byte Y from Diffie Hellman" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:277 +#: i2p2www/pages/site/docs/transport/ntcp.html:276 msgid "SHA256 Hash(X concatenated with Y)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:280 -#: i2p2www/pages/site/docs/transport/ntcp.html:365 +#: i2p2www/pages/site/docs/transport/ntcp.html:279 +#: i2p2www/pages/site/docs/transport/ntcp.html:364 msgid "4 byte timestamp (seconds since the epoch)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:282 +#: i2p2www/pages/site/docs/transport/ntcp.html:281 msgid "12 bytes random data" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:286 -#: i2p2www/pages/site/docs/transport/ntcp.html:377 -#: i2p2www/pages/site/docs/transport/ntcp.html:467 +#: i2p2www/pages/site/docs/transport/ntcp.html:285 +#: i2p2www/pages/site/docs/transport/ntcp.html:376 +#: i2p2www/pages/site/docs/transport/ntcp.html:466 msgid "Encrypted Contents:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:313 +#: i2p2www/pages/site/docs/transport/ntcp.html:312 #, python-format msgid "" "48 bytes AES encrypted using the DH " @@ -14274,36 +14275,36 @@ msgid "" " the last 16 bytes of Y as the IV" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:321 +#: i2p2www/pages/site/docs/transport/ntcp.html:320 msgid "" "Alice may drop the connection if the clock skew with Bob is too high as " "calculated using tsB." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:326 +#: i2p2www/pages/site/docs/transport/ntcp.html:325 msgid "Message 3 (Session Confirm A)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:327 +#: i2p2www/pages/site/docs/transport/ntcp.html:326 msgid "" "This contains Alice's router identity, and a signature of the critical " "data. Alice sends Bob:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:361 +#: i2p2www/pages/site/docs/transport/ntcp.html:360 msgid "2 byte size of Alice's router identity to follow (387+)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:363 +#: i2p2www/pages/site/docs/transport/ntcp.html:362 msgid "Alice's 387+ byte `RouterIdentity`" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:367 -#: i2p2www/pages/site/docs/transport/ntcp.html:462 +#: i2p2www/pages/site/docs/transport/ntcp.html:366 +#: i2p2www/pages/site/docs/transport/ntcp.html:461 msgid "0-15 bytes random data" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:369 +#: i2p2www/pages/site/docs/transport/ntcp.html:368 msgid "" "the `Signature` of the following concatenated data:\n" " X, Y, Bob's `RouterIdentity`, tsA, tsB.\n" @@ -14311,7 +14312,7 @@ msgid "" "the `SigningPublicKey` in her `RouterIdentity`" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:390 +#: i2p2www/pages/site/docs/transport/ntcp.html:389 #, python-format msgid "" "448 bytes AES encrypted using the DH" @@ -14320,31 +14321,31 @@ msgid "" "of message #1) as the IV" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:401 +#: i2p2www/pages/site/docs/transport/ntcp.html:400 msgid "Bob verifies the signature, and on failure, drops the connection." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:404 +#: i2p2www/pages/site/docs/transport/ntcp.html:403 msgid "" "Bob may drop the connection if the clock skew with Alice is too high as " "calculated using tsA." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:407 +#: i2p2www/pages/site/docs/transport/ntcp.html:406 msgid "" "Alice will use the last 16 bytes of the encrypted contents of this " "message as the IV for the next message." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:431 +#: i2p2www/pages/site/docs/transport/ntcp.html:430 msgid "Message 4 (Session Confirm B)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:432 +#: i2p2www/pages/site/docs/transport/ntcp.html:431 msgid "This is a signature of the critical data. Bob sends Alice:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:456 +#: i2p2www/pages/site/docs/transport/ntcp.html:455 msgid "" "the `Signature` of the following concatenated data:\n" " X, Y, Alice's `RouterIdentity`, tsA, tsB.\n" @@ -14352,7 +14353,7 @@ msgid "" "the `SigningPublicKey` in his `RouterIdentity`" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:480 +#: i2p2www/pages/site/docs/transport/ntcp.html:479 #, python-format msgid "" "Data AES encrypted using the DH " @@ -14363,21 +14364,21 @@ msgid "" "signature types" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:489 +#: i2p2www/pages/site/docs/transport/ntcp.html:488 msgid "Alice verifies the signature, and on failure, drops the connection." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:492 +#: i2p2www/pages/site/docs/transport/ntcp.html:491 msgid "" "Bob will use the last 16 bytes of the encrypted contents of this message " "as the IV for the next message." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:507 +#: i2p2www/pages/site/docs/transport/ntcp.html:506 msgid "After Establishment" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:508 +#: i2p2www/pages/site/docs/transport/ntcp.html:507 msgid "" "The connection is established, and standard or time sync messages may be " "exchanged.\n" @@ -14389,11 +14390,11 @@ msgid "" " the next IV." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:517 +#: i2p2www/pages/site/docs/transport/ntcp.html:516 msgid "Check Connection Message" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:518 +#: i2p2www/pages/site/docs/transport/ntcp.html:517 msgid "" "Alternately, when Bob receives a connection, it could be a\n" "check connection (perhaps prompted by Bob asking for someone\n" @@ -14403,58 +14404,58 @@ msgid "" "A check info connection will receive 256 bytes containing:" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:527 +#: i2p2www/pages/site/docs/transport/ntcp.html:526 msgid "32 bytes of uninterpreted, ignored data" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:528 +#: i2p2www/pages/site/docs/transport/ntcp.html:527 msgid "1 byte size" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:529 +#: i2p2www/pages/site/docs/transport/ntcp.html:528 msgid "" "that many bytes making up the local router's IP address (as reached by " "the remote side)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:530 +#: i2p2www/pages/site/docs/transport/ntcp.html:529 msgid "2 byte port number that the local router was reached on" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:531 +#: i2p2www/pages/site/docs/transport/ntcp.html:530 msgid "" "4 byte i2p network time as known by the remote side (seconds since the " "epoch)" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:532 +#: i2p2www/pages/site/docs/transport/ntcp.html:531 msgid "uninterpreted padding data, up to byte 223" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:533 +#: i2p2www/pages/site/docs/transport/ntcp.html:532 msgid "" "xor of the local router's identity hash and the SHA256 of bytes 32 " "through bytes 223" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:536 +#: i2p2www/pages/site/docs/transport/ntcp.html:535 msgid "Check connection is completely disabled as of release 0.9.12." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:540 +#: i2p2www/pages/site/docs/transport/ntcp.html:539 msgid "Discussion" msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:541 +#: i2p2www/pages/site/docs/transport/ntcp.html:540 #, python-format msgid "Now on the NTCP Discussion Page." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:547 +#: i2p2www/pages/site/docs/transport/ntcp.html:546 msgid "The maximum message size should be increased to approximately 32 KB." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:551 +#: i2p2www/pages/site/docs/transport/ntcp.html:550 msgid "" "A set of fixed packet sizes may be appropriate to further hide the data \n" "fragmentation to external adversaries, but the tunnel, garlic, and end to" @@ -14465,13 +14466,13 @@ msgid "" "to create a limited number of message sizes." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:559 +#: i2p2www/pages/site/docs/transport/ntcp.html:558 msgid "" "Memory utilization (including that of the kernel) for NTCP should be " "compared to that for SSU." msgstr "" -#: i2p2www/pages/site/docs/transport/ntcp.html:563 +#: i2p2www/pages/site/docs/transport/ntcp.html:562 msgid "" "Can the establishment messages be randomly padded somehow, to frustrate\n" "identification of I2P traffic based on initial packet sizes?" @@ -14486,21 +14487,21 @@ msgstr "" msgid "" "SSU (also called \"UDP\" in much of the I2P documentation and user " "interfaces)\n" -"is one of two transports currently " +"is one of three transports currently " "implemented in I2P.\n" -"The other is NTCP." +"The others are NTCP and NTCP2." msgstr "" #: i2p2www/pages/site/docs/transport/ssu.html:13 msgid "" -"SSU is the newer of the two transports,\n" -"introduced in I2P release 0.6.\n" +"SSU was introduced in I2P release 0.6.\n" "In a standard I2P installation, the router uses both NTCP and SSU for " "outbound connections.\n" "SSU-over-IPv6 is supported as of version 0.9.8." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:20 +#: i2p2www/pages/site/docs/transport/ssu.html:19 msgid "" "SSU is called \"semireliable\" because it will repeatedly retransmit " "unacknowledged messages,\n" @@ -14508,11 +14509,11 @@ msgid "" "dropped." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:25 +#: i2p2www/pages/site/docs/transport/ssu.html:24 msgid "SSU Services" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:27 +#: i2p2www/pages/site/docs/transport/ssu.html:26 msgid "" "Like the NTCP transport, SSU provides reliable, encrypted, connection-" "oriented, point-to-point data transport.\n" @@ -14520,44 +14521,44 @@ msgid "" "including:" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:33 +#: i2p2www/pages/site/docs/transport/ssu.html:32 msgid "" "Cooperative NAT/Firewall traversal using introducers" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:34 +#: i2p2www/pages/site/docs/transport/ssu.html:33 msgid "" "Local IP detection by inspection of incoming packets and peer testing" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:35 +#: i2p2www/pages/site/docs/transport/ssu.html:34 msgid "" "Communication of firewall status and local IP, and changes to either to " "NTCP" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:47 +#: i2p2www/pages/site/docs/transport/ssu.html:46 +#: i2p2www/pages/site/docs/transport/ssu.html:60 #: i2p2www/pages/site/docs/transport/ssu.html:61 -#: i2p2www/pages/site/docs/transport/ssu.html:62 -#: i2p2www/pages/site/docs/transport/ssu.html:64 -#: i2p2www/pages/site/docs/transport/ssu.html:67 +#: i2p2www/pages/site/docs/transport/ssu.html:63 +#: i2p2www/pages/site/docs/transport/ssu.html:66 +#: i2p2www/pages/site/docs/transport/ssu.html:70 #: i2p2www/pages/site/docs/transport/ssu.html:71 -#: i2p2www/pages/site/docs/transport/ssu.html:72 -#: i2p2www/pages/site/docs/transport/ssu.html:78 +#: i2p2www/pages/site/docs/transport/ssu.html:77 msgid "See below" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:85 +#: i2p2www/pages/site/docs/transport/ssu.html:84 msgid "Protocol Details" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:87 +#: i2p2www/pages/site/docs/transport/ssu.html:86 msgid "Congestion control" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:89 +#: i2p2www/pages/site/docs/transport/ssu.html:88 msgid "" "SSU's need for only semireliable delivery, TCP-friendly operation,\n" "and the capacity for high throughput allows a great deal of latitude in\n" @@ -14565,7 +14566,7 @@ msgid "" "meant to be both efficient in bandwidth as well as simple to implement." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:96 +#: i2p2www/pages/site/docs/transport/ssu.html:95 msgid "" "Packets are scheduled according to the router's policy, taking care\n" "not to exceed the router's outbound capacity or to exceed the measured \n" @@ -14580,7 +14581,7 @@ msgid "" "other messages." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:107 +#: i2p2www/pages/site/docs/transport/ssu.html:106 msgid "" "The congestion detection techniques vary from TCP as well, since each \n" "message has its own unique and nonsequential identifier, and each message" @@ -14596,7 +14597,7 @@ msgid "" "retransmitted with any new updates." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:119 +#: i2p2www/pages/site/docs/transport/ssu.html:118 msgid "" "The current implementation does not pad the packets to\n" "any particular size, but instead just places a single message fragment " @@ -14604,7 +14605,7 @@ msgid "" "a packet and sends it off (careful not to exceed the MTU)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:126 +#: i2p2www/pages/site/docs/transport/ssu.html:125 msgid "" "As of router version 0.8.12,\n" "two MTU values are used for IPv4: 620 and 1484.\n" @@ -14612,21 +14613,21 @@ msgid "" "retransmitted." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:132 +#: i2p2www/pages/site/docs/transport/ssu.html:131 msgid "" "For both MTU values, it is desirable that (MTU % 16) == 12, so that\n" "the payload portion after the 28-byte IP/UDP header is a multiple of\n" "16 bytes, for encryption purposes." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:138 +#: i2p2www/pages/site/docs/transport/ssu.html:137 msgid "" "For the small MTU value, it is desirable to pack a 2646-byte\n" "Variable Tunnel Build Message efficiently into multiple packets;\n" "with a 620-byte MTU, it fits into 5 packets with nicely." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:144 +#: i2p2www/pages/site/docs/transport/ssu.html:143 msgid "" "Based on measurements, 1492 fits nearly all reasonably small I2NP " "messages\n" @@ -14635,13 +14636,13 @@ msgid "" "into a live network MTU anyway)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:150 +#: i2p2www/pages/site/docs/transport/ssu.html:149 msgid "" "The MTU values were 608 and 1492 for releases 0.8.9 - 0.8.11.\n" "The large MTU was 1350 prior to release 0.8.9." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:155 +#: i2p2www/pages/site/docs/transport/ssu.html:154 msgid "" "The maximum receive packet size\n" "is 1571 bytes as of release 0.8.12.\n" @@ -14649,7 +14650,7 @@ msgid "" "Prior to release 0.8.9 it was 2048 bytes." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:162 +#: i2p2www/pages/site/docs/transport/ssu.html:161 msgid "" "As of release 0.9.2, if a router's network interface MTU is less than " "1484,\n" @@ -14657,7 +14658,7 @@ msgid "" "honor that when a connection is established." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:168 +#: i2p2www/pages/site/docs/transport/ssu.html:167 msgid "" "For IPv6, the minimum MTU is 1280. The IPv6 IP/UDP header is 48 bytes,\n" "so we use an MTU where (MTN % 16 == 0), which is true for 1280.\n" @@ -14665,11 +14666,11 @@ msgid "" " (max was 1472 prior to version 0.9.28)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:175 +#: i2p2www/pages/site/docs/transport/ssu.html:174 msgid "Message Size Limits" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:176 +#: i2p2www/pages/site/docs/transport/ssu.html:175 msgid "" "While the maximum message size is nominally 32KB, the practical\n" "limit differs. The protocol limits the number of fragments to 7 bits, or " @@ -14684,11 +14685,11 @@ msgid "" "For connections using the larger MTU, larger messages are possible." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:198 +#: i2p2www/pages/site/docs/transport/ssu.html:197 msgid "Keys" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:200 +#: i2p2www/pages/site/docs/transport/ssu.html:199 msgid "" "All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.\n" "When Alice originates a session with Bob,\n" @@ -14698,7 +14699,7 @@ msgid "" "Bob's publicly knowable introKey is used for the MAC and encryption." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:208 +#: i2p2www/pages/site/docs/transport/ssu.html:207 msgid "" "Both the initial message and the subsequent\n" "reply use the introKey of the responder (Bob) - the responder does \n" @@ -14708,7 +14709,7 @@ msgid "" "Bob." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:217 +#: i2p2www/pages/site/docs/transport/ssu.html:216 msgid "" "Upon receiving a message, the receiver checks the \"from\" IP address and" " port\n" @@ -14721,7 +14722,7 @@ msgid "" "it may be dropped anyway." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:228 +#: i2p2www/pages/site/docs/transport/ssu.html:227 msgid "" "If Alice and Bob have an established session, but Alice loses the \n" "keys for some reason and she wants to contact Bob, she may at any \n" @@ -14733,7 +14734,7 @@ msgid "" "new one." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:239 +#: i2p2www/pages/site/docs/transport/ssu.html:238 #, python-format msgid "" "For the DH key agreement,\n" @@ -14741,18 +14742,18 @@ msgid "" "MODP group (#14) is used:" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:249 +#: i2p2www/pages/site/docs/transport/ssu.html:248 #, python-format msgid "" "These are the same p and g used for I2P's\n" "ElGamal encryption." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:254 +#: i2p2www/pages/site/docs/transport/ssu.html:253 msgid "Replay prevention" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:256 +#: i2p2www/pages/site/docs/transport/ssu.html:255 msgid "" "Replay prevention at the SSU layer occurs by rejecting packets \n" "with exceedingly old timestamps or those which reuse an IV. To\n" @@ -14760,7 +14761,7 @@ msgid "" "\"decay\" periodically so that only recently added IVs are detected." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:263 +#: i2p2www/pages/site/docs/transport/ssu.html:262 msgid "" "The messageIds used in DataMessages are defined at layers above\n" "the SSU transport and are passed through transparently. These IDs\n" @@ -14769,11 +14770,11 @@ msgid "" "replay prevention - higher layers should take that into account." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:271 +#: i2p2www/pages/site/docs/transport/ssu.html:270 msgid "Addressing" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:273 +#: i2p2www/pages/site/docs/transport/ssu.html:272 msgid "" "To contact an SSU peer, one of two sets of information is necessary:\n" "a direct address, for when the peer is publicly reachable, or an\n" @@ -14781,42 +14782,42 @@ msgid "" "There is no restriction on the number of addresses a peer may have." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:285 +#: i2p2www/pages/site/docs/transport/ssu.html:284 msgid "" "Each of the addresses may also expose a series of options - special\n" "capabilities of that particular peer. For a list of available\n" "capabilities, see below." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:291 +#: i2p2www/pages/site/docs/transport/ssu.html:290 #, python-format msgid "" "The addresses, options, and capabilities are published in the network database." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:296 +#: i2p2www/pages/site/docs/transport/ssu.html:295 msgid "Direct Session Establishment" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:297 +#: i2p2www/pages/site/docs/transport/ssu.html:296 msgid "" "Direct session establishment is used when no third party is required for " "NAT traversal.\n" "The message sequence is as follows:" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:302 +#: i2p2www/pages/site/docs/transport/ssu.html:301 msgid "Connection establishment (direct)" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:303 +#: i2p2www/pages/site/docs/transport/ssu.html:302 msgid "" "Alice connects directly to Bob.\n" "IPv6 is supported as of version 0.9.8." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:318 +#: i2p2www/pages/site/docs/transport/ssu.html:317 #, python-format msgid "" "After the SessionConfirmed message is received, Bob sends a small\n" @@ -14829,7 +14830,7 @@ msgid "" "(i.e. 0x0000000000000002)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:327 +#: i2p2www/pages/site/docs/transport/ssu.html:326 #, python-format msgid "" "After the status message is sent, the peers usually exchange\n" @@ -14839,7 +14840,7 @@ msgid "" "however, this is not required." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:336 +#: i2p2www/pages/site/docs/transport/ssu.html:335 msgid "" "It does not appear that the type of the status message or its contents " "matters.\n" @@ -14848,7 +14849,7 @@ msgid "" "the status message can be eliminated." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:345 +#: i2p2www/pages/site/docs/transport/ssu.html:344 msgid "" "Introduction keys are delivered through an external channel \n" "(the network database, where they are identical to the router Hash for " @@ -14864,7 +14865,7 @@ msgid "" "not necessary to any intermediary relay peer)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:359 +#: i2p2www/pages/site/docs/transport/ssu.html:358 msgid "" "Indirect session establishment by means of a third party introduction\n" "is necessary for efficient NAT traversal. Charlie, a router behind a\n" @@ -14892,25 +14893,25 @@ msgid "" "full direction session establishment with the specified IP and port." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:386 +#: i2p2www/pages/site/docs/transport/ssu.html:385 msgid "Connection establishment (indirect using an introducer)" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:388 +#: i2p2www/pages/site/docs/transport/ssu.html:387 msgid "Alice first connects to introducer Bob, who relays the request to Charlie." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:406 +#: i2p2www/pages/site/docs/transport/ssu.html:405 msgid "" "After the hole punch, the session is established between Alice and " "Charlie as in a direct establishment." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:420 +#: i2p2www/pages/site/docs/transport/ssu.html:419 msgid "Peer testing" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:422 +#: i2p2www/pages/site/docs/transport/ssu.html:421 msgid "" "The automation of collaborative reachability testing for peers is\n" "enabled by a sequence of PeerTest messages. With its proper \n" @@ -14919,7 +14920,7 @@ msgid "" "quite simple:" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:441 +#: i2p2www/pages/site/docs/transport/ssu.html:440 msgid "" "Each of the PeerTest messages carry a nonce identifying the\n" "test series itself, as initialized by Alice. If Alice doesn't \n" @@ -14929,7 +14930,7 @@ msgid "" "that may be reached are as follows:" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:451 +#: i2p2www/pages/site/docs/transport/ssu.html:450 msgid "" "If she doesn't receive a response from Bob, she will retransmit\n" "up to a certain number of times, but if no response ever arrives,\n" @@ -14939,7 +14940,7 @@ msgid "" "Charlie to reply." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:460 +#: i2p2www/pages/site/docs/transport/ssu.html:459 msgid "" "If Alice doesn't receive a PeerTest message with the \n" "expected nonce from a third party (Charlie), she will retransmit\n" @@ -14951,7 +14952,7 @@ msgid "" "IP and port that Bob offered up should be forwarded)." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:471 +#: i2p2www/pages/site/docs/transport/ssu.html:470 msgid "" "If Alice receives Bob's PeerTest message and both of Charlie's\n" "PeerTest messages but the enclosed IP and port numbers in Bob's \n" @@ -14962,7 +14963,7 @@ msgid "" "remote connectivity, ignoring further port discovery." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:481 +#: i2p2www/pages/site/docs/transport/ssu.html:480 msgid "" "If Alice receives Charlie's first message but not his second,\n" "she will retransmit her PeerTest message to Charlie up to a \n" @@ -14970,7 +14971,7 @@ msgid "" "that Charlie is either confused or no longer online." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:489 +#: i2p2www/pages/site/docs/transport/ssu.html:488 msgid "" "Alice should choose Bob arbitrarily from known peers who seem\n" "to be capable of participating in peer tests. Bob in turn should\n" @@ -14981,7 +14982,7 @@ msgid "" "to designate a new peer as Bob and try again with a different nonce." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:499 +#: i2p2www/pages/site/docs/transport/ssu.html:498 msgid "" "Alice's introduction key is included in all of the PeerTest \n" "messages so that she doesn't need to already have an established\n" @@ -14990,11 +14991,11 @@ msgid "" "with either Bob or Charlie, but it is not required." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:527 +#: i2p2www/pages/site/docs/transport/ssu.html:526 msgid "Transmission window, ACKs and Retransmissions" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:528 +#: i2p2www/pages/site/docs/transport/ssu.html:527 #, python-format msgid "" "The DATA message may contain ACKs of full messages and\n" @@ -15004,7 +15005,7 @@ msgid "" "for details." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:536 +#: i2p2www/pages/site/docs/transport/ssu.html:535 #, python-format msgid "" "The details of windowing, ACK, and retransmission strategies are not " @@ -15019,11 +15020,11 @@ msgid "" "See the code for initial, min and max parameters." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:548 +#: i2p2www/pages/site/docs/transport/ssu.html:547 msgid "Security" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:549 +#: i2p2www/pages/site/docs/transport/ssu.html:548 msgid "" "UDP source addresses may, of course, be spoofed.\n" "Additionally, the IPs and ports contained inside specific\n" @@ -15032,31 +15033,31 @@ msgid "" "Also, certain actions and responses may need to be rate-limited." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:557 +#: i2p2www/pages/site/docs/transport/ssu.html:556 msgid "" "The details of validation are not specified\n" "here. Implementers should add defenses where appropriate." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:563 +#: i2p2www/pages/site/docs/transport/ssu.html:562 msgid "Peer capabilities" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:567 +#: i2p2www/pages/site/docs/transport/ssu.html:566 msgid "" "If the peer address contains the 'B' capability, that means \n" "they are willing and able to participate in peer tests as\n" "a 'Bob' or 'Charlie'." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:579 +#: i2p2www/pages/site/docs/transport/ssu.html:578 msgid "" "If the peer address contains the 'C' capability, that means\n" "they are willing and able to serve as an introducer - serving\n" "as a Bob for an otherwise unreachable Alice." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:588 +#: i2p2www/pages/site/docs/transport/ssu.html:587 msgid "" "Analysis of current SSU performance, including assessment of window size " "adjustment\n" @@ -15065,14 +15066,14 @@ msgid "" "performance, is a topic for future work." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:594 +#: i2p2www/pages/site/docs/transport/ssu.html:593 msgid "" "The current implementation repeatedly sends acknowledgments for the same " "packets,\n" "which unnecessarily increases overhead." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:599 +#: i2p2www/pages/site/docs/transport/ssu.html:598 msgid "" "The default small MTU value of 620 should be analyzed and possibly " "increased.\n" @@ -15081,15 +15082,15 @@ msgid "" "Probably not." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:605 +#: i2p2www/pages/site/docs/transport/ssu.html:604 msgid "The protocol should be extended to exchange MTUs during the setup." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:609 +#: i2p2www/pages/site/docs/transport/ssu.html:608 msgid "Rekeying is currently unimplemented and may never be." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:613 +#: i2p2www/pages/site/docs/transport/ssu.html:612 msgid "" "The potential use of the 'challenge' fields in RelayIntro and " "RelayResponse,\n" @@ -15097,7 +15098,7 @@ msgid "" "undocumented." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:618 +#: i2p2www/pages/site/docs/transport/ssu.html:617 msgid "" "Instead of a single fragment per packet, a more efficient\n" "strategy may be to bundle multiple message fragments into the same " @@ -15105,7 +15106,7 @@ msgid "" "so long as it doesn't exceed the MTU." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:624 +#: i2p2www/pages/site/docs/transport/ssu.html:623 msgid "" "A set of fixed packet sizes may be appropriate to further hide the data \n" "fragmentation to external adversaries, but the tunnel, garlic, and end to" @@ -15113,34 +15114,34 @@ msgid "" "end padding should be sufficient for most needs until then." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:630 +#: i2p2www/pages/site/docs/transport/ssu.html:629 msgid "" "Why are introduction keys the same as the router hash, should it be " "changed, would there be any benefit?" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:634 +#: i2p2www/pages/site/docs/transport/ssu.html:633 msgid "Capacities appear to be unused." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:638 +#: i2p2www/pages/site/docs/transport/ssu.html:637 msgid "" "Signed-on times in SessionCreated and SessionConfirmed appear to be " "unused or unverified." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:643 +#: i2p2www/pages/site/docs/transport/ssu.html:642 msgid "Implementation Diagram" msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:644 +#: i2p2www/pages/site/docs/transport/ssu.html:643 msgid "" "This diagram\n" "should accurately reflect the current implementation, however there may " "be small differences." msgstr "" -#: i2p2www/pages/site/docs/transport/ssu.html:652 +#: i2p2www/pages/site/docs/transport/ssu.html:651 msgid "Now on the SSU specification page" msgstr "" diff --git a/pots/get-involved.pot b/pots/get-involved.pot index 9996bbb4..9e35248b 100644 --- a/pots/get-involved.pot +++ b/pots/get-involved.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P website\n" "Report-Msgid-Bugs-To: http://trac.i2p2.de\n" -"POT-Creation-Date: 2018-06-24 13:48+0000\n" +"POT-Creation-Date: 2018-08-24 11:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -321,40 +321,65 @@ msgid "" "page." msgstr "" +#: i2p2www/pages/site/get-involved/roadmap-2016.html:2 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:2 #: i2p2www/pages/site/get-involved/roadmap.html:2 msgid "Roadmap" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:3 -msgid "March 2018" +#: i2p2www/pages/site/get-involved/roadmap-2016.html:3 +msgid "January 2016" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:405 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:169 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:182 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:295 +#: i2p2www/pages/site/get-involved/roadmap.html:422 #, python-format msgid "" "Reachability Mapping / handle peers partially reachable / enhanced restricted routes" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:408 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:172 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:185 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:298 +#: i2p2www/pages/site/get-involved/roadmap.html:425 msgid "Full restricted routes" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:409 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:173 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:186 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:299 +#: i2p2www/pages/site/get-involved/roadmap.html:426 msgid "Tunnel mixing and padding" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:410 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:174 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:187 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:300 +#: i2p2www/pages/site/get-involved/roadmap.html:427 msgid "User defined message delays" msgstr "" -#: i2p2www/pages/site/get-involved/roadmap.html:413 +#: i2p2www/pages/site/get-involved/roadmap-2016.html:190 +#: i2p2www/pages/site/get-involved/roadmap-2017.html:303 +#: i2p2www/pages/site/get-involved/roadmap.html:430 #, python-format msgid "" "Please see the TODO list for more detailed info " "about some of these tasks." msgstr "" +#: i2p2www/pages/site/get-involved/roadmap-2017.html:3 +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:3 +msgid "January 2017" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:3 +msgid "August 2018" +msgstr "" + #: i2p2www/pages/site/get-involved/todo.html:2 msgid "I2P Project Targets" msgstr "" @@ -2190,6 +2215,14 @@ msgid "" "See developers' license agreements." msgstr "" +#: i2p2www/pages/site/get-involved/develop/press-key.html:2 +msgid "Press GPG Key" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/press-key.html:4 +msgid "Following is the GPG key for the press _at_ geti2p.net email address:" +msgstr "" + #: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2 msgid "Release Signing Key" msgstr "" @@ -2337,10 +2370,6 @@ msgstr "" msgid "Developer Guidelines and Coding Style" msgstr "" -#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:3 -msgid "January 2017" -msgstr "" - #: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:5 #, python-format msgid "Read the new developers guide first." @@ -3306,57 +3335,61 @@ msgstr "" msgid "New Developer's Guide" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:5 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:31 -msgid "Basic study" +#: i2p2www/pages/site/get-involved/guides/new-developers.html:3 +msgid "July 2018" msgstr "" #: i2p2www/pages/site/get-involved/guides/new-developers.html:6 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:45 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:32 +msgid "Basic study" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:7 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:46 msgid "Getting the I2P code" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:8 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:52 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:9 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:53 msgid "The easy way: Git" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:9 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:72 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:10 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:73 msgid "The proper way: Monotone" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:11 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:135 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:12 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:136 msgid "Building I2P" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:12 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:156 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:13 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:157 msgid "Development ideas" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:13 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:164 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:14 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:165 msgid "Making the results available" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:14 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:185 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:15 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:186 msgid "Get to know us!" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:15 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:191 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:16 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:192 msgid "Translations" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:16 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:197 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:17 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:198 msgid "Tools" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:21 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:22 msgid "" "\n" "So you want to start work on I2P? Great!\n" @@ -3365,7 +3398,7 @@ msgid "" "creating translations." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:26 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:27 #, python-format msgid "" "\n" @@ -3373,7 +3406,7 @@ msgid "" "Try getting involved first." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:33 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:34 msgid "" "Basic development on the I2P router or the embedded applications uses " "Java as the main development language.\n" @@ -3381,7 +3414,7 @@ msgid "" "href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:37 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:38 #, python-format msgid "" "Study the how intro,\n" @@ -3392,28 +3425,28 @@ msgid "" "different things it does." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:47 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:48 msgid "" "For development on the I2P router or the embedded applications,\n" "there are two ways to get the source code:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:54 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:55 #, python-format msgid "Install Git." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:57 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:58 #, python-format msgid "Get the code from the GitHub mirror:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:64 -#: i2p2www/pages/site/get-involved/guides/new-developers.html:119 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:65 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:120 msgid "Remarks" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:65 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:66 #, python-format msgid "" "The Git repository is currently a read-only mirror. If you wish to use it" @@ -3425,7 +3458,7 @@ msgid "" "manually by turning them into patches anyway." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:74 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:75 msgid "" "Install monotone.\n" "Monotone is a version control system.\n" @@ -3434,40 +3467,40 @@ msgid "" "of changes' is the basic idea)." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:79 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:80 msgid "" "Skim over the monotone tutorial," " to make sure you understand the concepts." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:83 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:84 msgid "" "If you want to remain anonymous, you need to do an additional step, to " "set up a connection to a monotone server over I2P:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:86 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:87 #, python-format msgid "" "Enable the i2ptunnel client tunnel on port " "8998 pointing to mtn.i2p-projekt.i2p." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:90 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:91 msgid "" "Pick a directory where you want to put all your I2P files, and create a " "monotone database:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:93 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:94 msgid "" "Define the trust list by creating ~/.monotone/monotonerc (or" " _MTN/monotonerc in the i2p.i2p workspace) with the " "following contents:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:98 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:99 #, python-format msgid "" "Copy and paste the developer's commit keys " @@ -3476,40 +3509,40 @@ msgid "" "with
      mtn -d i2p.mtn read < keys.txt
" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:102 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:103 msgid "" "Pull the I2P sources to your machine. This may take a long time, " "especially if you are doing this over I2P!" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:104 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:105 msgid "Anonymously:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:107 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:108 msgid "Non-anonymously:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:113 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:114 msgid "" "All the sources are now present on your machine, in the database file. To" " make them available in a directory, you need to check them out:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:115 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:116 msgid "" "The above command creates a directory i2p.i2p, which contains all of the " "I2P sources." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:120 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:121 msgid "" "\n" "To download the website files instead of the I2P source files, use " "'i2p.www' instead of 'i2p.i2p'." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:123 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:124 msgid "" "The initial pull may take several hours using the tunnel.\n" "If it fails after a partial pull, simply rerun it, it will start where it" @@ -3517,21 +3550,21 @@ msgid "" "If you are in a hurry, use the non-anonymous access." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:128 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:129 #, python-format msgid "" "A full list of branches, including i2p.i2p and i2p.www can be found on viewmtn." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:131 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:132 #, python-format msgid "" "A long explanation about using monotone is available on the monotone page." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:137 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:138 #, python-format msgid "" "To compile the code, you need the Sun Java Development Kit 6 or higher, " @@ -3543,21 +3576,21 @@ msgid "" "directory and run 'ant' to see the build options." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:145 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:146 msgid "" "To build or work on console translations, you need\n" "the xgettext, msgfmt, and msgmerge tools from the\n" "GNU gettext package." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:151 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:152 #, python-format msgid "" "For development on new applications,\n" "see the application development guide." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:157 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:158 #, python-format msgid "" "See zzz's TODO lists,\n" @@ -3566,7 +3599,7 @@ msgid "" "for ideas." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:166 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:167 #, python-format msgid "" "See the bottom of the licenses page " @@ -3575,46 +3608,46 @@ msgid "" "(not required for the website!)." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:171 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:172 msgid "Short version of how to generate and use keys if you plan to commit:" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:173 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:174 msgid "use an empty passphrase" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:174 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:175 msgid "enter a passphrase" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:175 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:176 #, python-format msgid "" "send this to a mtn repo operator to get " "push privileges" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:176 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:177 #, python-format msgid "" "send this to a release manager to get " "commit privileges - not required for website" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:177 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:178 msgid "check in with this key" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:178 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:179 msgid "push with this key" msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:180 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:181 #, python-format msgid "Long version: see the monotone page." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:186 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:187 #, python-format msgid "" "The developers hang around on IRC. They can be reached on the Freenode " @@ -3624,7 +3657,7 @@ msgid "" " developers." msgstr "" -#: i2p2www/pages/site/get-involved/guides/new-developers.html:192 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:193 #, python-format msgid "" "Website and router console translators: See the \n" "Language-Team: LANGUAGE \n" @@ -65,29 +65,28 @@ msgid "" "I2P is available in the official repositories for Ubuntu Bionic 18.04 and" " Debian Sid.\n" "Install the \"i2p\" package using your package manager, as you would any " -"other package.\n" -"The instructions below are not required." +"other package. The instructions below are not required." msgstr "" -#: i2p2www/pages/downloads/debian.html:13 +#: i2p2www/pages/downloads/debian.html:12 msgid "Debian Stretch and older, Ubuntu Artful 17.10 and older" msgstr "" -#: i2p2www/pages/downloads/debian.html:14 +#: i2p2www/pages/downloads/debian.html:13 msgid "" "The Debian packages\n" "have been tested and should work on x86/x86_64 platforms running:" msgstr "" -#: i2p2www/pages/downloads/debian.html:19 +#: i2p2www/pages/downloads/debian.html:18 msgid "Ubuntu (Precise 12.04 and newer)" msgstr "" -#: i2p2www/pages/downloads/debian.html:21 +#: i2p2www/pages/downloads/debian.html:20 msgid "Debian Linux (Wheezy and newer)" msgstr "" -#: i2p2www/pages/downloads/debian.html:25 +#: i2p2www/pages/downloads/debian.html:24 #, python-format msgid "" "The I2P packages may work on systems not listed above. Please " @@ -96,67 +95,67 @@ msgid "" "https://trac.i2p2.de." msgstr "" -#: i2p2www/pages/downloads/debian.html:31 +#: i2p2www/pages/downloads/debian.html:30 msgid "" "Option 1: Recent versions of Ubuntu and its " "derivatives (Try this if you're not using Debian)" msgstr "" -#: i2p2www/pages/downloads/debian.html:32 +#: i2p2www/pages/downloads/debian.html:31 msgid "Option 2: Debian (including Debian-derivatives)" msgstr "" -#: i2p2www/pages/downloads/debian.html:35 +#: i2p2www/pages/downloads/debian.html:34 msgid "Instructions for Ubuntu and derivatives like Linux Mint & Trisquel" msgstr "" -#: i2p2www/pages/downloads/debian.html:36 +#: i2p2www/pages/downloads/debian.html:35 msgid "Adding the PPA via the command line and installing I2P" msgstr "" -#: i2p2www/pages/downloads/debian.html:39 +#: i2p2www/pages/downloads/debian.html:38 msgid "Open a terminal and enter:" msgstr "" -#: i2p2www/pages/downloads/debian.html:41 +#: i2p2www/pages/downloads/debian.html:40 msgid "" "This command will add the PPA to /etc/apt/sources.list.d and fetch the\n" "gpg key that the repository has been signed with. The GPG key ensures\n" "that the packages have not been tampered with since being built." msgstr "" -#: i2p2www/pages/downloads/debian.html:48 +#: i2p2www/pages/downloads/debian.html:47 msgid "Notify your package manager of the new PPA by entering:" msgstr "" -#: i2p2www/pages/downloads/debian.html:50 +#: i2p2www/pages/downloads/debian.html:49 msgid "" "This command will retrieve the latest list of software from each\n" "repository that is enabled on your system, including the I2P PPA that\n" "was added with the earlier command." msgstr "" -#: i2p2www/pages/downloads/debian.html:56 +#: i2p2www/pages/downloads/debian.html:55 msgid "You are now ready to install I2P!" msgstr "" -#: i2p2www/pages/downloads/debian.html:60 +#: i2p2www/pages/downloads/debian.html:59 msgid "Adding the PPA Using Synaptic" msgstr "" -#: i2p2www/pages/downloads/debian.html:63 +#: i2p2www/pages/downloads/debian.html:62 msgid "" "Open Synaptic (System -> Administration -> Synaptic Package " "Manager)." msgstr "" -#: i2p2www/pages/downloads/debian.html:68 +#: i2p2www/pages/downloads/debian.html:67 msgid "" "Once Synaptic opens, select Repositories from the " "Settings menu." msgstr "" -#: i2p2www/pages/downloads/debian.html:73 +#: i2p2www/pages/downloads/debian.html:72 msgid "" "Click the Other Sources tab and click Add. Paste " "ppa:i2p-maintainers/i2p into the APT-line field and click " @@ -164,7 +163,7 @@ msgid "" "Reload." msgstr "" -#: i2p2www/pages/downloads/debian.html:78 +#: i2p2www/pages/downloads/debian.html:77 msgid "" "In the Quick Filter box, type in i2p and press enter. When " "i2p is returned in the results list, right click " @@ -173,41 +172,72 @@ msgid "" " click Mark then Apply." msgstr "" -#: i2p2www/pages/downloads/debian.html:84 +#: i2p2www/pages/downloads/debian.html:83 msgid "" "After the installation process completes you can move on to the next\n" "part of starting I2P and configuring " "it for your system." msgstr "" -#: i2p2www/pages/downloads/debian.html:89 +#: i2p2www/pages/downloads/debian.html:88 msgid "Instructions for Debian" msgstr "" -#: i2p2www/pages/downloads/debian.html:93 +#: i2p2www/pages/downloads/debian.html:90 +msgid "" +"Currently supported architectures include amd64, i386, armel, armhf (for " +"Raspbian)." +msgstr "" + +#: i2p2www/pages/downloads/debian.html:92 msgid "" "Note: The steps below should be performed with root access (i.e., " "switching\n" -"user to root with \"su\" or by prefixing each command with \"sudo\")." +"user to root with su or by prefixing each command with " +"sudo)." msgstr "" -#: i2p2www/pages/downloads/debian.html:98 -#, python-format -msgid "Add lines like the following to %(file)s." +#: i2p2www/pages/downloads/debian.html:97 +msgid "" +"Ensure that apt-transport-https and curl are " +"installed." msgstr "" -#: i2p2www/pages/downloads/debian.html:122 +#: i2p2www/pages/downloads/debian.html:104 #, python-format msgid "" -"Download the key used to sign the repository" -" and add it to apt:" +"\n" +" Check which version of Debian you are using on this page at the Debian wiki" +" \n" +" and verify with %(file2)s on your system.\n" +" Then, add lines like the following to %(file)s." msgstr "" -#: i2p2www/pages/downloads/debian.html:129 +#: i2p2www/pages/downloads/debian.html:130 +msgid "" +"Note: If you are running Debian Sid (testing), then you can install I2P " +"directly from Debian's main repository" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:137 +#, python-format +msgid "Download the key used to sign the repository:" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:148 +msgid "Check the fingerprint and owner of the key without importing anything" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:156 +msgid "Add the key to APT's keyring" +msgstr "" + +#: i2p2www/pages/downloads/debian.html:164 msgid "Notify your package manager of the new repository by entering" msgstr "" -#: i2p2www/pages/downloads/debian.html:131 +#: i2p2www/pages/downloads/debian.html:169 msgid "" "This command will retrieve the latest list of software from every\n" "repository enabled on your system, including the I2P repository added in " @@ -215,40 +245,32 @@ msgid "" "1." msgstr "" -#: i2p2www/pages/downloads/debian.html:137 +#: i2p2www/pages/downloads/debian.html:175 msgid "" "You are now ready to install I2P! Installing the i2p-keyring" "\n" "package will ensure that you receive updates to the repository's GPG key." msgstr "" -#: i2p2www/pages/downloads/debian.html:145 +#: i2p2www/pages/downloads/debian.html:185 msgid "" "After the installation process completes you can move on to the next part" " of starting I2P and configuring it " "for your system." msgstr "" -#: i2p2www/pages/downloads/debian.html:151 -msgid "Note: If the https address does not work, either:" -msgstr "" - -#: i2p2www/pages/downloads/debian.html:156 -msgid "Change the repository address to http://deb.i2p2.no/" -msgstr "" - -#: i2p2www/pages/downloads/debian.html:162 +#: i2p2www/pages/downloads/debian.html:190 #: i2p2www/pages/downloads/post-install.html:1 msgid "Post-install work" msgstr "" -#: i2p2www/pages/downloads/debian.html:164 +#: i2p2www/pages/downloads/debian.html:192 msgid "" "Using these I2P packages the I2P router can be started in the following\n" "three ways:" msgstr "" -#: i2p2www/pages/downloads/debian.html:170 +#: i2p2www/pages/downloads/debian.html:198 msgid "" ""on demand" using the i2prouter script. Simply run " ""i2prouter\n" @@ -257,7 +279,7 @@ msgid "" "sudo or run it as root!)" msgstr "" -#: i2p2www/pages/downloads/debian.html:177 +#: i2p2www/pages/downloads/debian.html:205 msgid "" ""on demand" without the java service wrapper\n" @@ -267,7 +289,7 @@ msgid "" "use sudo or run it as root!)" msgstr "" -#: i2p2www/pages/downloads/debian.html:185 +#: i2p2www/pages/downloads/debian.html:213 msgid "" "as a service that automatically runs when your system boots, even\n" "before logging in. The service can be enabled with \"dpkg-" @@ -276,7 +298,7 @@ msgid "" "operation." msgstr "" -#: i2p2www/pages/downloads/debian.html:193 +#: i2p2www/pages/downloads/debian.html:221 msgid "" "When installing for the first time, please remember to adjust your " "NAT/firewall\n" @@ -288,7 +310,7 @@ msgid "" " helpful." msgstr "" -#: i2p2www/pages/downloads/debian.html:200 +#: i2p2www/pages/downloads/debian.html:228 msgid "" "Please review and adjust the bandwidth settings on the\n" "configuration page,\n" @@ -296,7 +318,7 @@ msgid "" "conservative." msgstr "" -#: i2p2www/pages/downloads/debian.html:206 +#: i2p2www/pages/downloads/debian.html:234 #: i2p2www/pages/downloads/post-install.html:34 #, python-format msgid ""