diff --git a/.tx/config b/.tx/config
index 241b8345..869c4ca9 100644
--- a/.tx/config
+++ b/.tx/config
@@ -14,7 +14,7 @@ file_filter = i2p2www/translations/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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/ar/LC_MESSAGES/get-involved.po b/i2p2www/translations/ar/LC_MESSAGES/get-involved.po
index 83131035..6617cc6d 100644
--- a/i2p2www/translations/ar/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/ar/LC_MESSAGES/get-involved.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Arabic (http://www.transifex.com/otf/I2P/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -309,40 +309,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1971,6 +1996,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 ""
@@ -2107,10 +2140,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."
@@ -2977,57 +3006,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"
@@ -3035,7 +3068,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3043,13 +3076,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3059,28 +3092,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3089,106 +3122,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3198,21 +3231,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3221,67 +3254,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3290,7 +3323,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
@@ -3541,7 +3574,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
msgid "More Information"
-msgstr ""
+msgstr "معلومات أكثر"
#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
#, python-format
diff --git a/i2p2www/translations/ar/LC_MESSAGES/priority.po b/i2p2www/translations/ar/LC_MESSAGES/priority.po
index 5565cccf..4d2ae1eb 100644
--- a/i2p2www/translations/ar/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/ar/LC_MESSAGES/priority.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: ducki2p mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then 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 "
@@ -170,85 +169,105 @@ msgid ""
" 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 step\n"
"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"
"start
" from a command prompt. (Note: Do not use\n"
"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"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -256,14 +275,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -271,14 +290,14 @@ msgid ""
"you may find portforward.com to be 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/ca/LC_MESSAGES/docs.po b/i2p2www/translations/ca/LC_MESSAGES/docs.po
index e4b0b531..a7612156 100644
--- a/i2p2www/translations/ca/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/ca/LC_MESSAGES/docs.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Catalan (http://www.transifex.com/otf/I2P/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -22,9 +22,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 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -144,7 +146,7 @@ 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:197
msgid "Configuration File Format"
msgstr ""
@@ -288,7 +290,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"
@@ -1105,7 +1107,7 @@ msgstr ""
#: i2p2www/pages/site/docs/plugins.html:2
msgid "Plugins"
-msgstr ""
+msgstr "Plugins"
#: i2p2www/pages/site/docs/plugins.html:3
msgid "June 2012"
@@ -1342,7 +1344,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 ""
@@ -1876,7 +1877,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 ""
@@ -1889,7 +1890,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 ""
@@ -1906,7 +1907,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 ""
@@ -2790,7 +2791,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
@@ -2949,18 +2950,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 ""
@@ -3044,95 +3045,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3140,43 +3141,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3184,11 +3185,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3198,7 +3199,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3209,7 +3210,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3217,7 +3218,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 clove in a\n"
@@ -3227,11 +3228,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3245,11 +3246,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 simple choke/unchoke indication.\n"
@@ -3260,7 +3261,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3270,7 +3271,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3281,29 +3282,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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 "Tanca"
-#: 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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3312,37 +3313,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3358,21 +3359,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3386,7 +3387,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3394,24 +3395,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 the\n"
@@ -3419,7 +3420,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3431,39 +3432,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6311,6 +6312,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"
@@ -7911,7 +7916,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 ""
@@ -11680,10 +11685,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 ""
@@ -11700,7 +11701,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
@@ -11713,21 +11714,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"
@@ -11735,11 +11741,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 RouterInfo).\n"
@@ -11747,126 +11753,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11880,85 +11886,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11966,7 +11972,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11974,7 +11980,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 Obfuscation\n"
@@ -11985,21 +11991,16 @@ 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"
@@ -12008,38 +12009,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12048,7 +12049,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12057,40 +12058,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12099,11 +12100,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 DatabaseStoreMessage.\n"
@@ -12111,42 +12112,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12154,48 +12155,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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 "Seguretat"
-#: 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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/cs/LC_MESSAGES/docs.po b/i2p2www/translations/cs/LC_MESSAGES/docs.po
index a2bc8f33..ec6d38d3 100644
--- a/i2p2www/translations/cs/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/cs/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,11 @@ msgstr ""
msgid "Index to Technical Documentation"
msgstr "Obsah technické dokumentace"
-#: 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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -145,7 +147,7 @@ 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: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 ""
@@ -391,160 +393,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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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 "Zavřít"
-#: 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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 ""
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 "Velikost:"
-#: 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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 "Zabezpečení"
-#: 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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/cs/LC_MESSAGES/get-involved.po b/i2p2www/translations/cs/LC_MESSAGES/get-involved.po
index 4b541150..332c87b4 100644
--- a/i2p2www/translations/cs/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/cs/LC_MESSAGES/get-involved.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/da/LC_MESSAGES/docs.po b/i2p2www/translations/da/LC_MESSAGES/docs.po
index 48239bbf..f20c3e57 100644
--- a/i2p2www/translations/da/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/da/LC_MESSAGES/docs.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Danish (http://www.transifex.com/otf/I2P/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -22,9 +22,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 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -144,7 +146,7 @@ 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:197
msgid "Configuration File Format"
msgstr ""
@@ -288,7 +290,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 "Bug tracker"
-#: 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"
@@ -1342,7 +1344,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 ""
@@ -1876,7 +1877,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 ""
@@ -1889,7 +1890,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 ""
@@ -1906,7 +1907,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 ""
@@ -2790,7 +2791,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
@@ -2949,18 +2950,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 ""
@@ -3044,95 +3045,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3140,43 +3141,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3184,11 +3185,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3198,7 +3199,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3209,7 +3210,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3217,7 +3218,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 clove in a\n"
@@ -3227,11 +3228,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3245,11 +3246,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 simple choke/unchoke indication.\n"
@@ -3260,7 +3261,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3270,7 +3271,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3281,29 +3282,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3312,37 +3313,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3358,21 +3359,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3386,7 +3387,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3394,24 +3395,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 the\n"
@@ -3419,7 +3420,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3431,39 +3432,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6311,6 +6312,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"
@@ -7911,7 +7916,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 ""
@@ -11680,10 +11685,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 ""
@@ -11700,7 +11701,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
@@ -11713,21 +11714,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"
@@ -11735,11 +11741,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 RouterInfo).\n"
@@ -11747,126 +11753,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11880,85 +11886,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11966,7 +11972,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11974,7 +11980,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 Obfuscation\n"
@@ -11985,21 +11991,16 @@ 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"
@@ -12008,38 +12009,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12048,7 +12049,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12057,40 +12058,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12099,11 +12100,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 DatabaseStoreMessage.\n"
@@ -12111,42 +12112,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12154,48 +12155,48 @@ 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 routers,\n"
"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 mtn -d i2p.mtn read < keys.txt
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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 "Størrelse:"
-#: 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/de/LC_MESSAGES/about.po b/i2p2www/translations/de/LC_MESSAGES/about.po
index 15f1ecde..40e70c24 100644
--- a/i2p2www/translations/de/LC_MESSAGES/about.po
+++ b/i2p2www/translations/de/LC_MESSAGES/about.po
@@ -11,7 +11,7 @@
# Max Muster 127.0.0.1
with port 4444
as shown in the following\n"
"screenshot."
-msgstr ""
+msgstr "In den angezeigten Verbindungs-Einstellungendie Manuelle Proxy-Konfiguration auswählen. Bei HTTP-Proxy und SSL-Proxy jeweils die Adresse 127.0.0.1
und Port 4444
eintragen, wie im Screenshot gezeigt."
#: i2p2www/pages/site/about/browser-config.html:56
msgid ""
"Firefox57\n"
"Connection Settings"
-msgstr ""
+msgstr "Firefox 57\nVerbindungs-Einstellungen"
#: i2p2www/pages/site/about/browser-config.html:57
msgid "Firefox57 Connection Settings"
-msgstr ""
+msgstr "Verbindungs-Einstellungen in Firefox 57"
#: i2p2www/pages/site/about/browser-config.html:60
msgid ""
@@ -513,7 +513,7 @@ msgstr "%(euroval)s € und %(btcval)s BTC"
#: i2p2www/pages/site/about/hall-of-fame.html:10
#, python-format
msgid "%(bchval)s BCH; and %(xmrval)s XMR"
-msgstr ""
+msgstr "%(bchval)s BCH; und %(xmrval)s XMR"
#: i2p2www/pages/site/about/hall-of-fame.html:11
msgid "Datastorage bounty"
@@ -570,35 +570,35 @@ msgstr "Aktuelle monatliche Abos:"
#: i2p2www/pages/site/about/hall-of-fame.html:47
msgid "2018 donations and costs:"
-msgstr ""
+msgstr "Spenden und Kosten 2018:"
#: i2p2www/pages/site/about/hall-of-fame.html:81
msgid "2017 donations and costs:"
-msgstr ""
+msgstr "Spenden und Kosten 2017:"
#: i2p2www/pages/site/about/hall-of-fame.html:203
msgid "2016 donations and costs:"
-msgstr "2016 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2016:"
#: i2p2www/pages/site/about/hall-of-fame.html:340
msgid "2015 donations and costs:"
-msgstr "2015 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2015:"
#: i2p2www/pages/site/about/hall-of-fame.html:503
msgid "2014 donations and costs:"
-msgstr "2014 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2014:"
#: i2p2www/pages/site/about/hall-of-fame.html:622
msgid "2013 donations and costs:"
-msgstr "2013 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2013:"
#: i2p2www/pages/site/about/hall-of-fame.html:799
msgid "2012 donations and costs:"
-msgstr "2012 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2012:"
#: i2p2www/pages/site/about/hall-of-fame.html:927
msgid "2011 donations and costs:"
-msgstr "2011 Spenden und Kosten:"
+msgstr "Spenden und Kosten 2011:"
#: i2p2www/pages/site/about/hall-of-fame.html:1028
msgid "Previous to 2011 donations:"
@@ -1588,7 +1588,7 @@ msgstr "Folien sind auch als ein in-I2P-Torrent verfügbar."
#: i2p2www/pages/site/about/i2pcon/2015.html:41
msgid "Note: Video links will be posted as they become available."
-msgstr ""
+msgstr "Hinweis: Links zu Videos werden ergänzt sobald verfügbar."
#: i2p2www/pages/site/about/i2pcon/2015.html:44
msgid ""
@@ -1718,7 +1718,7 @@ msgstr "Tag 2"
msgid ""
"The first conference dedicated to I2P was held in Toronto on August 15-16, 2015.\n"
"See the link below for more information and links to slides and videos."
-msgstr ""
+msgstr "Die erste I2P gewidmete Konferenz fand 15.-16. August 2015 in Toronto statt.\nSiehe Link unten für mehr Informationen sowie für Links zu Vortragsfolien und Videos."
#: i2p2www/pages/site/about/i2pcon/index.html:9
msgid "Past years"
diff --git a/i2p2www/translations/de/LC_MESSAGES/blog.po b/i2p2www/translations/de/LC_MESSAGES/blog.po
index 6d3ea259..b2735c56 100644
--- a/i2p2www/translations/de/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/de/LC_MESSAGES/blog.po
@@ -17,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: Lars Schimmer X = g^x mod "
"p
."
msgstr "Alice erzeugt eine geheime Ganzzahl x. Anschließend berechnet sie X = g^x mod p
."
-#: 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 "Alice sendet X an Bob (Nachricht 1)."
-#: 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 "Bob erzeugt eine geheime Ganzzahl y. Anschließend berechnet er Y = g^y mod p
."
-#: 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 "Bob sendet Y an Alice.(Nachricht 2)"
-#: 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 "Alice kann jetzt Sitzungsschlüssel = Y^x mod p
berechnen."
-#: 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 "Bob kann jetzt Sitzungsschlüssel = X^y mod p
berechnen."
-#: 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 "Sowohl Alice und Bob haben jetzt einen gemeinsamen Schlüssel Sitzungsschlüssel = g^(x*y) mod p
."
-#: 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 and Message 4.\n"
@@ -12216,11 +12217,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 "Nachricht 1 (Sitzung erstellt)"
-#: 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"
@@ -12232,157 +12233,157 @@ 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 "Größe:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:210
+#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Inhalte:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:228
+#: i2p2www/pages/site/docs/transport/ntcp.html:227
msgid "256 byte X from Diffie Hellman"
msgstr "256 Byte X von Diffie Hellman"
-#: 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 "Anmerkungen:"
-#: 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 "Nachricht 2 (Sitzung erstellt)"
-#: 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 "Unverschlüsselte Inhalte:"
-#: 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 "256 Byte Y von Diffie Hellman"
-#: 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 "12 Byte zufällige Daten"
-#: 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 "Verschlüsselte Inhalte:"
-#: 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 session key and\n"
" 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 "0-15 Byte zufällige Daten"
-#: 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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 "Nachricht 4 (Sitzung bestätigen B)"
-#: 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 "Dies ist eine Signatur der kritischen Daten. Bob sendet Alice:"
-#: 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12390,21 +12391,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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 "Nach dem Aufbau"
-#: 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12412,11 +12413,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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 "Nachricht Verbindung prüfen"
-#: 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"
@@ -12426,58 +12427,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 "32 Byte uninterpretierter, ignorierter Daten"
-#: i2p2www/pages/site/docs/transport/ntcp.html:528
+#: i2p2www/pages/site/docs/transport/ntcp.html:527
msgid "1 byte size"
msgstr "1-Byte-Größe"
-#: 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 "Diskussion"
-#: 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 \n"
@@ -12486,13 +12487,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?"
@@ -12506,71 +12507,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is dropped."
msgstr ""
-#: i2p2www/pages/site/docs/transport/ssu.html:25
+#: i2p2www/pages/site/docs/transport/ssu.html:24
msgid "SSU Services"
msgstr "SSU-Dienste"
-#: 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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 "Siehe unten"
-#: i2p2www/pages/site/docs/transport/ssu.html:85
+#: i2p2www/pages/site/docs/transport/ssu.html:84
msgid "Protocol Details"
msgstr "Protokolldetails"
-#: i2p2www/pages/site/docs/transport/ssu.html:87
+#: i2p2www/pages/site/docs/transport/ssu.html:86
msgid "Congestion control"
msgstr "Verkehrssteuerung"
-#: 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"
@@ -12578,7 +12578,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"
@@ -12590,7 +12590,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\n"
@@ -12603,48 +12603,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12652,14 +12652,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12667,11 +12667,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 "Nachrichtengrößenbeschränkungen"
-#: 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 128.\n"
@@ -12683,11 +12683,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 "Schlüssel"
-#: 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"
@@ -12696,7 +12696,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"
@@ -12706,7 +12706,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"
"with all established sessions - if there are matches,\n"
@@ -12718,7 +12718,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"
@@ -12730,7 +12730,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"
@@ -12738,18 +12738,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"
@@ -12757,7 +12757,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"
@@ -12766,11 +12766,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 "Adressierung"
-#: 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"
@@ -12778,41 +12778,41 @@ 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 "Direkter Verbindungsaufbau"
-#: 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 "Verbindungsaufbau (direkt)"
-#: 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 "Alice verbindet sich direkt mit Bob.\nIPv6 wird ab Version 0.9.8 unterstützt."
-#: 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"
@@ -12823,7 +12823,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"
@@ -12833,7 +12833,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12841,7 +12841,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 now)\n"
@@ -12856,7 +12856,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"
@@ -12876,26 +12876,26 @@ 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"
@@ -12904,7 +12904,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"
@@ -12914,7 +12914,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"
@@ -12924,7 +12924,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"
@@ -12936,7 +12936,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"
@@ -12947,7 +12947,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"
@@ -12955,7 +12955,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"
@@ -12966,7 +12966,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"
@@ -12975,11 +12975,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 "Übertragungsfenster, ACKs und erneutes Übertragen"
-#: 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"
@@ -12989,7 +12989,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 specified\n"
@@ -13002,11 +13002,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 "Sicherheit"
-#: 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"
@@ -13015,105 +13015,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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 "Kapazitäten scheinen unbenutzt zu sein."
-#: 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 "Implementierungsdiagramm"
-#: 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/i2p2www/translations/de/LC_MESSAGES/get-involved.po b/i2p2www/translations/de/LC_MESSAGES/get-involved.po
index 0ee7dcc5..4922f924 100644
--- a/i2p2www/translations/de/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/de/LC_MESSAGES/get-involved.po
@@ -16,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Ettore Atalan ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 "Anonym:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Nicht anonym:"
-#: 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 "Die Kommando oberhalb erstellt ein Ordner i2p.i2p, welches alle I2P-Quellen beinhaltet."
-#: 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3207,21 +3240,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3230,67 +3263,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 "verwenden Sie eine leere Passphrase"
-#: 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 "geben Sie eine Passphrase ein"
-#: 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 "Lange Version: siehe die Monotone-Seite."
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3299,7 +3332,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/de/LC_MESSAGES/priority.po b/i2p2www/translations/de/LC_MESSAGES/priority.po
index 91178615..312d525f 100644
--- a/i2p2www/translations/de/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/de/LC_MESSAGES/priority.po
@@ -16,16 +16,16 @@
# Philip Love mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Klicke den Andere Quellen-Tab und dann Hinzufügen. Füge ppa:i2p-maintainers/i2p
in das APT-Zeilen-Feld ein und klicke auf Quelle hinzufügen, danach den Knopf \"Schließen\" und dann Aktualisieren."
-#: 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 "
@@ -185,85 +184,105 @@ msgid ""
" Mark then Apply."
msgstr "In der \"Schnell Filter Box\", schreibst du i2p
und drückst Enter. Wenn i2p
in der Ergebnisliste wiedergegeben wird, rechtsklicke i2p
und wähle markiere für Installation. Anschliessend wirst du wahrscheinlich markiere zusätzliche benötigte Änderungen? in einem Popup sehen. Ist dies der Fall, klicke markieren dann Anwenden."
-#: 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 "Nach dem der Installationsprozess abgeschlossen ist, kannst du zu dem nächsten Teil von starting I2P wechseln und es für dein System konfigurieren."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Anleitung für Debian"
-#: 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\")."
-msgstr "Hinweis: Die nachfolgenden Schritte sollten als User mit Root-Rechten ausgeführt werden (z.B. vorher mittels \"su\" zum User Root wechseln oder jede Befehlszeile mit \"sudo\" beginnen)."
+"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
."
-msgstr "Fügen Sie Zeilen wie diese %(file)s
an."
+#: 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:"
-msgstr "Downloaden Sie die zum Signieren des Repositories genutzten Schlüssel und fügen Sie diese in apt hinzu: "
+"\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 "Informieren Sie ihren Paketmanager über das neue Repository durch folgende Ergänzungen"
-#: 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 step\n"
"1."
msgstr "Dieser Befehl wird die Liste aktueller Software von jedem auf Ihrem System aktivierten Repository aktualisieren,\ninclusive der I2P Repositories wie in Step 1 hinzugefügt. "
-#: 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 "Sie sind bereit I2P zu installieren! Installieren Sie das i2p-keyring
\nPaket um sicherzustellen, das Sie Updates zu dem GPG Schlüssel des Repositories erhaten."
-#: 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 "Nach der Installation kannst du I2P starten und es passend einrichten."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Hinweis: Falls die https:// Adresse nicht funktioniert, folgende Alternativen probieren: "
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Änderen Sie die Repository Adresse auf http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Arbeit nach der Installation"
-#: 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 "Unter Benutzung dieser I2P Pakete kann der I2P Router mit 3 verschiedenen Möglichkeiten gestartet werden:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""Bei Bedarf" nutzen Sie das I2Prouter Script. Führen Sie einfach "i2prouter\nstart
" in einer Kommandozeile aus. (Hinweis: Nutzen Sie niemals \nsudo oder als root Benutzer starten)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -271,14 +290,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""Bei Bedarf" ohne den Java Service Wrapper\n(immer auf nicht-Linux/nicht-x86 Systemen) durch ausführen von\"i2prouter-nowrapper
\".\n(Hinweis: Nutzen Sie nicht\nsudo oder als root starten)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "als ein Service, der automatisch beim Systemstart startet, auch\nvor dem Einloggen. Der Service kann mit \"dkpg-reconfigure\ni2p
\" als root oder mit sudo aufgerufen aktiviert werden. Dieses ist auch die empfohlene Art."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -286,14 +305,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Bei der ersten Installation bitte daran denken, die NAT/Firewall-Einstellungen\nwenn möglich anzupassen. Die Ports, die weitergeleitet werden müssen, können auf der \nNetzwerk-Konfigurationsseite in der Router-Konsole gefunden werden. Hilfestellung zu Portweiterleitungen\nwird auf portforward.com gegeben."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Bitte kontrollieren und passen Sie die Bandbreiteneinstellungen auf der \nEinstellungsseite an,⏎\nda die Standardeinstellungen von 96 KB/sec Download / 40 KB/sec Upload gering gesetzt sind."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
@@ -1208,7 +1227,7 @@ msgstr "Wie reseede ich manuell?"
#: i2p2www/pages/site/faq.html:28 i2p2www/pages/site/faq.html:682
msgid ""
"How do I access IRC, BitTorrent, or other services on the regular Internet?"
-msgstr "Wie erreichen Sie IRC, BitTorrent oder andere Services im normalen Internet?"
+msgstr "Wie stelle ich Verbindung zu IRC, BitTorrent oder anderen Diensten im normalen Internet her?"
#: i2p2www/pages/site/faq.html:29 i2p2www/pages/site/faq.html:694
msgid "I can't access https:// or ftp:// sites through I2P."
@@ -1242,7 +1261,7 @@ msgstr "Meine active Peers / known Peers / Participating Tunnel / Verbindungen /
msgid ""
"What makes downloads, torrents, web browsing, and everything else slower on "
"I2P as compared to the regular internet?"
-msgstr ""
+msgstr "Warum ist Downloaden, Filesharing, Surfen und alles andere mit I2P langsamer als beim normalen Internet?"
#: i2p2www/pages/site/faq.html:38
msgid ""
@@ -1272,7 +1291,7 @@ msgid ""
"I2P is written in the Java programming language. \n"
"It has been tested on Windows, Linux, FreeBSD and OSX. \n"
"An Android port is also available."
-msgstr ""
+msgstr "I2P ist in der Programmiersprache Java geschrieben. \nEs wurde auf Windows, Linux, FreeBSD und OSX getestet. \nEine Android-Portierung ist ebenso verfügbar."
#: i2p2www/pages/site/faq.html:58
msgid ""
@@ -1280,7 +1299,7 @@ msgid ""
"This is sufficient for browsing and IRC usage. However, other activities may require greater memory allocation. \n"
"For example, if one wishes to run a high-bandwidth router, participate in I2P torrents or serve high-traffic hidden services, \n"
"a higher amount of memory is required."
-msgstr ""
+msgstr "Hinsichtlich des Speicherverbrauchs ist I2P standardmäßig konfiguriert, 128 MB RAM zu benutzen.\nDas ist ausreichend zum Surfen und für den IRC-Chat. Allerdings können andere Anwendungen höherere Speicheranforderungen stellen.\nZum Beispiel wenn man einen Router mit hoher Bandbreite starten, an BitTorrent-Filesharing teilnehmen oder versteckte Dienste mit viel Traffic anbieten möchte, wird mehr Arbeitsspeicher benötigt."
#: i2p2www/pages/site/faq.html:63
#, python-format
@@ -1288,7 +1307,7 @@ msgid ""
"In terms of CPU usage, I2P has been tested to run on modest systems such as the Raspberry Pi range of single-board computers.\n"
"As I2P makes heavy use of cryptographic techniques, a stronger CPU will be better suited to handle the workload generated by I2P as well as tasks \n"
"related to the rest of the system (i.e. Operating System, GUI, Other processes e.g. Web Browsing)."
-msgstr ""
+msgstr "Hinsichtlich der CPU-Last wurde I2P auf schwächeren Systemen, wie z.B. den Raspberry Pi Einplatinencomputern, getestet.\nDa I2P häufig Gebrauch von Krypographie macht, ist eine stärkere CPU besser geeignet, um genug Rechenleistung für I2P sowie für die Aufgaben des restlichen Systems (d.h. Betriebssystem, Benutzeroberfläche, andere Prozesse wie z.B. Browser) bereit zu stellen."
#: i2p2www/pages/site/faq.html:68
#, python-format
@@ -1297,7 +1316,7 @@ msgid ""
"%(chart)s.\n"
"\n"
"Using Sun/Oracle Java or OpenJDK is recommended."
-msgstr ""
+msgstr "Ein Vergleich von verschiedenen Java Runtime Environments (JREs) ist hier zu finden: \n%(chart)s.\n\nUnsere Empfehlung ist, Sun/Oracle Java oder OpenJDK zu benutzen ."
#: i2p2www/pages/site/faq.html:77
#, python-format
@@ -1363,7 +1382,7 @@ msgstr ""
msgid ""
"For more information, you may read the Tor FAQ's answer to this question:\n"
"https://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
-msgstr ""
+msgstr "Für weitere Informationen sei auf diesen Eintrag im Tor-FAQ verwiesen:\nhttps://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
#: i2p2www/pages/site/faq.html:139
#, python-format
@@ -1380,7 +1399,7 @@ msgid ""
"\n"
"Ultimately, this is a question that only you can answer because the correct answer depends on your browsing behaviour, \n"
"your threat model, and how much you choose to trust the outproxy operator."
-msgstr ""
+msgstr "\nLetztlich kann diese Frage nur von einem selbst beantwortet werden, da die Antwort vom eigenen Surf-Verhalten und Bedrohungsmodell abhängt sowie davon wie weit man dem Betreiber des Outproxies vertrauen will."
#: i2p2www/pages/site/faq.html:154
msgid ""
@@ -1441,21 +1460,21 @@ msgstr ""
#: i2p2www/pages/site/faq.html:224
msgid "The ports that are used by I2P can be divided into 2 sections:"
-msgstr ""
+msgstr "Die Ports, die I2P benutzt, können in zwei Gruppen eingeteilt werden:"
#: i2p2www/pages/site/faq.html:229
msgid ""
"Internet-facing ports, which are used for communication with other I2P "
"routers"
-msgstr ""
+msgstr "Dem Internet zugewandte Ports für die Verbindung zu anderen I2P-Routern"
#: i2p2www/pages/site/faq.html:230
msgid "Local ports, for local connections"
-msgstr ""
+msgstr "Lokale Ports für lokale Verbindungen"
#: i2p2www/pages/site/faq.html:233
msgid "These are described in detail below."
-msgstr ""
+msgstr "Diese sind unten im Detail beschrieben."
#: i2p2www/pages/site/faq.html:238
msgid ""
@@ -1466,7 +1485,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:241
msgid "OUTBOUND"
-msgstr ""
+msgstr "AUSGEHEND"
#: i2p2www/pages/site/faq.html:243
msgid ""
@@ -1487,7 +1506,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:248
msgid "INBOUND"
-msgstr ""
+msgstr "EINGEHEND"
#: i2p2www/pages/site/faq.html:250
msgid ""
@@ -1517,11 +1536,11 @@ msgstr ""
#: i2p2www/pages/site/faq.html:259
msgid "PORT"
-msgstr ""
+msgstr "PORT"
#: i2p2www/pages/site/faq.html:262
msgid "PURPOSE"
-msgstr ""
+msgstr "VERWENDUNG"
#: i2p2www/pages/site/faq.html:265
msgid "DESCRIPTION"
@@ -1612,7 +1631,7 @@ msgstr ""
msgid ""
"To change, see the wrapper documentation. \n"
" For more information see below."
-msgstr ""
+msgstr "Siehe Dokumentation des Wrappers wie man das ändert.\nWeitere Informationen siehe unten."
#: i2p2www/pages/site/faq.html:479
msgid ""
@@ -1634,13 +1653,13 @@ msgstr "Zusammengefasst muss kein Port von externen Peers erreichbar sein, falls
#: i2p2www/pages/site/faq.html:497
msgid "This question can be answered in 3 parts:"
-msgstr ""
+msgstr "Diese Frage kann in drei Teilen beantwortet werden:"
#: i2p2www/pages/site/faq.html:502
msgid ""
"My router often displays a message saying \"Website Not Found In "
"Addressbook\", why do I see this message?"
-msgstr ""
+msgstr "Der I2P-Router zeigt mir dauernd die Meldung \""
#: i2p2www/pages/site/faq.html:503
msgid ""
@@ -1679,7 +1698,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:512
msgid "You may try the following:"
-msgstr ""
+msgstr "Man kann Folgendes versuchen:"
#: i2p2www/pages/site/faq.html:523
msgid ""
@@ -1690,7 +1709,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:529 i2p2www/pages/site/faq.html:535
msgid "SSH Tunnel"
-msgstr ""
+msgstr "SSH-Tunnel"
#: i2p2www/pages/site/faq.html:530 i2p2www/pages/site/faq.html:554
msgid ""
@@ -1933,7 +1952,7 @@ msgstr "Es gibt viele Gründe für hohe CPU Last. Hier ist eine Kontrolliste:"
#: i2p2www/pages/site/faq.html:730
msgid "Java Runtime Environment"
-msgstr ""
+msgstr "Java-Laufzeitumgebung"
#: i2p2www/pages/site/faq.html:731
msgid ""
@@ -1944,7 +1963,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:736
msgid "File sharing applications, e.g. BitTorrent"
-msgstr ""
+msgstr "Filesharing-Anwendungen, z.B. BitTorrent"
#: i2p2www/pages/site/faq.html:737
msgid ""
@@ -1964,7 +1983,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:749
msgid "I2P Version"
-msgstr ""
+msgstr "I2P-Version"
#: i2p2www/pages/site/faq.html:750
msgid ""
@@ -1974,7 +1993,7 @@ msgstr "Stellen Sie sicher, das Sie die aktuellste Version von I2P nutzen um die
#: i2p2www/pages/site/faq.html:755
msgid "Memory allocation"
-msgstr ""
+msgstr "Speicherzuweisung"
#: i2p2www/pages/site/faq.html:756
msgid ""
@@ -1996,7 +2015,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:770
msgid "Java-related"
-msgstr ""
+msgstr "Zu Java"
#: i2p2www/pages/site/faq.html:771
#, python-format
@@ -2182,7 +2201,7 @@ msgid ""
"More information can be found in the wrapper documentation."
-msgstr ""
+msgstr "Mehr Informationen können in der Dokumentation des Wrappers gefunden werden."
#: i2p2www/pages/site/faq.html:944
msgid ""
@@ -2193,7 +2212,7 @@ msgstr ""
#: i2p2www/pages/site/faq.html:950
msgid "Our Bugtracker:"
-msgstr ""
+msgstr "Unser Bugtracker:"
#: i2p2www/pages/site/faq.html:952
msgid "Clearnet:"
@@ -2201,11 +2220,11 @@ msgstr ""
#: i2p2www/pages/site/faq.html:953
msgid "On I2P:"
-msgstr ""
+msgstr "Über I2P:"
#: i2p2www/pages/site/faq.html:955
msgid "Our forums:"
-msgstr ""
+msgstr "Unsere Foren:"
#: i2p2www/pages/site/faq.html:956
msgid ""
@@ -2262,7 +2281,7 @@ msgid ""
"The I2P network provides strong privacy protections for communication over "
"the Internet. Many activities that would risk your privacy on the public "
"Internet can be conducted anonymously inside I2P."
-msgstr "Das I2P-Netz bietet einen hohen Grad an Schutz der Privatssphäre bei der Kommunikation über das Internet. Vielen Aktivitäten, bei denen Sie andernfalls private Informationen preisgeben würden, können Sie innerhalb von I2P anonym nachgehen."
+msgstr "Das I2P-Netz bietet einen hohen Grad an Schutz der Privatsphäre bei der Kommunikation über das Internet. Vielen Aktivitäten, bei denen man andernfalls private Informationen preisgeben würde, kann man innerhalb von I2P anonym nachgehen."
#: i2p2www/pages/site/index.html:11
#, python-format
@@ -2278,7 +2297,7 @@ msgid ""
"I2P is an anonymous overlay network - a network within a network. It is "
"intended to protect communication from dragnet surveillance and monitoring "
"by third parties such as ISPs.\n"
-msgstr "I2P ist ein anonymous Overlay Netzwerk - ein Netzwerk innerhalb eines Netzwerkes. Es zielt darauf ab, Kommunikationen vor Abhören, Auslesen und Beobachten durch 3. Parteien wie ISPs zu schützen.\n"
+msgstr "I2P ist ein anonymes Overlay-Netzwerk - ein Netzwerk innerhalb eines Netzwerks. Es dient dazu, Kommunikation vor Überwachung und dem Zugriff durch Dritte, wie z.B. Internet-Providern, zu schützen.\n"
#: i2p2www/pages/site/index.html:20
msgid ""
@@ -2299,7 +2318,7 @@ msgstr "Kein Netzwerk kann \"perfekt anonym\" sein. Das weitergehende Ziel von I
msgid ""
"I2P is available on desktops, embedded systems (like the Raspberry Pi) and "
"Android phones. Help spread the word!\n"
-msgstr "I2P ist verfügbar für Dekstops, integrierte Systeme (wie z.B. der Rasperry Pi) und Android Geräte. Helfen Sie mit, dieses kundzutun!\n"
+msgstr "I2P ist verfügbar für Desktops, integrierte Systeme (wie z.B. der Rasperry Pi) und Android-Geräte. Weitersagen!\n"
#: i2p2www/pages/site/index.html:30
msgid "Read more…"
diff --git a/i2p2www/translations/de/LC_MESSAGES/research.po b/i2p2www/translations/de/LC_MESSAGES/research.po
index 635bce82..ce8e4395 100644
--- a/i2p2www/translations/de/LC_MESSAGES/research.po
+++ b/i2p2www/translations/de/LC_MESSAGES/research.po
@@ -1,262 +1,286 @@
-# German translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# a b i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"Zusätzlich kann I2P in einem virtuellen Netzwerkmodus gestartet werden. "
-"Dieser Modus deaktiviert alle Transports um den Router in Isolation ohne "
-"Netzwerkverkehr testen zu können. Um diesen Modus zu aktivieren, fügen "
-"Sie i2p.vmCommSystem=true
in der router.config Datei an "
-"bevor Sie I2P starten."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "teste das I2P Live Netzwerk"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-"Wenn Sie Forschungen am I2P Live Netzwerk betreiben wollen, melden Sie sich bitte bei uns vor dem Start des "
-"Projektes. Wir möchten Forscher nicht vom umsichtigen Testen ihrer Ideen "
-"am Live Netzwerk abhalten, aber wenn wir einen Angriff bemerken ohne eine"
-" Nachricht dazu bekommen zu haben, werden wir Gegenmassnahmen ergreifen, "
-"die mit diesen Tests interferieren können. "
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
-msgstr "Routerfamilienkonfiguration"
-
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"\n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:106
+msgid "Using a Test Network to Attack I2P"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:108
+msgid ""
+"I2P can be run as a separate test network by controlling the locations that a\n"
+"new router reseeds from so that it only finds other test routers.\n"
+"\n"
+"The standard mode of operation is to have one JVM per router instance; hence\n"
+"running multiple copies of I2P on a single machine is inadvisable, both due to\n"
+"the potential resource drain and the certain port conflicts. To better\n"
+"facilitate setting up small test networks, I2P has a multirouter mode which\n"
+"enables multiple distinct routers to be run in the same JVM.\n"
+"\n"
+"MultiRouter can be started from the i2p base directory by running the below\n"
+"command."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:124
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode disables\n"
+"all transports, allowing the router to be tested in isolation without network\n"
+"traffic. To enable this mode, add i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr "Routerfamilienkonfiguration"
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Offene Forschungsfragen"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Netzwerkdatenbank"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transporte"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Tunnel und Destinationen"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Knoten Auswahl"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Unidirektionale Tunnel"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihoming"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Nachrichtenrouting"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr "Anonymität"
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Februar 2016"
+msgstr "Januar 2017"
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -268,7 +292,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -281,12 +306,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "E-Mail"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -299,8 +323,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -320,14 +343,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -339,8 +361,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -358,19 +380,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -392,8 +413,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -402,10 +422,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -440,8 +458,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -454,11 +471,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -473,7 +492,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:191
msgid "Project name and URL."
-msgstr ""
+msgstr "Projektname und URL."
#: i2p2www/pages/site/research/vrp.html:194
msgid "Versions known to be affected."
@@ -510,8 +529,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -519,13 +538,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -534,8 +554,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -546,33 +566,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -583,11 +598,12 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:276
msgid "Isolate codebase"
-msgstr ""
+msgstr "Codebasis isolieren"
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -616,15 +632,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -634,21 +648,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:338
msgid "Continuous Improvement"
-msgstr ""
+msgstr "Kontinuierliche Verbesserungen"
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -685,4 +696,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/el/LC_MESSAGES/docs.po b/i2p2www/translations/el/LC_MESSAGES/docs.po
index ffcbbe58..284f95b2 100644
--- a/i2p2www/translations/el/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/el/LC_MESSAGES/docs.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Greek (http://www.transifex.com/otf/I2P/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -24,9 +24,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
@@ -128,7 +130,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -146,7 +148,7 @@ 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:197
msgid "Configuration File Format"
msgstr ""
@@ -290,7 +292,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 ""
@@ -392,160 +394,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"
@@ -1344,7 +1346,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 ""
@@ -1878,7 +1879,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 ""
@@ -1891,7 +1892,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 ""
@@ -1908,7 +1909,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 ""
@@ -2792,7 +2793,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
@@ -2951,18 +2952,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 ""
@@ -3046,95 +3047,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3142,43 +3143,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3186,11 +3187,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3200,7 +3201,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3211,7 +3212,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3219,7 +3220,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 clove in a\n"
@@ -3229,11 +3230,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3247,11 +3248,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 simple choke/unchoke indication.\n"
@@ -3262,7 +3263,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3272,7 +3273,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3283,29 +3284,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3314,37 +3315,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3360,21 +3361,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3388,7 +3389,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3396,24 +3397,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 the\n"
@@ -3421,7 +3422,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3433,39 +3434,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6313,6 +6314,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"
@@ -7913,7 +7918,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 "Εισαγωγή"
@@ -11682,10 +11687,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 ""
@@ -11702,7 +11703,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
@@ -11715,21 +11716,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"
@@ -11737,11 +11743,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 RouterInfo).\n"
@@ -11749,126 +11755,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11882,85 +11888,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11968,7 +11974,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11976,7 +11982,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 Obfuscation\n"
@@ -11987,21 +11993,16 @@ 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"
@@ -12010,38 +12011,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12050,7 +12051,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12059,40 +12060,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12101,11 +12102,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 DatabaseStoreMessage.\n"
@@ -12113,42 +12114,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12156,48 +12157,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12205,11 +12206,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"
@@ -12221,157 +12222,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12379,21 +12380,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12401,11 +12402,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12415,58 +12416,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 \n"
@@ -12475,13 +12476,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?"
@@ -12495,71 +12496,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12567,7 +12567,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"
@@ -12579,7 +12579,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\n"
@@ -12592,48 +12592,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12641,14 +12641,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12656,11 +12656,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 128.\n"
@@ -12672,11 +12672,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"
@@ -12685,7 +12685,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"
@@ -12695,7 +12695,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"
"with all established sessions - if there are matches,\n"
@@ -12707,7 +12707,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"
@@ -12719,7 +12719,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"
@@ -12727,18 +12727,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"
@@ -12746,7 +12746,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"
@@ -12755,11 +12755,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"
@@ -12767,41 +12767,41 @@ 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"
@@ -12812,7 +12812,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"
@@ -12822,7 +12822,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12830,7 +12830,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 now)\n"
@@ -12845,7 +12845,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"
@@ -12865,26 +12865,26 @@ 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"
@@ -12893,7 +12893,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"
@@ -12903,7 +12903,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"
@@ -12913,7 +12913,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"
@@ -12925,7 +12925,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"
@@ -12936,7 +12936,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"
@@ -12944,7 +12944,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"
@@ -12955,7 +12955,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"
@@ -12964,11 +12964,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"
@@ -12978,7 +12978,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 specified\n"
@@ -12991,11 +12991,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"
@@ -13004,105 +13004,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/el/LC_MESSAGES/get-involved.po b/i2p2www/translations/el/LC_MESSAGES/get-involved.po
index a7e03043..eb98fc6f 100644
--- a/i2p2www/translations/el/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/el/LC_MESSAGES/get-involved.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Greek (http://www.transifex.com/otf/I2P/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/es/LC_MESSAGES/blog.po b/i2p2www/translations/es/LC_MESSAGES/blog.po
index 946948d0..fab1c07b 100644
--- a/i2p2www/translations/es/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/es/LC_MESSAGES/blog.po
@@ -21,9 +21,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: strel\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -105,7 +105,8 @@ msgstr "`Página de Descargas`"
#: 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 "DETALLES DEL LANZAMIENTO"
@@ -162,7 +163,8 @@ msgstr "Cambios más importantes"
#: 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 "Correcciones de errores"
@@ -209,7 +211,8 @@ msgstr "Correcciones de errores"
#: 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 "Otro"
@@ -257,7 +260,8 @@ msgstr "Otro"
#: 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 "Sumas de comprobación SHA256:"
@@ -414,7 +418,7 @@ msgstr "Actualización del wrapper a la versión 3.5.15 (sólo para nuevas insta
#: 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 "Actualizar datos de geolocalización IP (Sólo PPA y nuevas instalaciones)"
@@ -1670,7 +1674,8 @@ msgstr "Nuevas traducciones"
#: 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 "Actualizaciones de traducción"
@@ -1833,7 +1838,8 @@ msgstr "Esta puede que sea la última versión que funcione con Java 5, que es m
#: 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."
@@ -2642,7 +2648,8 @@ msgstr "Hemos incorporado soporte para firmas ECDSA desde la vesión 0.9.12, y d
#: 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 "Cambios"
@@ -4598,7 +4605,8 @@ msgstr "Si instaló I2P mediante un administrador de paquetes, no está afectado
#: 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"
"=============="
@@ -5060,7 +5068,8 @@ msgstr "Nueva traducción al chino (de Taiwán)"
#: 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 "`Lista completa de fallos reparados`"
@@ -6648,6 +6657,7 @@ msgid "SusiMail: POP3 socket close after failure"
msgstr "SusiMail: Cierre del socket POP3 después de un fallo"
#: 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 "Correcciones del test de unidad"
@@ -7060,12 +7070,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 ""
@@ -7081,107 +7091,472 @@ 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 mtn -d i2p.mtn read < keys.txt
X = g^x mod "
"p
."
msgstr "Alice genera un entero secreto . Ella entonces calcula X = g^x mod p
."
-#: 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 "Alice envía X a Bob (mensaje 1)."
-#: 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 "Bob genera un entero secreto y. Él entonces calcula Y = g^y mod p
."
-#: 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 "Bob envía Y a Alice (mensaje 2)."
-#: 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 "Alice puede ahora calcular sessionKey = Y^x mod p
."
-#: 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 "Bob puede ahora calcular sessionKey = X^y mod p
."
-#: 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 "Ambos, Alice y Bob, tienen una clave compartida sessionKey = g^(x*y) mod p
."
-#: 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 and Message 4.\n"
@@ -12214,11 +12215,11 @@ msgid ""
"cryptography page."
msgstr "La sessionKey (clave de sesión) se usa entonces para intercambiar identidades \nen Mensaje 3 y Mensaje 4. El exponente de tamaño (x AND y) para \nel intercambio Diffie-Hellman (DH) está documentado en la página de crifrado."
-#: i2p2www/pages/site/docs/transport/ntcp.html:194
+#: i2p2www/pages/site/docs/transport/ntcp.html:193
msgid "Message 1 (Session Request)"
msgstr "Mensaje 1 (solicitud de sesión)"
-#: 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"
@@ -12230,157 +12231,157 @@ msgid ""
"Alice sends Bob:"
msgstr "Esta es la solicitud DH. Alice tiene ya la RouterIdentity (identidad del \nrouter) de Bob, la dirección IP, y el puerto, tal como los contiene su \nRouterInfo (información del router), que estaba publicada en la \nbase de datos de red. Alice envía a Bob:"
-#: 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 "Tamaño:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:210
+#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Contenidos:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:228
+#: i2p2www/pages/site/docs/transport/ntcp.html:227
msgid "256 byte X from Diffie Hellman"
msgstr "X de 256 bytes desde Diffie Hellman"
-#: 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 "SHA256 Hash(X) XOReado con SHA256 Hash(`RouterIdentity` de Bob) "
-#: 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 "Notas:"
-#: 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 "Bob verifica HXxorHI usando su propio hash de router. Si no se verifica, Alice ha contactado el router equivocado, y Bob corta la conexión."
-#: i2p2www/pages/site/docs/transport/ntcp.html:244
+#: i2p2www/pages/site/docs/transport/ntcp.html:243
msgid "Message 2 (Session Created)"
msgstr "Mensaje 2 (sesión creada)"
-#: 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 "Esta es la respuesta DH. Bob envía a Alice:"
-#: 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 "Contenidos no cifrados:"
-#: 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 "Y de 256 bytes desde Diffie Hellman"
-#: i2p2www/pages/site/docs/transport/ntcp.html:277
+#: i2p2www/pages/site/docs/transport/ntcp.html:276
msgid "SHA256 Hash(X concatenated with Y)"
msgstr "SHA256 Hash(X concatenado con Y)."
-#: 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 "Marca de tiempo de 4 bytes (segundos desde epoch (época, origen de tiempo UNIX))"
-#: i2p2www/pages/site/docs/transport/ntcp.html:282
+#: i2p2www/pages/site/docs/transport/ntcp.html:281
msgid "12 bytes random data"
msgstr "12 bytes datos aleatorios"
-#: 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 "Contenidos cifrados:"
-#: 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 session key and\n"
" the last 16 bytes of Y as the IV"
msgstr "48 bytes cifrados con AES usando la clave de sesión DH \ny los últimos 16 bytes de Y usados como el IV (vector de inicialización)"
-#: 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 "Alice puede denegar la conexión si el desfase horario con el relog de Bob es demasiado alto al calcularse usando tsB."
-#: i2p2www/pages/site/docs/transport/ntcp.html:326
+#: i2p2www/pages/site/docs/transport/ntcp.html:325
msgid "Message 3 (Session Confirm A)"
msgstr "Mensaje 3 (Confirmar Sesión A)"
-#: 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 "Esto contiene la identificación del router I2P de Alice, y una firma de los datos críticos. Alice le envía a Bob:"
-#: 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 "2 bytes de tamaño de la identificación del router I2P de Alice a seguir (387+)"
-#: i2p2www/pages/site/docs/transport/ntcp.html:363
+#: i2p2www/pages/site/docs/transport/ntcp.html:362
msgid "Alice's 387+ byte `RouterIdentity`"
msgstr "'RouterIdentity' (identificación de router I2P) de 387+ bytes de Alice"
-#: 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 "0-15 bytes de datos aleatorios"
-#: 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"
" Alice signs it with the `SigningPrivateKey` associated with the `SigningPublicKey` in her `RouterIdentity`"
msgstr "la `Signature` (firma) de los siguientes datos concatenados:\nX, Y, `RouterIdentity` (identificación de router I2P) de Bob, tsA, tsB (marcas de tiempo A y B).\nAlice los firma con la `SigningPrivateKey` (clave privada de firmante) asociada con la `SigningPublicKey` (clave pública firmante) en su `RouterIdentity`"
-#: 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes of message #1) as the IV"
msgstr "448 bytes cifrados con AES usando la clave de sesión DH y los últimos 16 bytes de HXxorHI ( por ejemplo, los últimos 16 bytes del mensaje #1) como el IV"
-#: 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 "Bob verifica la firma, y si falla, rechaza la conexión."
-#: 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 "Bob puede rechazar la conexión si si el desfase horario con el reloj de Alice es demasiado alto al calcularse usando tsA."
-#: 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 "Alice usará los últimos 16 bytes de los contenidos cifrados de este mensaje como IV (vector de inicialización) para el siguiente mensaje."
-#: i2p2www/pages/site/docs/transport/ntcp.html:431
+#: i2p2www/pages/site/docs/transport/ntcp.html:430
msgid "Message 4 (Session Confirm B)"
msgstr "Mensaje 4 (Confirmar Sesión B)"
-#: 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 "Esta es una firma de los datos críticos. Bob le envía a Alice:"
-#: 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"
" Bob signs it with the `SigningPrivateKey` associated with the `SigningPublicKey` in his `RouterIdentity`"
msgstr "la `Signature` (firma) de los siguientes datos concatenados:\nX, Y, `RouterIdentity` (identificación de router I2P) de Alice, tsA, tsB (marcas de tiempo A y B).\nBob lo firma con la `SigningPrivateKey` (clave privada firmante) asociada con la `SigningPublicKey` (clave pública firmante) en su `RouterIdentity`"
-#: 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 session key and\n"
@@ -12388,21 +12389,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other signature types"
msgstr "Los datos cifrados con AES usando la clave de sesión DH (Diffie-Hellman), y\nlos últimos 16 bytes de contenidos cifrados del mensaje #2 como IV (vector de inicialización)\nde 48 bytes para una firma DSA, pueden variar para otros tipos de firmas"
-#: 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 "Alice verifica la firma, y en caso de fallo, rechaza la conexión."
-#: 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 "Bob usará los últimos 16 bytes de los contenidos cifrados de este mensaje como IV (vector de inicialización) para el siguiente mensaje."
-#: i2p2www/pages/site/docs/transport/ntcp.html:507
+#: i2p2www/pages/site/docs/transport/ntcp.html:506
msgid "After Establishment"
msgstr "Después del establecimiento"
-#: 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12410,11 +12411,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as the next IV."
msgstr "La conexión está establecida, y pueden intercambiarse mensajes normales o mensajes de sincronización de tiempo. Todos los mensajes siguientes están cifrados con AES usado la clave de sesión DH antes acordada. Alice usará los últimos 16 bytes del contenido cifrado del mensaje #3 como el siguiente IV. Bob usará los últimos 16 bytes del contenido cifrado del mensaje #4 como el siguiente IV."
-#: i2p2www/pages/site/docs/transport/ntcp.html:517
+#: i2p2www/pages/site/docs/transport/ntcp.html:516
msgid "Check Connection Message"
msgstr "Mensaje de conexión del reloj"
-#: 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"
@@ -12424,58 +12425,58 @@ msgid ""
"A check info connection will receive 256 bytes containing:"
msgstr "Alternativamente, cuando Bob recibe una conexión, puede ser una conexión de prueba (quizás mostrada por Bob al preguntar a alguien para verificar a su interlocutor). Las conexiones de prueba no se usan actualmente. Aunque, para que quede en el registro, las conexiones de prueba son formateadas como sigue. Una conexión de prueba de información recibirá 256 bytes que contienen:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:527
+#: i2p2www/pages/site/docs/transport/ntcp.html:526
msgid "32 bytes of uninterpreted, ignored data"
msgstr "32 bytes sin interpretar, datos ignorados"
-#: i2p2www/pages/site/docs/transport/ntcp.html:528
+#: i2p2www/pages/site/docs/transport/ntcp.html:527
msgid "1 byte size"
msgstr "tamaño de 1 byte"
-#: 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 "el número de bytes que componen la dirección IP del ruter local (como haya sido contactado por la parte remota)"
-#: 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 "el número de puerto de 2 bytes, en donde ha sido contactado el ruter local"
-#: 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 "la hora de la red i2p de 4 bytes según la parte remota (segundos desde la 'época')"
-#: 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 "datos de relleno sin interpretar, hasta 223 bytes"
-#: 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 "xor del hash de la identidad del ruter local y el SHA256 de los bytes desde el 32 hasta el 223"
-#: 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 "La comprobación de la conexión está completamente deshabilitada desde la versión 0.9.12."
-#: i2p2www/pages/site/docs/transport/ntcp.html:540
+#: i2p2www/pages/site/docs/transport/ntcp.html:539
msgid "Discussion"
msgstr "Discusión"
-#: 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 "Ahora en al Página de discusión de NTCP."
-#: 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 "El tamaño máximo del mensaje debería aumentarse hasta aproximadamente 32 KB"
-#: 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 \n"
@@ -12484,13 +12485,13 @@ msgid ""
"to create a limited number of message sizes."
msgstr "Un conjunto de tamaños de paquetes fijos podría ser apropiado para ocultar aún más la fragmentación de los datos a adversarios externos, pero el túnel garlic y el relleno de fin a fin deberían ser suficientes para la mayoría de las necesidades hasta entonces. Sin embargo, actualmente no se realiza el relleno más allá del límite de 16 bytes, para crear un número limitado de tamaños de mensajes."
-#: 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 "La utilización de la memoria (incluyendo la del kerne) para NTCP debería compararse con la del SSU."
-#: 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?"
@@ -12504,71 +12505,70 @@ msgstr "UDP Seguro Semifiable"
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
-msgstr "SSU (también llamado \"UDP\" en gran parte de la documentación de I2P y de los interfaces de usuario) es uno de los dos transportes actualmente implementados en I2P. El otro es NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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 "SSU es el más reciente de los dos transportes,\nintroducidos en la versión 0.6 de I2P.\nEn una instalación I2P standard, el router usa tanto NTCP como SSU para conexiones salientes.\nSSU-sobre-IPv6 está soportado desde la versión 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"
"but only up to a maximum number of times. After that, the message is dropped."
msgstr "SSU (UDP seguro semifiable) se llama \"semifiable\" porque retransmitirá repetidamente mensajes\nde no recibidos completamente, pero sólo hasta un número máximo de veces. Después de esto, el mensaje es descartado."
-#: i2p2www/pages/site/docs/transport/ssu.html:25
+#: i2p2www/pages/site/docs/transport/ssu.html:24
msgid "SSU Services"
msgstr "Servicios SSU"
-#: 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, including:"
msgstr "Al igual que el transporte NTCP, SSU proporciona un transporte de datos de punto-a-punto, orientado a conexión, fiable y. A diferencia de SSU, también proporciona detección de servicios de NAT transversales, incluyendo:"
-#: i2p2www/pages/site/docs/transport/ssu.html:33
+#: i2p2www/pages/site/docs/transport/ssu.html:32
msgid ""
"Cooperative NAT/Firewall traversal using introducers"
msgstr "NAT/cortafuego trasversal cooperativo usando introductores"
-#: 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 "Detección de la IP local inspeccionado los paquetes de entrada y la prueba de pares "
-#: 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 "Comunicación del estado del cortafuegos y de la IP local, y los cambios en cualquiera de ellos a NTCP "
-#: 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 "Vea debajo"
-#: i2p2www/pages/site/docs/transport/ssu.html:85
+#: i2p2www/pages/site/docs/transport/ssu.html:84
msgid "Protocol Details"
msgstr "Detalles del protocolo"
-#: i2p2www/pages/site/docs/transport/ssu.html:87
+#: i2p2www/pages/site/docs/transport/ssu.html:86
msgid "Congestion control"
msgstr "Control de congestión"
-#: 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"
@@ -12576,7 +12576,7 @@ msgid ""
"meant to be both efficient in bandwidth as well as simple to implement."
msgstr "Gracias a que SSU sólo necesita entrega semifiable, a una operativa\ncompatible con TCP, y a la capacidad para un alto rendimiento, esto\npermite un amplio abanico de posibilidades en el control de congestión.\nEl algoritmo de control de congestión esbozado debajo está pensado\npara ser tanto eficiente en ancho de banda, como fácil de implementar."
-#: 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"
@@ -12588,7 +12588,7 @@ msgid ""
"other messages."
msgstr "Los paquetes son programados de acuerdo con la política del ruter, teniendo cuidado de no exceder la capacidad de salida del ruter o de exceder la capacidad medida en el par remoto. La capacidad medida opera según el inicio lento y la prevención de la congestión de TCP, con aumentos que se suman a la capacidad de envío y disminuciones en caso de congestión. Al contrario que TCP, algunos ruters pueden renunciar a algunos mensajes despues de un periodo indicado o un número de retransmisiones, mientras que continúa transmitiendo otros mensajes."
-#: 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\n"
@@ -12601,48 +12601,48 @@ msgid ""
"retransmitted with any new updates."
msgstr "Las técnicas de detección de congestión tampoco son iguales a las de TCP, ya que cada mensaje tiene su identificador único y no secuencial, y cada mensaje tiene un tamaño limitado - como máximo, 32 KB. Para transmitir eficientemente esta respuesta al remitente, el receptor periódicamente incluye una lista de identificadores de mensaje totalmente 'ACKed' y también puede incluir campos de bits, 'bitfields', para los mensajes recibidos parcialmente, donde cada bit representa la recogida de un fragmento. Si llegan fragmentos duplicados, el mensaje deber ser 'ACKed' de nuevo, o si el mensaje aún no ha sido recibido en su totalidad, el bitfield debería ser retransmitido con cualquier nuevo cambio."
-#: 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 into\n"
"a packet and sends it off (careful not to exceed the MTU)."
msgstr "La implementación actual no rellena los paquetes a un tamaño en particular, en cambio simplemente coloca un solo fragmento de un mensaje dentro de un paquete y lo envía para fuera (con cuidado de no exceder el MTU)."
-#: 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"
"The MTU value is adjusted based on the percentage of packets that are retransmitted."
msgstr "A partir de la versión del ruter 0.8.12 se usan dos valores de MTU para IPv4: 620 y 1484. El valor del MTU es reajustado dependiendo del porcentaje de paquetes que es retrasnmitido."
-#: 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 "Para ambos valores MTU (unidad máxima de transmisión), es deseable que (MTU % 16 == 12), así que la porción de la carga tras la cabecera \nde 28-bytes IP/UDP es un múltiplo de 16 bytes, para propositos de cifrado."
-#: 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 "Para el valor más pequeño de MTU, es preferible empaquetar un mensaje de construcción de túnel variable de 2646 bytes eficientemente dentro de múltiples paquetes; el MTU de 620 bytes encaja bien dentro de 5 paquetes."
-#: 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"into a live network MTU anyway)."
msgstr "Basado en las mediciones, 1492 encaja en casi todos los mensajes I2NP razonablemente pequeños (los mensajes I2NP más grandes pueden ser desde 1900 hasta 4500 bytes, que de todas formas no encajarían dentro del MTU de la red)."
-#: 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 "Los valores del MTU eran 608 y 1492 para las versiones 0.8.9 - 0.8.11. El MTU largo era de 1350 en las versiones anteriores a la 0.8.9."
-#: 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"
@@ -12650,14 +12650,14 @@ msgid ""
"Prior to release 0.8.9 it was 2048 bytes."
msgstr "Para la versión 0.8.12 el tamaño máximo del paquete recibido es de 1571 bytes. Para las versiones 0.8.9 - 0.8.11 era de 1535 bytes. Para las versiones anteriores a 0.8.9 era de 2048 bytes. "
-#: 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"
"it will publish that in the network database, and other routers should\n"
"honor that when a connection is established."
msgstr "A partir de la versión 0.9.2, si el MTU del interfaz de red del ruter es menor de 1484, esto será publicado en la base de datos de la red, y los otros ruters deberían respetarlo cuando una conexión es establecida."
-#: 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"
@@ -12665,11 +12665,11 @@ msgid ""
" (max was 1472 prior to version 0.9.28)."
msgstr "Para IPv6, la MTU (unidad de transferencia máxima) es 1280. La cabecera\nIP/UDP de IPv6 es de 48 bytes, así que usamos una MTU donde\n(MTN % 16 == 0), lo que es cierto para 1280.\nEl valor máximo de MTU de IPv6 is 1488\n(el máximo era 1472 antes de la versión 0.9.28)."
-#: i2p2www/pages/site/docs/transport/ssu.html:175
+#: i2p2www/pages/site/docs/transport/ssu.html:174
msgid "Message Size Limits"
msgstr "Límites de los tamaños de mensaje"
-#: 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 128.\n"
@@ -12681,11 +12681,11 @@ msgid ""
"For connections using the larger MTU, larger messages are possible."
msgstr "Mientras que normalmente el tamaño máximo de un mensaje es de 32KB, los límites prácticos difieren. El protocolo limita el número de fragmentos a 7 bits, o 128. La implementación actual limita cada mensaje a un máximo de 64 fragmentos, lo cual es suficiente para, 64 * 534 = 33.3 KB, cuando se usa el MTU de 608. Debido al gasto de las claves de sesión y los LeaseSets incluidos, el límite práctico en el nivel de aplicación es alrededor de 6KB menos, o alrededor de 26KB. Se necesita más trabajo para poder aumentar el límite del transporte UDP por encima de 32KB. Para las conexiones que usan un MTU más largo, son posibles mensajes más largos."
-#: i2p2www/pages/site/docs/transport/ssu.html:198
+#: i2p2www/pages/site/docs/transport/ssu.html:197
msgid "Keys"
msgstr "Claves"
-#: 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"
@@ -12694,7 +12694,7 @@ msgid ""
"Bob's publicly knowable introKey is used for the MAC and encryption."
msgstr "Todo el cifrado que se usa es AES256/CBC con claves de 32 bytes e IVs (vectores de inicialización) de 16 bytes.\nCuando Alice origina una sesión con Bob, el MAC (código de autentificación de mensaje) y \nlas claves de sesión se negocian como parte de un intercambio DH (Diffie-Hellman), y luego se usan\nrespectivamente para el HMAC (MAC en un hash cifrado) y el cifrado (de la comunicación). Durante el intercambio DH, \nla introKey (clave de entrada) públicamente accesible de Bob se usa para el MAC y el cifrado (de la comunicación)."
-#: 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"
@@ -12704,7 +12704,7 @@ msgid ""
"Bob."
msgstr "Tanto el mensaje inicial como la subsiguiente respuesta usan\nla introKey (clave de introducción) de quien responde - quien responde no\nnecesita conocer la introKey del solicitante (Alice). La clave de firmado DSA\nusada por Bob ya debería ser conocida por Alice cuando ella contacte con\nél, aunque la clave DSA de Alice puede que aún no sea concocida por Bob."
-#: 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"
"with all established sessions - if there are matches,\n"
@@ -12716,7 +12716,7 @@ msgid ""
"it may be dropped anyway."
msgstr "Tras recibir un mensaje, el destinatario comprueba la dirección IP y el puerto \"desde\" de todas las sesiones establecidas - si hay coincidencias, las claves MAC de sesión son probadas en el HMAC. Si ninguna de esas se verifican, o si no coinciden con la IP, el receptor prueba su introKey en el MAC, si esta no se verifica, el paquete es denegado. Si se verifica, es interpretado de acuerdo el tipo de mensaje, aunque si el destinatario está sobrecargado, puede que también sea desechado."
-#: 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"
@@ -12728,7 +12728,7 @@ msgid ""
"new one."
msgstr "Si Alice y Bob tienen una sesión establecida, pero Alice pierde las claves por alguna razón y quiere contactar con Bob, ella puede simplemente establecer una nueva sesión a través del SessionRequest y los mensajes relacionados. Si Bob ha perdido la clave pero Alice no lo sabe, ella primero intentará que le responda, y si Bob continúa sin responder, ella asumirá que la clave se perdió y restablecerá una nueva."
-#: 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"
@@ -12736,18 +12736,18 @@ msgid ""
"MODP group (#14) is used:"
msgstr "Para el acuerdo de la clave DH, RFC3526 grupo MODP de 2048bit (#14) se utiliza:"
-#: 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 "Estos son los mismos p y g usados por el cifrado ElGamal de I2P."
-#: i2p2www/pages/site/docs/transport/ssu.html:254
+#: i2p2www/pages/site/docs/transport/ssu.html:253
msgid "Replay prevention"
msgstr "Prevención de Respuesta"
-#: 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"
@@ -12755,7 +12755,7 @@ msgid ""
"\"decay\" periodically so that only recently added IVs are detected."
msgstr "La prevención de respuesta en la capa SSU ocurre denegando paquetes excesivamente viejos o aquellos que reutilizan un IV. Para detectar IVs duplicados, se utilizan una secuencia de filtros Bloom para \"destruirlos\", y así sólo se detecten los IVs añadidos recientemente."
-#: 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"
@@ -12764,11 +12764,11 @@ msgid ""
"replay prevention - higher layers should take that into account."
msgstr "Los mensajesId usados en los DataMessages son definidos en capas por encima del transporte SSU y son pasados a través transparentemente. Estos IDs no están en un orden en particular - de hecho, es probable que sean totalmente aleatorios. La capa SSU no intenta hacer prevención de respuesta en los messageId - las capas superiores deberían tener esto en cuenta."
-#: i2p2www/pages/site/docs/transport/ssu.html:271
+#: i2p2www/pages/site/docs/transport/ssu.html:270
msgid "Addressing"
msgstr "Direccionamiento"
-#: 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"
@@ -12776,41 +12776,41 @@ msgid ""
"There is no restriction on the number of addresses a peer may have."
msgstr "Para contactar un par SSU, se necesita uno de estos datos: una dirección directa, para cuando el par sea accesible públicamente, o una dirección indirecta, para usar a un tercero para que introduzca al par. No hay restricción en el número de direcciones que un par puede tener."
-#: 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 "Cada una de las direcciones puede mostrar una serie de opciones - capacidades especiales para un par en particular. Para una lista de capacidades disponibles, vea más abajo."
-#: 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 "Las direcciones, opciones y capacidades son publicadas en la base de datos de la red."
-#: i2p2www/pages/site/docs/transport/ssu.html:296
+#: i2p2www/pages/site/docs/transport/ssu.html:295
msgid "Direct Session Establishment"
msgstr "Establecimiento de una sesión directa"
-#: 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 "El establecimiento de una sesión directa se usa cuando no hace falta un tercero para el NAT trasversal. La secuencia del mensaje es como sigue:"
-#: i2p2www/pages/site/docs/transport/ssu.html:302
+#: i2p2www/pages/site/docs/transport/ssu.html:301
msgid "Connection establishment (direct)"
msgstr "Establecimiento de la conexión (directa)"
-#: 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 "Alice conecta directamente con Bob.\nIPv6 está soportado desde la versión 0.9.8."
-#: 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"
@@ -12821,7 +12821,7 @@ msgid ""
"(i.e. 0x0000000000000002)."
msgstr "Después de que se haya recibido el SessionConfirmed, Bob envía un pequeño mensaje DeliveryStatus como confirmación. En este mensaje, el ID de 4 bytes es aleatorio, y el \"tiempo de llegada\" de 8 bytes es el ID de toda la red actual, el cual es 2 (por ejemplo 0x0000000000000002)."
-#: 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"
@@ -12831,7 +12831,7 @@ msgid ""
"however, this is not required."
msgstr "Después de que se envíe el mensaje de estado, \nlos pares (peers) habitualmente intercambian\nmensajes DatabaseStore\n(del almacenamiento de la base de datos) conteniendo sus\nRouterInfos\n(datos del router I2P), no obstante, esto no es necesario."
-#: 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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12839,7 +12839,7 @@ msgid ""
"the status message can be eliminated."
msgstr "No parece que importe el tipo del mensaje de estado o su contenidos . Se añadió originalmente porque el mensaje DatabaseStore era retardado varios segundos, desde que el mensaje es enviado inmediatamente, quizás el mensaje de estado se pueda eliminar."
-#: 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 now)\n"
@@ -12854,7 +12854,7 @@ msgid ""
"not necessary to any intermediary relay peer)."
msgstr "Las claves introductorias son enviadas a través de un canal externo (la base de datos de la red, donde son idénticos al Hash del ruter, por ahora) y tienen que ser usados cuando se establece la clave de sesión. Para la dirección indirecta, el par primero tiene que contactar un relayhost y preguntar por una introducción para el par conocido en el relayhost bajo la etiqueta dada. Si es posible, el relayhost envía un mensaje al par direccionado diciéndole que contacte el par que está solicitando, y también indica al par solicitante la IP y el puerto den donde se encuentra el par direccionado. Además, el par que está estableciendo la conexión ya tiene que conocer las claves públicas del par con el que está conectando (pero no necesariamente a ninguno de los pares intermediarios)."
-#: 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"
@@ -12874,26 +12874,26 @@ msgid ""
"full direction session establishment with the specified IP and port."
msgstr "El establecimiento de sesiones indirectas por parte de un tercero es necesario para el funcionamiento eficiente del NAT trasversal. Charlie, un ruter tras un NAT o cortafuegos que no permite paquetes UDP no solicitados de entrada, primero contacta con unos pocos pares, eligiendo algunos para usarlos como introductores. Cada uno de estos pares (Bob, Bill, Betty, etc) proporcionan a Charlie una etiqueta de introducción - un número aleatorio de 4 bytes -la cual él después hace público como una forma de contactarlo. Alice, un ruter que tiene publicado los métodos para contactar con Charlie, primero envía un paquete RelayReques a uno o más de los introductores, preguntando a cada uno para que le introduzca a Charlie (ofreciendo la etiqueta de introducción para identificar a Charlie). Bob entonces envía un paquete RelayIntro a Charlie incluyendo el puerto y la IP pública de Charlie. Cuando Charlie recibe el paquete RelayIntro, envía un pequeño paquete aleatorio al puerto e IP de Alice (creando un agujero en su NAT/cortafuegos), y cuando Alice recibe el paquete RelayResponse de Bob, ella empieza una establecimiento de sesión completamente nuevo con el puerto y la IP especificados. "
-#: i2p2www/pages/site/docs/transport/ssu.html:386
+#: i2p2www/pages/site/docs/transport/ssu.html:385
msgid "Connection establishment (indirect using an introducer)"
msgstr "Establecimiento de la conexión (usando un introductor indirecto)"
-#: 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 "Alice primero se conecta al Bob introductor, que reenvía la petición a Charlie."
-#: 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 "Después de la creación del agujero en el NAT, la sesión es establecida entre Alice y Charlie como si fuese directa."
-#: i2p2www/pages/site/docs/transport/ssu.html:420
+#: i2p2www/pages/site/docs/transport/ssu.html:419
msgid "Peer testing"
msgstr "Prueba del par"
-#: 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"
@@ -12902,7 +12902,7 @@ msgid ""
"quite simple:"
msgstr "La automatización del las pruebas colaborativas de accesibilidad de un par es habilitada por una secuencia de mensajes PeerTest. Con su buen funcionamiento, el par será capaz de determinar su estado de accesibilidad y puede actualizar su comportamiento de acuerdo con ello. El proceso de prueba es bastante simple:"
-#: 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"
@@ -12912,7 +12912,7 @@ msgid ""
"that may be reached are as follows:"
msgstr "Cada uno de los mensajes PeerTest lleva un nonce identificando las series de pruebas, como fueron inicializadas por Alice. Si Alice no recibe un mensaje en particular que estuviese esperando, ella retransmitirá de acuerdo con ello, y basándose en los datos recibidos o en los mensajes perdidos, ella conocerá su estado de accesibilidad. Los estados a los que puede llegar son:"
-#: 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"
@@ -12922,7 +12922,7 @@ msgid ""
"Charlie to reply."
msgstr "Si no recibe una respuesta de Bob, ella retransmitirá un número de veces dado, pero si nunca llega una respuesta, ella sabrá que su cortafuegos o NAT están desconfigurados de alguna forma, denegando todos los paquetes UDP de entrada incluso con una respuesta directa a un paquete de salida. Alternativamente, Bob puede estar caído o incapaz de hacer que Charlie responda."
-#: 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"
@@ -12934,7 +12934,7 @@ msgid ""
"IP and port that Bob offered up should be forwarded)."
msgstr "Si Alice no recibe un mensaje PeerTest con el nonce esperado de una tercera parte (Charlie), retransmitirá su petición inicial a Bob un cierto número de veces, incluso si ya ha recibido la respuesta de Bob. Si el primer mensaje de Charlie no pasa a través, pero el de Bob sí, ella sabe que está tras un NAT o cortafuegos que deniega los intentos de conexiones no solicitadas y que el reenvío de ese puerto no funciona correctamente (la IP y el puerto que Bob ofrece deberían estar reenviados/forwarded)."
-#: 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"
@@ -12945,7 +12945,7 @@ msgid ""
"remote connectivity, ignoring further port discovery."
msgstr "Si Alice recibe el mensaje PeerTest de Bob y los dos mensajes PeerTest de Charle, pero la IP y el puerto de Bob adjuntos y el segundo mensaje de Charlie no coinciden, ella sabe que está bajo un NAT simétrico que está reescribiendo todos sus paquetes de salida con los puertos 'desde' cambiados para cada uno de los pares contactados. Ella necesitará abrir explícitamente un puerto y tener ese puesto expuesto siempre a las conexiones remotas, ignorando cualquier búsqueda de puertos futura."
-#: 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"
@@ -12953,7 +12953,7 @@ msgid ""
"that Charlie is either confused or no longer online."
msgstr "Si Alice recibe el primer mensaje de Charlie pero no el segundo, ella retransmitirá su mensaje PeerTest a Charlie un cierto número de veces, pero si no se recibe ninguna respuesta sabrá que o Charlie está confundido o no está encendido."
-#: 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"
@@ -12964,7 +12964,7 @@ msgid ""
"to designate a new peer as Bob and try again with a different nonce."
msgstr "Alice debería elegir a Bob arbitrariamente entre los pares conocidos que parezcan ser capaces de participar el las pruebas de pares. Bob a su vez debería elegir a Charlie arbitrariamente entre los pares conocidos que parezcan ser capaces de participar el las pruebas de pares y que están en una IP diferente a la de Bob y Alice. Si ocurre la primera condición de error (Alice no recibe el mensaje PeerTest de Bob), Alice puede decidir designar un nuevo par como Bob e intentar de nuevo con un nonce diferente."
-#: 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"
@@ -12973,11 +12973,11 @@ msgid ""
"with either Bob or Charlie, but it is not required."
msgstr "La clave de introducción de Alice es incluida en todos los mensajes PeerTest para que no necesite una conexión ya establecida con Bob y para que Charlie pueda contactar con ella sin necesidad de tener más datos. Alice puede establecer una sesión con Bob o Charlie, pero no es necesario."
-#: i2p2www/pages/site/docs/transport/ssu.html:527
+#: i2p2www/pages/site/docs/transport/ssu.html:526
msgid "Transmission window, ACKs and Retransmissions"
msgstr "Window,ventana, de retransmisión, ACKs y Retrasmisiones"
-#: 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"
@@ -12987,7 +12987,7 @@ msgid ""
"for details."
msgstr "El mensaje de DATOS puede contener ACKs de mensajes completos y ACKs parciales de fragmentos individuales de un mensaje. Vea la sección de los mensajes de datos de la página de especificación del protocolo para más detalles."
-#: 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 specified\n"
@@ -13000,11 +13000,11 @@ msgid ""
"See the code for initial, min and max parameters."
msgstr "Los detalles de las Windows, ACKS y las estrategias de retransmisión no se especifican aquí. Vea el código de Java para ver la implementación actual. Durante la fase de establecimiento, y para las pruebas de pares, los ruters deberían implementar backoff exponencial para la retransmisión. Para una conexión establecida, los ruters deberían implementar una ventana de retransmisión ajustable, RTT estimado y tiempo de espera, similar al TCP o streaming. Vea el código para los valores iniciales, mínimos y máximos."
-#: i2p2www/pages/site/docs/transport/ssu.html:548
+#: i2p2www/pages/site/docs/transport/ssu.html:547
msgid "Security"
msgstr "Seguridad"
-#: 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"
@@ -13013,105 +13013,105 @@ msgid ""
"Also, certain actions and responses may need to be rate-limited."
msgstr "La dirección de la fuente UDP puede, por supuesto, ser falseada. Adicionalmente, las IPs y los puertos contenidos en los mensajes SSU específicos (RelayRequest, RelayResponse, RelayIntro, PeerTest) puede que no sean legítimos. Además, algunas acciones y respuestas pueden necesitar de ser vueltas a limitar."
-#: 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 "Los detalles de validación no están especificados aquí. Los desarrolladores deberían añadir defensas donde sea apropiado."
-#: i2p2www/pages/site/docs/transport/ssu.html:563
+#: i2p2www/pages/site/docs/transport/ssu.html:562
msgid "Peer capabilities"
msgstr "Capacidades del par"
-#: 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 "Si la dirección del par contiene la capacidad 'B', esto significa que desea y puede participar en una prueba de par como un 'Bob' o como un 'Charlie'."
-#: 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 "Si la dirección del par contiene la capacidad 'C', esto significa que desea y puede servir como un introductor - funcionando como un Bob para un Alice, que de otra forma dería inaccesible."
-#: 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"performance, is a topic for future work."
msgstr "El análisis del rendimiento actual del SSU es un tema para un trabajo futuro, incluyendo la valoración del ajuste del tamaño de ventana y otros parámetros, y el ajuste de la implementación del protocolo para mejorar el rendimiento."
-#: 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 "La implementación actual envía repetidamente reconocimientos para los mismos paquetes, lo que aumenta la sobrecarga innecesariamente."
-#: 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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? Probably not."
msgstr "El pequeño valor por defecto del MTU de 620 debería ser analizado y probablemente aumentado. La estrategia actual de adaptación del MTU debería ser evaluada. ¿Cabe un paquete de streaming de 1730 bytes en 3 paquetes pequeños SSU? Probablemente no."
-#: 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 "El protocolo debería ser ampliado para intercambiar MTUs durante la configuración."
-#: 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 "La renovación de claves actualmente no está implementada y puede que nunca lo esté."
-#: 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"
"and use of the padding field in SessionRequest and SessionCreated, is undocumented."
msgstr "El uso potencial de los campos \"desafío\" en el RelayIntro y en el RelayResponse, y el uso del campo de relleno en el SessionRequest en el SessionCreated, no están documentados."
-#: 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 packet,\n"
"so long as it doesn't exceed the MTU."
msgstr "En vez de un sólo fragmento por paquete, una estrategia más eficiente podría ser el juntar varios fragmentos de mensajes dentro del mismo paquete, mientras no exceda el MTU."
-#: 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 \n"
"end padding should be sufficient for most needs until then."
msgstr "Un conjunto de tamaños de paquetes podría ser apropiado para la ocultación futura de la fragmentación de los datos a adversarios externos, pero el túnel, garlic, y un relleno de fin a fin deberían ser suficiente para la mayoría de las necesidades hasta entonces."
-#: 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 "¿Por qué son las claves de introducción las mismas que el hash del ruter, deberían cambiarse, habría algún beneficio?"
-#: i2p2www/pages/site/docs/transport/ssu.html:634
+#: i2p2www/pages/site/docs/transport/ssu.html:633
msgid "Capacities appear to be unused."
msgstr "Las capacidades parecen estar sin usar."
-#: 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 "Los tiempos acordados en SessionCreated (sesión creada) y SessionConfirmed (sesión confirmada) parecen estar sin usar o verificar."
-#: i2p2www/pages/site/docs/transport/ssu.html:643
+#: i2p2www/pages/site/docs/transport/ssu.html:642
msgid "Implementation Diagram"
msgstr "Diagrama de implementación"
-#: 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 "El diagrama debe reflejar con exactitud la implementación actual, sin embargo puede haber muchas diferencias pequeñas."
-#: i2p2www/pages/site/docs/transport/ssu.html:652
+#: i2p2www/pages/site/docs/transport/ssu.html:651
msgid "Now on the SSU specification page"
msgstr "En la actualidad en la página de especificación SSU (UDP seguro semiconfiable)"
diff --git a/i2p2www/translations/es/LC_MESSAGES/get-involved.po b/i2p2www/translations/es/LC_MESSAGES/get-involved.po
index fcba11ea..b5cd270e 100644
--- a/i2p2www/translations/es/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/es/LC_MESSAGES/get-involved.po
@@ -17,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Trolly\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: strel\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -319,40 +319,65 @@ msgid ""
"Detailed instructions are on our reseed server page."
msgstr "Establezca un servidor de resembrado para que nuevos routers I2P se inicialicen desde él.\nLas instrucciones detalladas están en nuestra página del servidor de resembrado."
+#: 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 "Hoja de ruta"
-#: i2p2www/pages/site/get-involved/roadmap.html:3
-msgid "March 2018"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "Enero de 2016"
-#: 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 "Mapeado de accesibilidad / manejar los pares parcialmente accesibles / mejorar los ruters restringidos"
-#: 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 "Rutas restringidas"
-#: 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 "Mezclado y relleno de los túneles"
-#: 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 "Mensajes con el retraso definido por los usuarios"
-#: 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 "Por favor, vea la lista TODO , por hacer, para obtener información mas detallada sobre estas tareas."
+#: i2p2www/pages/site/get-involved/roadmap-2017.html:3
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:3
+msgid "January 2017"
+msgstr "Enero de 2017"
+
+#: 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 "Objetivos del proyecto I2P"
@@ -1981,6 +2006,14 @@ msgid ""
"See developers' license agreements."
msgstr "Si alguien advierte alguna instancia donde las condiciones anteriores no se \ncumplen, por favor contacte con el encargado del componente y/o con el \nadministrador de versiones de I2P con información detallada. \nVea los acuerdos de licencia del desarrollador."
+#: 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 "Clave de firmado de la versión"
@@ -2117,10 +2150,6 @@ msgstr "Alguno de los desarrolladores ha incluído sus claves Monotone en sus new developers guide first."
@@ -2987,57 +3016,61 @@ msgstr "Los permisos se otorgan editando los ficheros\n/etc/monotone/read-
msgid "New Developer's Guide"
msgstr "Guía para nuevos desarrolladores"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:5
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+#: 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:32
msgid "Basic study"
msgstr "Estudios básicos"
-#: 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:7
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:46
msgid "Getting the I2P code"
msgstr "Obteniendo el código de I2P"
-#: 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 "La manera fácil: Git"
-#: 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 "La manera adecuada: Monotone"
-#: 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 "Compilando I2P"
-#: 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 "Ideas para desarrollar"
-#: 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 "Haciendo que los resultados estén disponibles"
-#: 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 "¡Conózcanos!"
-#: 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 "Traducciones"
-#: 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 "Herramientas"
-#: 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"
@@ -3045,7 +3078,7 @@ msgid ""
"on contributing to the website or the software, doing development or creating translations."
msgstr "\n¿Entonces, quiere empezar a trabajar en I2P? ¡Bien! Aquí tiene una pequeña guía de como empezar contribuyendo, con la web o con el software, programando código o traduciendo."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:26
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
#, python-format
msgid ""
"\n"
@@ -3053,13 +3086,13 @@ msgid ""
"Try getting involved first."
msgstr "\n¿Aún no está listo para programar? Pruebe primero a involucrarse en el proyecto."
-#: 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"
"If you don't have experience with Java, you can always have a look at Thinking in Java."
msgstr "El desarrollo básico del ruter de I2P y de las aplicaciones del núcleo utilizan Java como lenguaje de programación. Si no tiene experiencia con Java, siempre puede echarle un ojo a Thinking in Java."
-#: 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"
@@ -3069,28 +3102,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what different things it does."
msgstr "Estudie la introducción de cómo, los otros \"como\" documentos, la introducción técnica, y los documentos asociados. Esto le dará una buena vista general de como está estructurado y de qué otras cosas hace I2P."
-#: 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 "Para desarrollo sobre el router I2P o las aplicaciones integradas,\nhay dos manera de obtener el código fuente:"
-#: 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 "Instale Git."
-#: 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 "Obtenga el código de la réplica (mirror) de GitHub:"
-#: 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 "Notas"
-#: 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 for\n"
@@ -3099,106 +3132,106 @@ msgid ""
"manually by turning them into patches anyway."
msgstr "El repositorio Git actualmente es una réplica (mirror) de sólo-lectura. Si desea\nusarlo sólo para desarrollo, necesitara remitir parches a nuestro\nrastreador de problemas. Podemos aceptar peticiones de incorporación\n(pull) de GitHub, pero se deben procesar manualmente conviertiéndolas en\nparches de todos modos."
-#: 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea)."
msgstr "Instale monotone. Monotone es un sistema de control de versiones. Lo utilizamos porque nos permite llevar el control de quien cambia el código (y muchas cosas complicadas más, pero el control de los cambios es el motivo principal)"
-#: 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 "Eche una ojeada al tutorial de monotone para asegurarse de que entiende los conceptos"
-#: 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 "Si desea permanecer anónimo necesita un paso adicional, configurar una conexión al servidor de monotone a través de I2P:"
-#: 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 "Habilita el túnel de cliente de i2ptunnel en el puerto 8998 apuntando a mtn.i2p-projekt.i2p."
-#: 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 "Elija un directorio donde quiera poner todos los archivos de I2P, y cree una base de datos para monotone:"
-#: 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 "Defina la lista de confianza creando ~/.monotone/monotonerc
(o _MTN/monotonerc
en el área de trabajo de i2p.i2p ) con el siguiente contenido:"
-#: 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
msgstr "Copie y pegue las claves de los desarrolladores en un nuevo archivo (por ejemplo mtn -d i2p.mtn read < keys.txt
keys.txt
) en el mismo directorio que está i2p.mtn
. Importe las claves a su base de datos con
"
-#: 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 "Descargue el código de I2P a su ordenador. ¡Puede tardar bastante, sobre todo si lo hace a través de I2P!"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:104
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
msgid "Anonymously:"
msgstr "Anónimamente:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Sin anonimato:"
-#: 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 "Todo el código esta ahora en su ordenador, en al archivo de la base de datos. Para hacerlo accesible en el directorio necesita ejecutar:"
-#: 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 "El comando anterior crea el directorio i2p.i2p, el cual contiene todo el código de I2P."
-#: 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 "\nPara descargar la página web en vez del código use 'i2p.www' en vez de 'i2p.i2p'."
-#: 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 left off.\n"
"If you are in a hurry, use the non-anonymous access."
msgstr "La descarga inicial puede tardar varias horas. Si falla después de una descarga parcial, simplemente vuelva a ejecutar el mismo comando y empezará donde lo dejó. Si tiene prisa use el sistema de acceso no anónimo"
-#: 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 "Una lista completa de servidores de descarga, incluyendo i2p.i2p y i2p.www puede encontrarse en viewmtn."
-#: 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 "Una explicación completa de cómo usar monotone está disponible en la web de monotone."
-#: 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, or equivalent JDK\n"
@@ -3208,21 +3241,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
msgstr "Para compilar el código necesita Sun Java Development Kit 6 o mayor, o el JDK equivalente (Sun JDK 6 recomendado) y Apache ant versión 1.7.0 o mayor. Si va a trabajar en al código principal de I2P puede entrar al directorio i2p.i2p y ejecutar 'ant' para ver las opciones de compilación."
-#: 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 "Para trabajar en la traducción de la consola necesita las herramientas gettext, msgfmt, y msgmerge del paquete GNU gettext."
-#: 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 "Para programar nuevas aplicaciones vea la guía de desarrollo de aplicaciones."
-#: 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"
@@ -3231,67 +3264,67 @@ msgid ""
"for ideas."
msgstr "Para hacerse una idea vea la listaTODO, por hacer, de zzz, el TODO de esta web o el Trac."
-#: 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
msgstr "Mira en la parte de abajo de la página de licencias para conocer los requisitos. Los necesita para poder aportar código a i2p.i2p (¡pero no para la página web!)"
-#: 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 "Versión corta de cómo generar y usar las claves si tiene planeado hacer aportes:"
-#: 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 "use una contraseña vacía, sin contraseña"
-#: 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 "escriba una contraseña"
-#: 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 "envíe esto al administrador del repositorio de mtn para tener permisos para aportar:"
-#: 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 "envíe esto al encargado de las versiones para obtener los permisos para aportar - no se requiere para la página web"
-#: 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 "loguee con esta clave"
-#: 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 "envíe los cambios al servidor con esta clave"
-#: 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 "Versión completa: vea la web de monotone."
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular developers."
msgstr "Los desarrolladores suelen estar en el IRC. Puede contactar con ellos en la red Freenode, OFTC, y en la en el IRC de I2P. El lugar usual es #i2p-dev. ¡Únase al canal y diga hola!. También hay guías adicionales para desarrolladores."
-#: 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 New Translator's Guide\n"
"for next steps."
msgstr "Traductores de la consola del ruter y la página web: Vea la guía de nuevos traductores."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3300,7 +3333,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr "I2P es una aplicación de código libre y es desarrollada usando herramientas libres. El proyecto I2P ha adquirido recientemente una licencia para YourKit Java Profiler. Los proyectos libres pueden obtener una licencia gratis mientras se haga referencia a YourKit en las webs del proyecto. Por favor pónganse en contacto su está interesado en la depuración y optimización del código base de I2P."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/es/LC_MESSAGES/priority.po b/i2p2www/translations/es/LC_MESSAGES/priority.po
index 2891cfb4..24d086fd 100644
--- a/i2p2www/translations/es/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/es/LC_MESSAGES/priority.po
@@ -23,9 +23,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: strel\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -80,29 +80,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Los paquetes de Debian han sido probados y deberían funcionar en las plataformas x86/x86_64 ejecutando:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Precise 12.04 y posteriores)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy y más recientes)"
-#: 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 report any issues\n"
@@ -110,73 +109,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Los paquetes I2P puede que funcionen en los sistemas no listados más abajo. Por favor, reporte cualquier problema con los paquetes en el Trac en https://trac.i2p2.de. "
-#: 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 "Opción 1: Versiones recientes de Ubuntu y sus derivados (Pruebe esto si no usa Debian)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Opción 2: Debian (Incluidos derivados de Debian)"
-#: 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 "Añadir el PPA desde la línea de comandos e instalar I2P"
-#: i2p2www/pages/downloads/debian.html:39
+#: i2p2www/pages/downloads/debian.html:38
msgid "Open a terminal and enter:"
msgstr "Abra un terminal e introduzca:"
-#: 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 "Este comando añadirá el PPA (archivo de paquetes personal) a su /etc/apt/sources.list.d\ny obtendrá la clave GPG del repositorio que lo ha firmado. La clave GPG garantiza que los paquetes no han sido modificados desde que se crearon."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "Notifique a su gestor de paquetes el nuevo PPA introduciendo:"
-#: 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 "Este comando obtendrá la última lista de aplicaciones de cada\nrepositorio que esté habilitado en su sistema, incluyendo\nel PPA de I2P que hemos añadido anteriormente."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "¡Ahora está listo para instalar I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Añadir el PPA usando Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Abra Synaptic (Sistema -> Administración -> Gestor de paquetes Synaptic)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Una vez se abra Synaptic, seleccione Repositorios en el menú Configuración."
-#: i2p2www/pages/downloads/debian.html:73
+#: i2p2www/pages/downloads/debian.html:72
msgid ""
"Click the Other Sources tab and click Add. Paste mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Haga clic en la pestaña Otras fuentes y seleccione Añadir. Pegue ppa:i2p-maintainers/i2p
en el campo la línea-APT y pulse Añadir fuente. Pulse el botón Cerrar y luego Recargar."
-#: 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 "
@@ -185,85 +184,105 @@ msgid ""
" Mark then Apply."
msgstr "En la casilla de Filtrado Rápido escriba i2p
y pulse Intro. Cuando devuelva i2p
en la lista de resultados, haga clic con el botón secundario sobre i2p
y seleccione Marcar para instalación. Después de hacer esto puede que vea un cuadro emergente que diga ¿Marcar cambios adicionales?. Si es así, pulse Marcar y luego Aplicar."
-#: 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 "Tras completar el proceso de instalación puede pasar a la siguiente\nparte de la inicialización de I2P, y configurarlo para su sistema."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instrucciones para Debian"
-#: 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\")."
-msgstr "Nota: Los siguientes pasos deberían ejecutarse con acceso de administrador (por ejemplo cambiando al usuario root con \"su\" o ejecutando los comandos con \"sudo\" delante)."
+"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
."
-msgstr "Añada líneas como las siguientes al %(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:"
-msgstr "Descargue la clave usada para firmar el repositorio y añádala con 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 "Notifique a su gestor de paquetes del nuevo repositorio ejecutando"
-#: 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 step\n"
"1."
msgstr "Este comando descargará la uĺtima lista de aplicaciones de cada repositorio activo en sus sistema, incluyendo el repositorio de I2P añadido en el paso 1."
-#: 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 "¡Ahora está listo para instalar I2P! Al instalar el paquete con el anillo de claves
se asegurará que recibe las actualizaciones para la clave GPG del repositorio."
-#: 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 "Tras completar el proceso de instalación puede pasar a la siguiente parte de la inicialización de I2P, y configurarlo para su sistema."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Nota: Si la dirección https no funcione, opte por:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Cambiar la dirección del repositorio a http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Tareas post-instalación"
-#: 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 "El router I2P se puede iniciar usando estos paquetes I2P de las tres maneras siguientes:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""a petición" usando el script i2prouter. Simplemente ejecute\n"i2prouter start
" en una línea de comandos.\n(Nota: ¡No utilice sudo ni lo ejecute como root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -271,14 +290,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""a petición" sin el java service wrapper (encapsulador como servicio para java, \nnecesario en sistemas no-Linux/no-x86) ejecutando \"i2prouter-nowrapper
\".\n(Nota: ¡No utilice sudo ni lo ejecute como root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "como un servicio que se ejecuta automáticamente al arrancar el sistema, \nincluso antes de abrir sesión de usuario del sistema. Este servicio puede \nactivarse ejecutando \"dpkg-reconfigure i2p
\" como root, o usando sudo. \nEsta es la forma recomendada de hacerlo."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -286,14 +305,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Si puede, cuando instale por primera vez, recuerde ajustar su NAT/cortafuegos. Los puertos a abrir pueden verse en la web de configuración de la red en la consola del ruter. Si necesita un guía para abrir sus puertos, la web portforward.com puede serle de utilidad."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Por favor revise y ajuste las configuraciones de ancho de banda\nen la página de configuración, ya que los valores por defecto de\n96 KB/s de bajada / 40 KB/s de subida son bastante conservadores. "
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/fa/LC_MESSAGES/docs.po b/i2p2www/translations/fa/LC_MESSAGES/docs.po
index fffd7b4a..828dd084 100644
--- a/i2p2www/translations/fa/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/fa/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Persian (http://www.transifex.com/otf/I2P/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -145,7 +147,7 @@ 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: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 ""
@@ -391,160 +393,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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2535,7 +2536,7 @@ msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
#: i2p2www/pages/site/docs/api/i2ptunnel.html:165
msgid "Standard"
-msgstr ""
+msgstr "استاندارد"
#: i2p2www/pages/site/docs/api/i2ptunnel.html:56
msgid ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 ""
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/fa/LC_MESSAGES/get-involved.po b/i2p2www/translations/fa/LC_MESSAGES/get-involved.po
index 934968ce..fcfd2522 100644
--- a/i2p2www/translations/fa/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/fa/LC_MESSAGES/get-involved.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: NoProfile\n"
"Language-Team: Persian (http://www.transifex.com/otf/I2P/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "ژانویه 2016"
-#: 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/fa/LC_MESSAGES/priority.po b/i2p2www/translations/fa/LC_MESSAGES/priority.po
index 36c8f7f6..ae0646cf 100644
--- a/i2p2www/translations/fa/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/fa/LC_MESSAGES/priority.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: arashaalaei mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "روی زبانه Other Sources کلیک کنید و Add را انتخاب کنید. این کد را در قسمت APT-line وارد کنید ppa:i2p-maintainers/i2p
و روی Add Source کلیک کنید. روی Close کلیک کنید و سپس روی Reload."
-#: 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,85 +172,105 @@ msgid ""
" 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 "بعد از پایان عملیات نصب میتوانید به مرحله بعد شروع I2P رفته و آن را برای سیستم خود پیکربندی کنید"
-#: 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\")."
-msgstr "نکته: مرحله قبل باید با دسترسی ریشه انجام شود (برای مثال تغییر کاربر به روت با \"su\" یا با استفاده از پیشوند \"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
."
-msgstr "خطوط را مانند کد زیر وارد کنید %(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:"
-msgstr " کلید استفاده شده برای امضای مخزن را دانلود کرده و آن را 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 step\n"
"1."
msgstr "این دستور آخرین فهرست نرمافزارها را از همه\nمخازن فعال شده در دستگاه شما بازیابی میکند ،که شامل مخزن I2P نیز میشود که در مرحله\n1 افزوده شد."
-#: 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 "شما اکنون آماده نصب I2P هستید ! نصب بسته ی i2p-keyring
این اطمینان رو به شما میدهد که بروزرسانی ها را با کلید GPG مخازن دریافت خواهید کرد."
-#: 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 "با استفاده از این بسته های I2P ، روتر I2P را میتوان با یکی از این سه روش اجرا کرد:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"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"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -259,14 +278,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -274,14 +293,14 @@ msgid ""
"you may find portforward.com to be 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/fi/LC_MESSAGES/docs.po b/i2p2www/translations/fi/LC_MESSAGES/docs.po
index 237d5431..4530aa5d 100644
--- a/i2p2www/translations/fi/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/fi/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Finnish (http://www.transifex.com/otf/I2P/language/fi/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,11 @@ msgstr ""
msgid "Index to Technical Documentation"
msgstr "Teknisen dokumentaation hakemisto"
-#: 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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -145,7 +147,7 @@ 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: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 ""
@@ -391,160 +393,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 "Vikaseuraaja"
-#: 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 "Tiekartta"
-#: 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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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 "Asetukset"
-#: 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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 "Sulje"
-#: 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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 ""
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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 "Turvallisuus"
-#: 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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/fi/LC_MESSAGES/get-involved.po b/i2p2www/translations/fi/LC_MESSAGES/get-involved.po
index 739aa70c..25253e18 100644
--- a/i2p2www/translations/fi/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/fi/LC_MESSAGES/get-involved.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: outolumo ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3198,21 +3231,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3221,67 +3254,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3290,7 +3323,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/fi/LC_MESSAGES/priority.po b/i2p2www/translations/fi/LC_MESSAGES/priority.po
index b7cdd5c8..eb2768c6 100644
--- a/i2p2www/translations/fi/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/fi/LC_MESSAGES/priority.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Mikko Harhanen mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Napsauta Muut lähteet-välilehteä ja napsauta Lisää. Liitä ppa:i2p-ylläpitäjät/i2p
APT-rivikentälle ja napsauta Lisää lähde. Napsauta Sulje-painiketta, sitten Lataa uudelleen."
-#: 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 "
@@ -171,85 +170,105 @@ msgid ""
" 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 "Ohjeita Debianille"
-#: 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
."
-msgstr "Lisää rivejä, kuten seuraava %(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 step\n"
"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 "Asennuksen jälkeen"
-#: 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 "Käyttämällä näitä I2P-pakkauksia I2P-reitin voidaan käynnistää seuraavilla kolmella tavalla:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""tarvittaessa" käyttää i2prouter-skriptiä. Suorita yksinkertaisesti "i2prouter\nstart
" komentoriviltä. (Huomaa: Älä käytä\nsudo-komentoa tai älä suorita root-käyttäjänä!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -257,14 +276,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""tarvittaessa" ilman java-palvelukäärintä\n(tarvittu non-Linux/non-x86-järjestelmissä) suorittamalla \"i2prouter-nowrapper
\".\n(Huomaa: Älä\nkäytä sudo-komentoa tai älä suorita root-käyttäjänä!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "palveluna, joka suoritetaan automaattisesti järjestelmän käynnistyessä, jopa ennen kirjautumista. Palvelu voidaan ottaa käyttöön \"dpkg-reconfigure\ni2p
\" root-käyttäjänä tai käyttämällä sudo-komentoa. Tämä on suositeltu toimintamuoto."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -272,14 +291,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Muista ensimmäistä kertaa asennettaessa säätää NAT/palomuurisi\njos voit. Odotetut portit löytyvät -verkkoasetussivulta reititinkonsolissa. Jos tarvitaan opastusta odotetusta portista,\nsaatat huomata osoitteen portforward.com hyödylliseksi."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/fr/LC_MESSAGES/blog.po b/i2p2www/translations/fr/LC_MESSAGES/blog.po
index ad277e64..7114f952 100644
--- a/i2p2www/translations/fr/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/fr/LC_MESSAGES/blog.po
@@ -7,8 +7,8 @@
# bassmax, 2014
# Boxoa590, 2013
# _Flo_ 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 and Message 4.\n"
@@ -12211,11 +12212,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"
@@ -12227,157 +12228,157 @@ 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 "Taille:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:210
+#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Contenu:"
-#: 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 "Notes:"
-#: 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12385,21 +12386,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12407,11 +12408,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12421,58 +12422,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 "Discussion"
-#: 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 \n"
@@ -12481,13 +12482,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?"
@@ -12501,71 +12502,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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 "La traversée coopérative d’une traduction d’adresses réseau ou d’un pare-feu en utilisant des proposeurs"
-#: 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"
@@ -12573,7 +12573,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"
@@ -12585,7 +12585,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\n"
@@ -12598,48 +12598,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12647,14 +12647,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12662,11 +12662,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 128.\n"
@@ -12678,11 +12678,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 "Clés"
-#: 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"
@@ -12691,7 +12691,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"
@@ -12701,7 +12701,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"
"with all established sessions - if there are matches,\n"
@@ -12713,7 +12713,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"
@@ -12725,7 +12725,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"
@@ -12733,18 +12733,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"
@@ -12752,7 +12752,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"
@@ -12761,11 +12761,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"
@@ -12773,41 +12773,41 @@ 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"
@@ -12818,7 +12818,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"
@@ -12828,7 +12828,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12836,7 +12836,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 now)\n"
@@ -12851,7 +12851,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"
@@ -12871,26 +12871,26 @@ 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 "L’établissement d’une connexion (indirecte en utilisant un proposeur)"
-#: 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 "Alice se connecte d’abord au proposeur Bob qui relaie la requête à Charlie."
-#: 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"
@@ -12899,7 +12899,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"
@@ -12909,7 +12909,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"
@@ -12919,7 +12919,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"
@@ -12931,7 +12931,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"
@@ -12942,7 +12942,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"
@@ -12950,7 +12950,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"
@@ -12961,7 +12961,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"
@@ -12970,11 +12970,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"
@@ -12984,7 +12984,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 specified\n"
@@ -12997,11 +12997,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 "Sécurité"
-#: 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"
@@ -13010,105 +13010,105 @@ 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 "Si l’adresse du pair contient la capacité « C », cela signifie qu’il est d’accord et peut servir de proposeur, servant de Bob à une Alice autrement inaccessible."
-#: 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/fr/LC_MESSAGES/get-involved.po b/i2p2www/translations/fr/LC_MESSAGES/get-involved.po
index 2271a033..2b3ec1fa 100644
--- a/i2p2www/translations/fr/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/fr/LC_MESSAGES/get-involved.po
@@ -5,7 +5,7 @@
# Translators:
# bassmax, 2014
# Boxoa590, 2013
-# French language coordinator /etc/monotone/rea
msgid "New Developer's Guide"
msgstr "Guide du nouveau développeur"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:5
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+#: 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:32
msgid "Basic study"
msgstr "Étude basique"
-#: 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:7
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:46
msgid "Getting the I2P code"
msgstr "Obtenir le code de I2P"
-#: 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 "La manière facile : Git"
-#: 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 "La manière appropriée : Monotone"
-#: 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 "Construire I2P"
-#: 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 "Idées de développement"
-#: 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 "Rendre disponibles les résultats"
-#: 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 "Apprenez à nous connaître !"
-#: 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 "Traductions"
-#: 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 "Outils"
-#: 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"
@@ -3045,7 +3078,7 @@ msgid ""
"on contributing to the website or the software, doing development or creating translations."
msgstr "\nDonc vous voulez commencer à travailler sur I2P ? Très bien !\nVoici un guide rapide pour commencer\nen contribuant au site web ou au logiciel, faire du développement ou créer des traductions."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:26
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
#, python-format
msgid ""
"\n"
@@ -3053,13 +3086,13 @@ msgid ""
"Try getting involved first."
msgstr "\nPas tout à fait prêt pour programmer ?\nessayez d’abord de devenir impliqué."
-#: 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"
"If you don't have experience with Java, you can always have a look at Thinking in Java."
msgstr "Le développement de base concernant le routeur I2P ou les applications embarquées utilisent Java comme principal langage de développement.\nSi vous n’avez pas d’expérience avec Java, vous pouvez toujours regarder Thinking in Java."
-#: 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"
@@ -3069,28 +3102,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what different things it does."
msgstr "Étudiez laprésentation « Comment », les autres documents « Comment », laprésentation « Tech » et les documents connexes.\nIls vous donneront une bonne vue d’ensemble de la structure d’I2P et de la fonction de différents éléments."
-#: 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 "Pour développement concernant le routeur I2P ou les applications incorporées,\nil y a deux façons d’obtenir le code source :"
-#: 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 "Installer Git."
-#: 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 "Obtenir le code depuis le miroir GitHub:"
-#: 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 "Remarques"
-#: 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 for\n"
@@ -3099,106 +3132,106 @@ msgid ""
"manually by turning them into patches anyway."
msgstr "Le dépôt Git est actuellement un miroir en lecture seule. Si vous souhaitez l’utiliser pour le développement, vous devrez soumettre vos correctifs à notre système de suivi de problèmes. Nous pouvons accepter les requêtes d’extraction vers GitHub, mais elles doivent être traitées manuellement en les transformant en correctifs de toute façon."
-#: 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea)."
msgstr "Installez Monotone.\nMonotone est un système de contrôle de version. \nNous l’utilisons parce qu’il nous permet de garder la trace de qui fait quels changements au code source (et pour beaucoup de choses compliquées, mais 'garder la trace des changements' est l’idée de base)."
-#: 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 "Lisez le tutoriel de Monotone, pour vous assurer vous comprenez les concepts."
-#: 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 "Si vous voulez rester anonyme, vous devez faire une étape supplémentaire, pour configurer une connexion à un serveur Monotone au travers d’I2P :"
-#: 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 "Activer le tunnel client d'i2ptunnel sur le port 8998 dirigé vers mtn.i2p-projekt.i2p."
-#: 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 "Choisissez un répertoire dans lequel vous voulez mettre tous vos fichiers I2P, et créez une base de données Monotone :"
-#: 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 "Définissez la liste de confiance en créant ~/.monotone/monotonerc
(ou _MTN/monotonerc
dans l’espace de travail i2p.i2p) avec le contenu suivant :"
-#: 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
msgstr "Copiez et collez les clés d’archivage des développeurs dans un nouveau fichier (p. ex.\n mtn -d i2p.mtn read < keys.txt
clés.txt
) dans le même répertoire que i2p.mtn
. Importez les clés dans votre base de données avec
"
-#: 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 "Tirez les sources d’I2P vers votre machine. Cela peut prendre longtemps, en particulier si vous le faites à travers I2P !"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:104
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
msgid "Anonymously:"
msgstr "Anonymement :"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Non anonymement :"
-#: 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 "Toutes les sources sont maintenant présentes sur votre machine, dans le fichier de base de données. Pour les rendre disponibles dans un répertoire, vous devez les vérifier :"
-#: 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 "La commande susdite crée un répertoire i2p.i2p, qui contient toutes les sources d’I2P."
-#: 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 "\nPour télécharger les fichiers du site web à la place des fichiers source d’I2P, utiliser 'i2p.www' à la place de 'i2p.i2p'."
-#: 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 left off.\n"
"If you are in a hurry, use the non-anonymous access."
msgstr "La traction initiale peut prendre plusieurs heures en utilisant le tunnel.\nSi elle échoue après une traction partielle, simplement relancez-la, elle commencera là où elle s’est arrêtée.\nSi vous êtes pressé, utilisez l’accès non-anonyme."
-#: 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 "Une liste complète de branches, y compris i2p.i2p et i2p.www peuvent être trouvées sur viewmtn."
-#: 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 "Une longue explication concernant l’utilisation de monotone est disponible sur la page Monotone."
-#: 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, or equivalent JDK\n"
@@ -3208,21 +3241,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
msgstr "Pour compiler le code, vous avez besoin de Sun Java Development Kit 6 ou plus récente, ou HDJ équivalent\n(Sun JDK 6 fortement recommandé) et\nApache Ant\nversion 1.7.0 ou plus récente.\nSi vous comptez travailler sur le code principal d’I2P, vous pouvez aller au répertoire i2p.i2p et exécuter 'ant' pour voir les options de construction."
-#: 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 "Pour construire ou travailler sur les traductions de console, vous avez besoin \ndes outils xgettext, msgfmt, et msgmerge issus du\nGNU gettext package."
-#: 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 "Pour le développement de nouvelles applications,\nvoyez le guide de développement d’application."
-#: 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"
@@ -3231,67 +3264,67 @@ msgid ""
"for ideas."
msgstr "Voir la liste de zzz de TODO (choses à faire),\nliste TODO concernant ce site web ou\nTrac\npour des idées."
-#: 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
msgstr "Voyez en bas de la page licences pour\nles exigences de privilège d’engagement. Vous avez besoin de ceux-ci pour mettre du code dans i2p.i2p (non exigé pour le site web !)."
-#: 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 "Version courte sur la façon de générer et utiliser des clés si vous planifiez de vous engager :"
-#: 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 "utiliser une phrase de passe vide"
-#: 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 "saisir une phrase de passe"
-#: 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 "envoyer ceci à un opérateur de dépôt mtn pour obtenir les privilèges de poussée"
-#: 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 "envoyez ceci à un responsable des parutions pour obtenir des privilèges d’archivage - n’est pas exigé pour le site Web"
-#: 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 "vérifiez avec cette clé"
-#: 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 "pousser avec cette clé"
-#: 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 "Version longue : voyez la page Monotone."
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular developers."
msgstr "Les développeurs traînent sur IRC. Ils peuvent être atteints sur le réseau Freenode, OFTC, et sur les réseaux internes d’I2P. L’endroit habituel à regarder est #i2p-dev. Rejoignez le canal et dites salut !\nNous avons aussi des directives supplémentaires pour les développeurs habitués."
-#: 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 New Translator's Guide\n"
"for next steps."
msgstr "Traducteurs du site Web et de la console routeur : voyez le Guide du nouveau traducteur\npour les étapes suivantes."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3300,7 +3333,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr "I2P est un logiciel à code source ouvert qui est surtout développé en utilisant des boîtes à outils à code source ouvert. Le projet I2P a récemment fait l’acquisition d’une licence du profileur Java YourKit. Les projets à code source ouvert peuvent recevoir une licence gratuite tant qu’ils font référence à YourKit sur le site Web du projet. Veuillez nous contacter si vous souhaitez profiler le code base d’I2P."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/fr/LC_MESSAGES/priority.po b/i2p2www/translations/fr/LC_MESSAGES/priority.po
index bcdaad30..9d791b1c 100644
--- a/i2p2www/translations/fr/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/fr/LC_MESSAGES/priority.po
@@ -6,7 +6,7 @@
# bassmax, 2014-2015
# bassmax, 2014
# Boxoa590, 2013
-# French language coordinator mtn -d i2p.mtn read < clés.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Cliquer sur l’onglet Autres logiciels et sur Ajouter. Coller ppa:i2p-maintainers/i2p
dans le champ « Ligne APT » et cliquer sur Ajouter la source. Cliquer sur le bouton Fermer puis sur Recharger."
-#: 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 "
@@ -180,85 +179,105 @@ msgid ""
" Mark then Apply."
msgstr "Dans le champ « Filtre rapide » saisir i2p
et appuyer sur Entrée. Quand i2p
apparaît dans la liste des résultats, cliquer à droite sur i2p
et sur Sélectionner pour installation. Une fenêtre surgissante Prévoir d’effectuer d’autres changements ? devrait apparaître. Si c’est le cas, cliquer sur Ajouter à la sélection puis Appliquer."
-#: 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 "Une fois le processus d’installation terminé, vous pouvez procéder au lancement d’I2P et à sa configuration pour votre système."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instructions pour Debian"
-#: 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\")."
-msgstr "Note : les étapes ci-dessous devraient être exécutées avec l’accès root (c.-à-d. en basculant vers l’utilisateur root avec « su » ou en préfixant chaque commande par « 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
."
-msgstr "Ajoutez des lignes comme les suivantes au fichier %(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:"
-msgstr "Télécharger la clé utilisée pour signer le dépôt et l’ajouter à 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 "Signaler le nouveau dépôt à votre gestionnaire de paquets en saisissant :"
-#: 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 step\n"
"1."
msgstr "Cette commande récupérera la liste la plus récente de logiciels de chaque dépôt activé sur votre système, y compris ceux du dépôt d’I2P ajouté avec la commande précédente."
-#: 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 "Vous êtes maintenant prêt à installer I2P ! Installer le paquet i2p-keyring
garantira que vous obteniez les mises à jour de la clé GPG du dépôt."
-#: 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 "Une fois le processus d’installation terminé, vous pouvez procéder au starting I2P et à sa configuration pour votre système."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Note : si l’adresse https ne fonctionne pas, soit :"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Changer l’adresse du dépôt vers http://deb.i2p2.no/ "
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Travail postinstallation"
-#: 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 "En utilisant ces paquets I2P, le routeur I2P peut être démarré des trois façons suivantes :"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr "« à la demande » en utilisant le script i2prouter. Simplement exécuter « i2prouter start
» dans une invite de commande. (Note : ne pas utiliser sudo ni l’exécuter en tant que root !)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -266,14 +285,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr "« à la demande » sans l’enveloppeur de service Java (requis sur les systèmes non Linux ou non x86) en exécutant « i2prouter-nowrapper
».\n(Note : ne pas utiliser sudo ni l’exécuter en tant que root !)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "en tant que service lancé automatiquement lors du démarrage de votre système, avant même d’avoir ouvert une session. Le service peut être activé avec « dpkg-reconfigure i2p
» en tant que root ou en utilisant sudo. C’est la méthode recommandée."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -281,14 +300,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Lors d’une première installation, veuillez si vous le pouvez vous rappeler de paramétrer votre traduction d’adresses réseau ou votre pare-feu. Vous trouverez les ports à réacheminer sur la page de configuration du réseau dans la console du routeur. Si vous avez besoin d’aide pour réacheminer des ports, portforward.com pourrait vous être utile."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Veuillez vérifier et ajustez les paramètres de bande passante sur la page de configuration, car les paramètres par défaut de 96 Ko/s en aval et 40 Ko/s en amont sont plutôt conservateurs."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
@@ -1237,7 +1256,7 @@ msgstr "Mes pairs actifs / pairs connus / tunnels participants / connexions / ba
msgid ""
"What makes downloads, torrents, web browsing, and everything else slower on "
"I2P as compared to the regular internet?"
-msgstr ""
+msgstr "Pourquoi les téléchargements, les torrents, la navigation sur le Web et tout le reste sont plus lents sur I2P comparés à l’Internet ordinaire ?"
#: i2p2www/pages/site/faq.html:38
msgid ""
@@ -1267,7 +1286,7 @@ msgid ""
"I2P is written in the Java programming language. \n"
"It has been tested on Windows, Linux, FreeBSD and OSX. \n"
"An Android port is also available."
-msgstr ""
+msgstr "I2P est écrit dans le langage de programmation Java.\nIl a été testé sous Windows, Linux, FreeBSD et OS X.\nUne adaptation pour Android est aussi proposée."
#: i2p2www/pages/site/faq.html:58
msgid ""
@@ -1275,7 +1294,7 @@ msgid ""
"This is sufficient for browsing and IRC usage. However, other activities may require greater memory allocation. \n"
"For example, if one wishes to run a high-bandwidth router, participate in I2P torrents or serve high-traffic hidden services, \n"
"a higher amount of memory is required."
-msgstr ""
+msgstr "Au niveau de l’utilisation de la mémoire, I2P est configuré pour utiliser 128 Mo de mémoire vive par défaut. Cela est suffisant pour la navigation et l’utilisation d’IRC. Cependant, d’autres activités pourraient exiger une plus grande attribution de mémoire. Si quelqu’un souhaite faire fonctionner un routeur à large bande passante, participer à des torrents I2P ou servir des services cachés à trafic élevé, une quantité de mémoire plus élevée est exigée."
#: i2p2www/pages/site/faq.html:63
#, python-format
@@ -1283,7 +1302,7 @@ msgid ""
"In terms of CPU usage, I2P has been tested to run on modest systems such as the Raspberry Pi range of single-board computers.\n"
"As I2P makes heavy use of cryptographic techniques, a stronger CPU will be better suited to handle the workload generated by I2P as well as tasks \n"
"related to the rest of the system (i.e. Operating System, GUI, Other processes e.g. Web Browsing)."
-msgstr ""
+msgstr "Au niveau de l’utilisation de l’UCT, I2P a été testé pour tourner sur des systèmes modestes tels que la gamme d’ordinateurs Raspberry Pi à une carte. Dans la mesure où I2P utilise largement des techniques cryptographiques, une UCT plus puissante conviendra mieux pour traiter la charge de travail générée par I2P ainsi que les tâches inhérentes au reste du système (c.-à-d. le système d’exploitation, l’IUG, d’autres processus comme la navigation sur le Web par exemple)."
#: i2p2www/pages/site/faq.html:68
#, python-format
@@ -1292,7 +1311,7 @@ msgid ""
"%(chart)s.\n"
"\n"
"Using Sun/Oracle Java or OpenJDK is recommended."
-msgstr ""
+msgstr "Une comparaison de certains moteurs d’exécution Java (JRE) est proposée ici :\n%(chart)s.\n\nIl est recommandé d’utiliser Java de Sun/Oracle ou OpenJDK."
#: i2p2www/pages/site/faq.html:77
#, python-format
@@ -1309,13 +1328,13 @@ msgstr "Qu’est ce qu’un « site eep » ?"
msgid ""
"An eepsite is a website that is hosted anonymously, a hidden service which is accessible through your web browser. \n"
"It can be accessed by setting your web browser's HTTP proxy to use the I2P web proxy (typically it listens on localhost port 4444), and browsing to the site."
-msgstr ""
+msgstr "Un site eep est un site Web qui est hébergé anonymement, un service caché auquel vous pouvez accéder avec votre navigateur Web. Vous pouvez y accéder en paramétrant le mandataire HTTP de votre navigateur pour qu’il utilise le mandataire Web d’I2P (généralement, il écoute sur le port 4444 de l’hôte local) et en naviguant vers le site."
#: i2p2www/pages/site/faq.html:93
msgid ""
"x is the number of peers you've sent or received a message from successfully in the last minute, y is the number of peers seen in the last hour or so. \n"
"Try hovering your cursor over the other lines of information for a brief description."
-msgstr ""
+msgstr "x est le nombre de pairs auxquels vous avez envoyé un message ou de qui vous en avez reçu un avec succès au cours de la dernière minute, y est le nombre de pairs vus au cours de la dernière heure environ.\nEssayez de survoler les autres lignes d’informations avec votre curseur pour obtenir une brève description."
#: i2p2www/pages/site/faq.html:99
msgid ""
@@ -1334,7 +1353,7 @@ msgid ""
"By default, I2P's HTTP Proxy (configured to run on port 4444) includes a single outproxy: false.i2p. This is run on a voluntary basis by Meeh.\n"
"\n"
"There is an outproxy guide available on our forums, if you would like to learn more about running an outproxy."
-msgstr ""
+msgstr "Non. Contrairement à Tor, les « nœuds de sortie » ou « mandataires sortants », comme ils sont appelés sur le réseau, ne sont pas partie intégrante du réseau.\nSeuls les bénévoles qui mettent en place et exécutent des applications séparées relaieront du trafic vers l’Internet ordinaire.\nIl n’y en a que très, très peu. \n\nPar défaut, le mandataire HTTP d’I2P (configuré pour tourner sur le port 4444) inclut un seul mandataire sortant : false.i2p. Il est exploité bénévolement par Meeh.\n\nUn guide sur les mandataires sortants est proposé dans nos forums si vous souhaitez en apprendre davantage sur l’exécution d’un mandataire sortant."
#: i2p2www/pages/site/faq.html:115
msgid ""
@@ -1343,7 +1362,7 @@ msgid ""
"There is an outproxy configured by default in I2P's HTTP client tunnel - false.i2p. \n"
"While this service does currently exist, there is no guarantee that it will always be there as it is not an official service provided by the I2P project. \n"
"If your main requirement from an anonymous network is the ability to access clearnet resources, we would recommend using Tor."
-msgstr ""
+msgstr "I2P ne vise pas à être utilisé comme un mandataire pour l’Internet ordinaire. Il n’a pas non plus été conçu à cette fin.\nCela dit, il existe des services fournis par des bénévoles qui agissent comme mandataire pour des contenus se trouvant sur le réseau visible. On les appelle « mandataires sortants » sur le réseau I2P.\nUn mandataire sortant est configuré par défaut dans le tunnel client HTTP d’I2P, false.i2p.\nBien que ce service existe actuellement, il n’y a aucune garantie que ce sera toujours le cas, dans la mesure où ce n’est pas un service officiel fourni pour le projet I2P.\nSi votre exigence principale envers un réseau anonyme est la possibilité d’accéder à des ressources sur le réseau visible, nous vous recommandons d’utiliser Tor."
#: i2p2www/pages/site/faq.html:126
msgid ""
@@ -1352,13 +1371,13 @@ msgid ""
"Any unencrypted traffic generated at your system will arrive at the outproxy (on I2P) or the exit node (on Tor) as unencrypted traffic. \n"
"This means that you are vulnerable to snooping by the outproxy operators. \n"
"One way to protect your outproxy traffic against this is to ensure that any traffic that will be handled by the outproxy is encrypted with TLS."
-msgstr ""
+msgstr "I2P ne chiffre pas Internet et Tor ne le fait pas non plus, par exemple grâce à la sécurité de la couche de transport (protocole TLS).\nI2P et Tor visent tous deux à acheminer votre trafic tel quel vers sa destination, de manière sécurisé et anonyme sur le réseau correspondant. Tout trafic non chiffré généré par votre système arrivera au mandataire sortant (sur I2P) ou nœud de sortie (sur Tor) comme trafic non chiffré. Cela signifie que vous êtes vulnérable à la surveillance du trafic par les exploitants du mandataire sortant.\nUne façon de protéger votre trafic destiné à un mandataire sortant est de vous assurer qu’il est chiffré avec le protocole TLS."
#: i2p2www/pages/site/faq.html:134
msgid ""
"For more information, you may read the Tor FAQ's answer to this question:\n"
"https://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
-msgstr ""
+msgstr "Pour plus de renseignements, vous pouvez consulter la réponse de la FAQ de Tor à cette question :\nhttps://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
#: i2p2www/pages/site/faq.html:139
#, python-format
@@ -1367,7 +1386,7 @@ msgid ""
"and operators of other I2P services, if you use the same tunnels (\"shared clients\").\n"
"There is additional discussion about this on %(zzz)s.\n"
"This discussion has been mirrored on our forums as well."
-msgstr ""
+msgstr "De plus, vous pourriez être la victime d’une collusion entre l’opérateur du mandataire sortant et les opérateurs d’autres services I2P si vous utilisez les mêmes tunnels (« clients partagés »).\nUne discussion à ce propos se trouve sur %(zzz)s.\nCette discussion est aussi reproduite sur nos forums."
#: i2p2www/pages/site/faq.html:146
#, python-format
@@ -1375,7 +1394,7 @@ msgid ""
"\n"
"Ultimately, this is a question that only you can answer because the correct answer depends on your browsing behaviour, \n"
"your threat model, and how much you choose to trust the outproxy operator."
-msgstr ""
+msgstr "\nC’est une question à laquelle vous seul pouvez répondre, car la bonne réponse dépend de vos comportements de navigation, de votre modèle de menace et de votre niveau confiance envers l’opérateur du mandataire sortant."
#: i2p2www/pages/site/faq.html:154
msgid ""
@@ -1385,7 +1404,7 @@ msgid ""
"it is not possible to know what the contents of the traffic are and thus not possible to distinguish between traffic which one is opposed to or not opposed to. \n"
"\n"
" We consider the 3 parts of the question:"
-msgstr ""
+msgstr "I2P est un réseau anonyme. Il est conçu pour résister aux tentatives de blocage ou de censure du contenu, offrant ainsi un moyen de communication que tout le monde peut utiliser.\nLe trafic d’I2P qui transite par votre routeur est chiffré par plusieurs couches de chiffrement.\nSauf vulnérabilité informatique majeure (dont rien n’est connu actuellement), il est impossible de connaître le contenu du trafic, et par conséquent, de faire une distinction entre le trafic auquel quelqu’un serait opposé et le trafic auquel il ne serait pas opposé."
#: i2p2www/pages/site/faq.html:164
msgid ""
@@ -1395,7 +1414,7 @@ msgid ""
"Your only alternative is to refuse to route any traffic, by setting your share bandwidth or maximum participating tunnels to 0 (see above).\n"
"It would be nice if you didn't do this, you should help the network by routing traffic for others.\n"
"Over 95% of users route traffic for others."
-msgstr ""
+msgstr "Distribution
\nTout le trafic d’I2P est chiffré en plusieurs couches. Vous ne connaissez ni le contenu, ni la source, ni la destination d’un message. \nTout le trafic que vous acheminez est interne au réseau d’I2P, vous n’êtes pas un nœud de sortie (appelé mandataire sortant dans notre documentation).\nVotre seule option est de refuser d’acheminer tout trafic en paramétrant votre bande passante partagée ou le nombre maximal de tunnels participants à 0 (voir ci-dessus).\nIl serait que vous ne le fassiez pas, car vous devriez aider le réseau en acheminant le trafic d’autrui.\nPlus de 95 % des utilisateurs acheminent le trafic des autres."
#: i2p2www/pages/site/faq.html:174
msgid ""
@@ -1403,21 +1422,21 @@ msgid ""
"I2P does not do distributed storage of content, this has to be specifically installed and configured by the user (with Tahoe-LAFS, for example). \n"
"That is a feature of a different anonymous network, Freenet.\n"
"By running I2P, you are not storing content for anyone."
-msgstr ""
+msgstr "Stockage
\nI2P ne distribue pas le stockage du contenu. Le stockage distribué doit être spécialement installé et configuré par l’utilisateur (avec Tahoe-LAFS par exemple).\nC’est une caractéristique d’un réseau anonyme différent, Freenet.\nEn exécutant I2P, vous ne stockez le contenu de personne d’autre."
#: i2p2www/pages/site/faq.html:182
msgid ""
"Access
\n"
"If there are hidden services which you dislike, you may refrain from visiting them.\n"
"Your router will not request any content without your specific instruction to do so."
-msgstr ""
+msgstr "Accès
\nSi certains services cachés vous déplaisent, vous pouvez vous abstenir de les visiter.\nVotre routeur ne demandera aucun contenu sans votre instruction expresse."
#: i2p2www/pages/site/faq.html:194
#, python-format
msgid ""
"The proxy config for different browsers is on a separate page with screenshots. \n"
"More advanced configs with external tools, such as the browser plug-in FoxyProxy or the proxy server Privoxy, are possible but could introduce leaks in your setup."
-msgstr ""
+msgstr "La configuration du mandataire pour différents navigateurs se trouve sur une page séparée avec des captures d’écran.\nDes configurations plus évoluées sont possibles avec des outils externes, tels que l’extension FoxyProxy pour navigateur ou le serveur mandataire Privoxy, mais ils pourraient entraîner des fuites dans votre installation."
#: i2p2www/pages/site/faq.html:202
msgid ""
@@ -1426,97 +1445,97 @@ msgid ""
"To connect to it, tell your IRC client to connect to localhost 6668
. \n"
"HexChat-like client users can create a new network with the server localhost/6668
(remember to tick \"Bypass proxy server\" if you have a proxy server configured).\n"
"Weechat users can use the following command to add a new network:"
-msgstr ""
+msgstr "\nUn tunnel vers le serveur IRC principal dans I2P, Irc2P, est créé lors de l’installation d’I2P (voir la page de configuration d’I2PTunnel) et est démarré automatiquement lors du démarrage du routeur I2P.\nPour s’y connecter, configurez votre client IRC pour qu’il se connecte à l’hôte local 6668.
\nLes utilisateurs de clients comme HeXChat peuvent créer un nouveau réseau avec le serveur localhost/6668
(ne pas oublier de cocher « Contourner le serveur mandataire » si un mandataire est configuré).\nLes utilisateurs de Weechat peuvent utiliser la commande suivante pour ajouter un nouveau réseau :"
#: i2p2www/pages/site/faq.html:217
msgid ""
"Click on the Website link at the top "
"of your router console for instructions."
-msgstr ""
+msgstr "Cliquez sur le lien du site Web en haut de la console de votre routeur pour obtenir des instructions."
#: i2p2www/pages/site/faq.html:224
msgid "The ports that are used by I2P can be divided into 2 sections:"
-msgstr ""
+msgstr "Les ports utilisés par I2P peuvent être divisés en deux catégories :"
#: i2p2www/pages/site/faq.html:229
msgid ""
"Internet-facing ports, which are used for communication with other I2P "
"routers"
-msgstr ""
+msgstr "Les ports dirigés vers Internet qui sont utilisés pour la communication avec d’autres routeurs I2P"
#: i2p2www/pages/site/faq.html:230
msgid "Local ports, for local connections"
-msgstr ""
+msgstr "Les ports locaux pour les connexions locales"
#: i2p2www/pages/site/faq.html:233
msgid "These are described in detail below."
-msgstr ""
+msgstr "Ils sont décrits en détail ci-dessous."
#: i2p2www/pages/site/faq.html:238
msgid ""
"Internet-facing ports
Note: Since release 0.7.8, new installs do not use port 8887; \n"
" a random port between 9000 and 31000 is selected when the program is run for the first time. \n"
" The selected port is shown on the router configuration page."
-msgstr ""
+msgstr "Ports dirigés vers Internet
Note : Depuis la version 0.7.8, les nouvelles installations n’utilisent pas le port 8887 ; un port aléatoire entre 9000 et 31000 est sélectionné lors du premier lancement du programme.\nLe port sélectionné apparaît sur la page de configuration du routeur."
#: i2p2www/pages/site/faq.html:241
msgid "OUTBOUND"
-msgstr ""
+msgstr "SORTANT"
#: i2p2www/pages/site/faq.html:243
msgid ""
"UDP from the random port listed on the configuration page to arbitrary"
" remote UDP ports, allowing for replies"
-msgstr ""
+msgstr "UDP provenant de la liste de ports aléatoires sur la page de configuration vers des ports UDP distants arbitraires, permettant les réponses"
#: i2p2www/pages/site/faq.html:244
msgid "TCP from random high ports to arbitrary remote TCP ports"
-msgstr ""
+msgstr "TCP provenant de ports élevés aléatoires vers des ports TCP distants arbitres"
#: i2p2www/pages/site/faq.html:245
msgid ""
"Outbound UDP on port 123, allowing for replies. \n"
" This is necessary for I2P's internal time sync (via SNTP - querying a random SNTP host in pool.ntp.org or another server you specify)"
-msgstr ""
+msgstr "UDP sortant sur le port 123, permettant les réponses.\nCela est nécessaire pour la synchronisation interne de l’heure d’I2P (par SNTP en envoyant une requête à un hôte SNTP aléatoire dans pool.ntp.org ou un autre serveur que vous aurez indiqué)"
#: i2p2www/pages/site/faq.html:248
msgid "INBOUND"
-msgstr ""
+msgstr "ENTRANT"
#: i2p2www/pages/site/faq.html:250
msgid ""
"(Optional, recommended) UDP to the port noted on the configuration page from "
"arbitrary locations"
-msgstr ""
+msgstr "(Facultatif, recommandé) UDP vers le port indiqué sur la page de configuration à partir d’emplacements arbitraires"
#: i2p2www/pages/site/faq.html:251
msgid ""
"(Optional, recommended) TCP to the port noted on configuration page from "
"arbitrary locations"
-msgstr ""
+msgstr "(Facultatif, recommandé) TCP vers le port indiqué sur la page de configuration à partir d’emplacements arbitraires"
#: i2p2www/pages/site/faq.html:252
msgid ""
"Inbound TCP can be disabled on the configuration page"
-msgstr ""
+msgstr "Le TCP entrant peut être désactivé sur la page de configuration"
#: i2p2www/pages/site/faq.html:255
msgid ""
"Local I2P ports, listening only to local connections by default, except "
"where noted:"
-msgstr ""
+msgstr "Ports I2P locaux n’écoutant par défaut que les connexions locales, sauf indication contraire :"
#: i2p2www/pages/site/faq.html:259
msgid "PORT"
-msgstr ""
+msgstr "PORT"
#: i2p2www/pages/site/faq.html:262
msgid "PURPOSE"
-msgstr ""
+msgstr "BUT"
#: i2p2www/pages/site/faq.html:265
msgid "DESCRIPTION"
@@ -1949,7 +1968,7 @@ msgstr "Faites-vous tourner un client BitTorrent sur I2P ? Essayez de r
#: i2p2www/pages/site/faq.html:743
msgid "High bandwidth settings"
-msgstr ""
+msgstr "Paramètres de bande passante élevée"
#: i2p2www/pages/site/faq.html:744
msgid ""
diff --git a/i2p2www/translations/fr/LC_MESSAGES/research.po b/i2p2www/translations/fr/LC_MESSAGES/research.po
index cbdd52eb..6b7fdd2c 100644
--- a/i2p2www/translations/fr/LC_MESSAGES/research.po
+++ b/i2p2www/translations/fr/LC_MESSAGES/research.po
@@ -1,289 +1,287 @@
-# French translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
+# AO French coordinator i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"En outre, I2P peut être démarré dans un mode de réseau virtuel. Ce mode "
-"désactive tous les transports, ce qui permet au routeur d'être testé "
-"isolément, sans le trafic réseau. Pour activer ce mode, avant de "
-"commencer, ajouter i2p.vmCommSystem=true
à router.config ."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Tester le réseau I2P en direct"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-"Si vous prévoyez de mener des recherches en direct sur le réseau I2P, "
-"s'il vous plaît nous contacter avant de "
-"commencer vos tests. Bien que nous ne nous décourageons pas les "
-"chercheurs de tester leurs idées de façon responsable sur le réseau "
-"direct, si une attaque devient apparente et que nous n'avons pas de moyen"
-" de communication, nous finirons par prendre des contre-mesures qui "
-"pourraient interférer avec le test."
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
-msgstr "Configuration de la famille de routeur"
-
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
-"À partir de la version 0.9.25 sortie, I2P supporte la configuration de "
-"familles de routeurs.\n"
-"Ceci fournit aux chercheurs qui exécutent des routeurs multiples les "
-"moyens d'identifier publiquement ces routeurs.\n"
-"À son tour, cela aide le projet I2P à comprendre que ces routeurs "
-"n'exécutent pas d'attaque du réseau.\n"
-"Cela empêchera aussi les autres routeurs d'inclure de multiples routeurs "
-"de la famille dans un seul tunnel, ce qui pourrait mener à la "
-"dé-anonymisation.\n"
-"Les routeurs qui semblent être en collusion mais qui n'ont pas de famille"
-" déclarée pourraient laisser penser qu'ils attaquent le réseau et "
-"pourraient être bloqués.\n"
-"La meilleure façon d'assurer le succès de votre projet de recherche est "
-"de marcher avec nous."
#: i2p2www/pages/site/research/index.html:73
-msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
+msgid ""
+"\n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:106
+msgid "Using a Test Network to Attack I2P"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:108
+msgid ""
+"I2P can be run as a separate test network by controlling the locations that a\n"
+"new router reseeds from so that it only finds other test routers.\n"
+"\n"
+"The standard mode of operation is to have one JVM per router instance; hence\n"
+"running multiple copies of I2P on a single machine is inadvisable, both due to\n"
+"the potential resource drain and the certain port conflicts. To better\n"
+"facilitate setting up small test networks, I2P has a multirouter mode which\n"
+"enables multiple distinct routers to be run in the same JVM.\n"
+"\n"
+"MultiRouter can be started from the i2p base directory by running the below\n"
+"command."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:124
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode disables\n"
+"all transports, allowing the router to be tested in isolation without network\n"
+"traffic. To enable this mode, add i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr "Configuration d’une famille de routeurs"
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
-"Une famille de routeur partage une clé privée afin que la participation "
-"dans la famille ne puisse pas être usurpée.\n"
-"Pour configurer une famille de routeur, sur la console de routeur cliquez"
-" sur le lien \"Configuration\" puis sur l'onglet \"Famille routeur\".\n"
-"Depuis là, suivez les instructions afin de générer la clé privée pour le "
-"premier routeur de la famille.\n"
-"Puis, exportez la clé de ce routeur, et faites la importer par d'autres "
-"membres de la famille."
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
-msgstr "Questions concernant la recherche ouverte"
+msgstr "Questions de recherche"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
-msgstr "Base de données réseau"
+msgstr "Base de données de réseau"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transports"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Tunnels et destinations"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
-msgstr "Sélection pair"
+msgstr "Sélection des pairs"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Tunnels unidirectionnels"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
-msgstr "Multihoming"
+msgstr "Multiconnexion"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
-msgstr "Routage de message"
+msgstr "Routage des messages"
+
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr "Anonymat"
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Février 2016"
+msgstr "Janvier 2017"
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -295,7 +293,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -308,12 +307,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "Courriel"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -326,8 +324,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -347,14 +344,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -366,8 +362,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -376,7 +372,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:87
msgid "Is not easily exploitable."
-msgstr ""
+msgstr "N’est pas facilement exploitable."
#: i2p2www/pages/site/research/vrp.html:93
msgid "Respond according to the severity of the vulnerability:"
@@ -385,19 +381,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -419,8 +414,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -429,10 +423,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -467,8 +459,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -481,11 +472,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -500,7 +493,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:191
msgid "Project name and URL."
-msgstr ""
+msgstr "Nom du projet et URL."
#: i2p2www/pages/site/research/vrp.html:194
msgid "Versions known to be affected."
@@ -537,8 +530,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -546,13 +539,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -561,8 +555,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -573,33 +567,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -614,7 +603,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -643,15 +633,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -661,10 +649,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -674,8 +660,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -712,4 +697,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/gl/LC_MESSAGES/docs.po b/i2p2www/translations/gl/LC_MESSAGES/docs.po
index 2e71c410..756e08e1 100644
--- a/i2p2www/translations/gl/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/gl/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Galician (http://www.transifex.com/otf/I2P/language/gl/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,11 @@ msgstr ""
msgid "Index to Technical Documentation"
msgstr "Índice da Documentación Técnica"
-#: 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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr "Clientes Xestionados"
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -145,7 +147,7 @@ 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: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 ""
@@ -391,160 +393,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 "Rendemento"
-#: 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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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 "Pechar"
-#: 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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 ""
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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 "Chaves"
-#: 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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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 "Seguridade"
-#: 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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/gl/LC_MESSAGES/get-involved.po b/i2p2www/translations/gl/LC_MESSAGES/get-involved.po
index 25daf577..0dcd256b 100644
--- a/i2p2www/translations/gl/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/gl/LC_MESSAGES/get-involved.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Uberius Crypto ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/gl/LC_MESSAGES/priority.po b/i2p2www/translations/gl/LC_MESSAGES/priority.po
index 4777a851..b60fa74e 100644
--- a/i2p2www/translations/gl/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/gl/LC_MESSAGES/priority.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: manuel meixide mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then 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 "
@@ -170,85 +169,105 @@ msgid ""
" 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 "Instruccións para Debian"
-#: 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 step\n"
"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 "Tarefas post-instalación"
-#: 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"
"start
" from a command prompt. (Note: Do not use\n"
"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"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -256,14 +275,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -271,14 +290,14 @@ msgid ""
"you may find portforward.com to be 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/he/LC_MESSAGES/blog.po b/i2p2www/translations/he/LC_MESSAGES/blog.po
index 4574de48..81027bc1 100644
--- a/i2p2www/translations/he/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/he/LC_MESSAGES/blog.po
@@ -1,22 +1,23 @@
-# Hebrew translations for I2P.
-# Copyright (C) 2014 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-# FIRST AUTHOR 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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/he/LC_MESSAGES/get-involved.po b/i2p2www/translations/he/LC_MESSAGES/get-involved.po
index d48856aa..337cb054 100644
--- a/i2p2www/translations/he/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/he/LC_MESSAGES/get-involved.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Hebrew (http://www.transifex.com/otf/I2P/language/he/)\n"
"MIME-Version: 1.0\n"
@@ -309,40 +309,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1971,6 +1996,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 ""
@@ -2107,10 +2140,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."
@@ -2977,57 +3006,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"
@@ -3035,7 +3068,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3043,13 +3076,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3059,28 +3092,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3089,106 +3122,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3198,21 +3231,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3221,67 +3254,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3290,7 +3323,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/he/LC_MESSAGES/priority.po b/i2p2www/translations/he/LC_MESSAGES/priority.po
index 50cd1d3e..74ddb994 100644
--- a/i2p2www/translations/he/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/he/LC_MESSAGES/priority.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: ION\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Hebrew (http://www.transifex.com/otf/I2P/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -67,29 +67,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "החבילות לדביאן\nנבדקו ואמורות לעבוד על פלטפורמות x86/x86_64 המריצות:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "אובונטו (החל מגרסה Precise 12.04)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "לינוקס דביאן (Wheezy וגרסאות חדשות יותר)"
-#: 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 report any issues\n"
@@ -97,73 +96,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "החבילות של I2P עשויות לעבוד על מערכות שאינן רשומות למעלה. אנא דווחו על בעיות\nבחבילות אלה ב־Trac at\nhttps://trac.i2p2.de."
-#: 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 "אפשרות 1: גרסאות עדכניות של אובונטו ושל נגזרותיה (נסו זאת אם אינכם משתמשים בדביאן)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "אפשרות 2: דביאן (כולל נגזרות של דביאן)"
-#: 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 "הוספת ה־PPA דרך שורת הפקודה והתקנת I2P"
-#: 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 "פקודה זו תוסיף את ה־PPA ל־/etc/apt/sources.list.d ותייבא את\nמפתח ה־gpg שבאמצעותו נחתם המאגר. מפתח ה־GPG מבטיח\nכי לא נערכו שינויים זדוניים בחבילות לאחר יצירתן."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "יידעו את מנהל החבילות שלכם על ה־PPA החדש על־ידי הזנת:"
-#: 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 "פקודה זו רשימת התוכנות העדכנית מכל מאגר\nהמאופשר במערכת שלכם, כולל ה־PPA של I2P\nשנוסף קודם לכן."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "כעת אתם מוכנים להתקנת I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "הוספת ה־PPA דרך Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "פתחו את Synaptic (מערכת -> ניהול -> מנהל החבילות Synaptic)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "לאחר ש־Synaptic נפתח, בחרו באפשרות מאגרים מתפריט הגדרות."
-#: i2p2www/pages/downloads/debian.html:73
+#: i2p2www/pages/downloads/debian.html:72
msgid ""
"Click the Other Sources tab and click Add. Paste mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "עברו ללשונית מקורות אחרים (Other Software) ולחצו על הוספה (Add). הדביקו את השורה ppa:i2p-maintainers/i2p
לשדה שורת APT ולחצו על הוספת מקור (Add Source). לחצו על סגירה ולאחר מכן על רענון."
-#: 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 "
@@ -172,85 +171,105 @@ msgid ""
" Mark then Apply."
msgstr "בתיבת הסינון המהיר, הזינו i2p ולחצו Enter. כאשר i2p
מופיע ברשימת התוצאות, לחצו עליו לחיצה ימנית ובחרו סימון עבור התקנה. לאחר מכן ייתכן שתישאלו האם לסמן שינויים נחוצים נוספים. במקרה כזה לחצו על סימון ולאחר מכן על בצע."
-#: 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 "לאחר סיום תהליך ההתקנה אתם יכולים לעבור לחלק הבא\nהרצת I2P ולהגדיר את התצורה של I2P עבור המערכת שלכם."
-#: 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\")."
-msgstr "הערה: יש לבצע את הצעדים שלהלן עם הרשאות ניהול (כלומר לעבור\nלמשתמש ה־root בעזרת \"su\" או להקליד \"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
."
-msgstr "הוסיפו שורות כמו אלה לקובץ %(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:"
-msgstr "הורידו את המפתח המשמש לחתימה על המאגר והוסיפו אותו ל־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 step\n"
"1."
msgstr "פקודה זו תוריד את רשימת התוכנות העדכנית מכל מאגר\nהמאופשר במערכת שלכם, כולל המאגר של I2P שנוסף בצעד\n1."
-#: 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 "כעת אתם מוכנים להתקנת I2P! התקנת החבילה i2p-keyring
\nתבטיח שתקבלו עדכונים למפתח ה־GPG של המאגר."
-#: 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 "לאחר השלמת תהליך ההתקנה אתם יכולים להמשיך הלאה לשלב הבא, הרצת I2P, ולהגדיר את התצורה של I2P עבור המערכת שלכם."
-#: 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 "על־ידי שימוש בחבילות של I2P ניתן להריץ את נתב ה־I2P בשלוש\nהדרכים הבאות:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""לפי הצורך" באמצעות התסריט i2prouter. פשוט הריצו "i2prouter\nstart
" בשורת הפקודה. (הערה: אל תריצו\nכמשתמש root ואל תשתמשו ב־sudo!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -258,14 +277,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""לפי הצורך" ללא ה־java service wrapper\n(נדרש במערכות שאינן מריצות גנו/לינוקס או שאינן x86) על־ידי הרצת \"i2prouter-nowrapper
\".\n(הערה: אל תריצו\nכמשתמש root ואל תשתמשו ב־sudo!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "כשירות שרץ באופן עצמאי כאשר המערכת עולה, עוד\nלפני שהמשתמש נכנס. ניתן להפעיל את השירות עם \"dpkg-reconfigure\ni2p
\" בתור root או על־ידי שימוש ב־sudo. זהו אופן השימוש המומלץ."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -273,14 +292,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "בעת ההתקנה בפעם הראשונה, אנא זכרו להגדיר את ה־NAT/חומת האש\nשלכם אם אתם יכולים. ניתן למצוא את הפתחות שיש להעביר ב\nעמוד הגדרות הרשת בממשק הנתב. אם אתם זקוקים להדרכה כיצד להעביר פתחות,\nportforward.com יכול לעזור."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "אנא בדקו את הגדרות רוחב־הפס בעמוד\nהגדרות התצורה,\nמאחר והגדרות ברירת המחדל (96 ק\"ב/שניה בהורדה ו־40 ק\"ב/שניה בהעלאה) די נמוכות."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/hu/LC_MESSAGES/docs.po b/i2p2www/translations/hu/LC_MESSAGES/docs.po
index 9a46ed7c..0a5bb365 100644
--- a/i2p2www/translations/hu/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/hu/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Hungarian (http://www.transifex.com/otf/I2P/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -145,7 +147,7 @@ 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: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 ""
@@ -391,160 +393,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 "Hibakövető"
-#: 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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 "Bevezetés"
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 "Vita"
-#: 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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/hu/LC_MESSAGES/get-involved.po b/i2p2www/translations/hu/LC_MESSAGES/get-involved.po
new file mode 100644
index 00000000..6fc2e3f2
--- /dev/null
+++ b/i2p2www/translations/hu/LC_MESSAGES/get-involved.po
@@ -0,0 +1,3721 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Hungarian (http://www.transifex.com/otf/I2P/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: i2p2www/pages/site/get-involved/donate.html:2
+#: i2p2www/pages/site/get-involved/index.html:82
+msgid "Donate"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:4
+msgid ""
+"Thank you for your interest in contributing to I2P!\n"
+"The details of how you\n"
+"can make your contribution are provided below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:10
+msgid "Tax Status"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:11
+msgid ""
+"I2P is not incorporated.\n"
+"Your contributions are probably not tax-deductible.\n"
+"If you would like to discuss a large contribution, please contact eche|on."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:17
+msgid "Stickers"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:18
+msgid ""
+"While supplies last, we offer I2P stickers to those who donate enough\n"
+"to cover PayPal fees and postage from the U.S.\n"
+"You must include \"stickers please\" and your address in the Paypal comments.\n"
+"For other payment methods, follow up with an email to eche|on\n"
+"with the subject \"stickers please\", your payment information, and your address."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:25
+msgid "Please allow 30-60 days for delivery."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:30
+#, python-format
+msgid ""
+"As of %(date)s, eche|on has been running a\n"
+"%(cointype)s account for the I2P project.\n"
+"ATTENTION! The address changed on 02-20-2014. ATTENTION!\n"
+"If you'd like to donate using %(cointype)s, just transfer your\n"
+"desired amount of coins to the account %(account)s\n"
+"and leave eche|on a note if you'd like your donation to be\n"
+"mentioned on the I2P webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:42
+#: i2p2www/pages/site/get-involved/donate.html:58
+#: i2p2www/pages/site/get-involved/donate.html:74
+msgid "For easy usage, use the QR code below!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:47
+#, python-format
+msgid ""
+"As of %(date)s, Meeh has been running a\n"
+"%(cointype)s account for the I2P project.\n"
+"If you'd like to donate using %(cointype)s, just transfer your\n"
+"desired amount of coins to the account %(account)s\n"
+"and leave Meeh a note if you'd like your donation to be\n"
+"mentioned on the I2P webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:63
+#, python-format
+msgid ""
+"As of %(date)s, echelon has been running a\n"
+" %(cointype)s account for the I2P project.\n"
+" If you'd like to donate using %(cointype)s, just transfer your\n"
+" desired amount of coins to the account %(account)s\n"
+" and leave echelon a note if you'd like your donation to be\n"
+" mentioned on the I2P webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:80
+#, python-format
+msgid ""
+"We accept most altcoins, just ask Meeh. Other altcoins can be converted and "
+"exchanged for a crypto currency we currently support. Please send a mail to "
+"\"%(account)s\" for a such donation."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:87
+#, python-format
+msgid "You can donate direct via PayPal to the account \"%(account)s\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:93
+msgid "One time donation:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:107
+msgid "Donate 10 €/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:115
+#: i2p2www/pages/site/get-involved/donate.html:127
+#: i2p2www/pages/site/get-involved/donate.html:139
+#: i2p2www/pages/site/get-involved/donate.html:151
+msgid "I2P donation "
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:121
+msgid "Donate 20 €/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:133
+msgid "Donate 30 €/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:145
+msgid "Donate 50 €/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:160
+msgid "Flattr this"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:165
+msgid ""
+"If you want to keep more or less anonymous, the option to send money via mail is also available. But it is less secure\n"
+"as the envelope can be lost on the way to us."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:169
+#, python-format
+msgid ""
+"If you'd like to donate via snail mail, send an email to %(email)s\n"
+" and you'll receive an email with instructions detailing how to proceed."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:174
+#, python-format
+msgid ""
+"In the meantime, feel free to take a look at the generous donations that have been\n"
+"given in support of the I2P Project at the hall of fame."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:2
+msgid "Get Involved!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:4
+msgid "We need your help!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:5
+msgid ""
+"To get involved, please feel free to join us on the #i2p-dev IRC channel (on\n"
+"irc.freenode.net, irc.oftc.net, or within I2P on irc.echelon.i2p, irc.dg.i2p or irc.postman.i2p)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:9
+#, python-format
+msgid ""
+"If you're interested in joining our team, please get in\n"
+"touch as we're always looking for eager contributors!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:13
+msgid ""
+"We need help in many areas, and you don't need to know Java to contribute!\n"
+"Here's a list to help get you started!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:18
+msgid "Spread the Word!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:19
+msgid ""
+"Tell people about I2P on forums, blogs, and comments to articles.\n"
+"Fix up the Wikipedia article about I2P in your language.\n"
+"Tell your friends."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:24
+msgid "Testing"
+msgstr "Tesztelés"
+
+#: i2p2www/pages/site/get-involved/index.html:25
+#, python-format
+msgid ""
+"Run the latest builds from monotone\n"
+"and report results on #i2p or as bugs on Trac."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:30
+msgid "Documentation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:31
+msgid ""
+"Help fix the parts of the website that are outdated or incomplete.\n"
+"Translate pages into other languages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:35
+msgid "Pictures"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:36
+msgid "Make some more pictures, fix the old ones on the website"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:39
+msgid "Content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:40
+msgid "Make an eepsite! Add some content! Contribute to the community!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:43
+msgid "Services"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:44
+msgid ""
+"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
+"a naming service, a search engine, an eepsite monitor... many of these\n"
+"aren't that hard."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:49
+msgid "Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:50
+#, python-format
+msgid ""
+"Write or port applications for I2P! There's some guidelines and\n"
+"a list of ideas on the applications page."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:54
+msgid "Coding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:55
+#, python-format
+msgid ""
+"There's plenty to do if you know Java or are ready to learn.\n"
+"Check for open tickets on Trac\n"
+"or the TODO list on %(zzz)s for\n"
+"some ideas on where to start.\n"
+"See the new developer's guide for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:64
+msgid "Translation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:65
+#, python-format
+msgid ""
+"Help translate the website and the software into your language.\n"
+"See the new translator's guide for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:69
+msgid "Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:70
+#, python-format
+msgid ""
+"Study or test the code to look for vulnerabilities.\n"
+"Both anonymity vulnerabilities from the various\n"
+"threat models,\n"
+"and DOS and other weaknesses due to securities holes,\n"
+"need researching."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:77
+msgid "Reseeding"
+msgstr "Újratáplálás (reseed) folyamatban"
+
+#: i2p2www/pages/site/get-involved/index.html:78
+#, python-format
+msgid ""
+"Set up a reseed server for new routers to bootstrap from.\n"
+"Detailed instructions are on our reseed server 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-2016.html:3
+msgid "January 2016"
+msgstr ""
+
+#: 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-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-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-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-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 ""
+
+#: i2p2www/pages/site/get-involved/todo.html:5
+#: i2p2www/pages/site/get-involved/todo.html:47
+msgid "Core functionality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:7
+#: i2p2www/pages/site/get-involved/todo.html:50
+msgid "NetworkDB and profile tuning and ejection policy for large nets"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:11
+#: i2p2www/pages/site/get-involved/todo.html:74
+msgid "Security / anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:13
+#: i2p2www/pages/site/get-involved/todo.html:77
+msgid "Full blown n-hop restricted routes with optional trusted links"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:16
+#: i2p2www/pages/site/get-involved/todo.html:96
+msgid "Hashcash for routerIdentity, destination, and tunnel request"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:19
+#: i2p2www/pages/site/get-involved/todo.html:125
+msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:22
+#: i2p2www/pages/site/get-involved/todo.html:162
+msgid "Stop & go mix w/ garlics & tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:26
+#: i2p2www/pages/site/get-involved/todo.html:176
+msgid "Performance"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:31
+#, python-format
+msgid ""
+"Note: This page is not up-to-date.\n"
+"See the roadmap for current plans."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:36
+#, python-format
+msgid ""
+"Below is a more detailed (yet still incomplete) discussion of the major areas\n"
+"of future development on the core I2P network, spanning the plausibly planned\n"
+"releases. This does not include stego transports, porting to wireless devices,\n"
+"or tools to secure the local machine, nor does it include client applications\n"
+"that will be essential in I2P's success. There are probably other things that\n"
+"will come up, especially as I2P gets more peer review, but these are the main\n"
+"'big things'. See also the roadmap. Want to help?\n"
+"Get involved!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:53
+msgid ""
+"Within the current network database and profile management implementation, \n"
+"we have taken the liberty of some practical shortcuts. For instance, we \n"
+"don't have the code to drop peer references from the K-buckets, as we \n"
+"don't have enough peers to even plausibly fill any of them, so instead, \n"
+"we just keep the peers in whatever bucket is appropriate. Another example \n"
+"deals with the peer profiles - the memory required to maintain each peer's \n"
+"profile is small enough that we can keep thousands of full blown profiles \n"
+"in memory without problems. While we have the capacity to use trimmed \n"
+"down profiles (which we can maintain 100s of thousands in memory), we \n"
+"don't have any code to deal with moving a profile from a \"minimal profile\" \n"
+"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to simply \n"
+"eject a profile altogether. It just wouldn't be practical to write that \n"
+"code yet, since we aren't going to need it for a while."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:68
+msgid ""
+"That said, as the network grows we are going to want to keep these considerations \n"
+"in mind. We will have some work to do, but we can put it off for later."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:80
+msgid ""
+"The restricted route functionality described before was simply a functional \n"
+"issue - how to let peers who would not otherwise be able to communicate \n"
+"do so. However, the concept of allowing restricted routes includes additional \n"
+"capabilities. For instance, if a router absolutely cannot risk communicating \n"
+"directly with any untrusted peers, they can set up trusted links through \n"
+"those peers, using them to both send and receive all of its messages. \n"
+"Those hidden peers who want to be completely isolated would also refuse \n"
+"to connect to peers who attempt to get them to (as demonstrated by the \n"
+"garlic routing technique outlined before) - they can simply take the garlic \n"
+"clove that has a request for delivery to a particular peer and tunnel \n"
+"route that message out one of the hidden peer's trusted links with instructions \n"
+"to forward it as requested."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:99
+#, python-format
+msgid ""
+"Within the network, we will want some way to deter people from consuming \n"
+"too many resources or from creating so many peers to mount a Sybil \n"
+"attack. Traditional techniques such as having a peer see who is requesting \n"
+"a resource or running a peer aren't appropriate for use within I2P, as \n"
+"doing so would compromise the anonymity of the system. Instead, we want \n"
+"to make certain requests \"expensive\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:107
+msgid ""
+"Hashcash is one technique that \n"
+"we can use to anonymously increase the \"cost\" of doing certain activities, \n"
+"such as creating a new router identity (done only once on installation), \n"
+"creating a new destination (done only once when creating a service), or \n"
+"requesting that a peer participate in a tunnel (done often, perhaps 2-300 \n"
+"times per hour). We don't know the \"correct\" cost of each type of certificate \n"
+"yet, but with some research and experimentation, we could set a base level \n"
+"that is sufficiently expensive while not an excessive burden for people \n"
+"with few resources."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:118
+msgid ""
+"There are a few other algorithms that we can explore for making those \n"
+"requests for resources \"nonfree\", and further research on that front is \n"
+"appropriate."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:128
+#, python-format
+msgid ""
+"To powerful passive external observers as well as large colluding internal \n"
+"observers, standard tunnel routing is vulnerable to traffic analysis attacks \n"
+"- simply watching the size and frequency of messages being passed between \n"
+"routers. To defend against these, we will want to essentially turn some \n"
+"of the tunnels into its own mix cascade - delaying messages received at \n"
+"the gateway and passing them in batches, reordering them as necessary, \n"
+"and injecting dummy messages (indistinguishable from other \"real\" tunnel \n"
+"messages by peers in the path). There has been a significant amount of \n"
+"research \n"
+"on these algorithms that we can lean on prior to implementing the various \n"
+"tunnel mixing strategies."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:141
+msgid ""
+"In addition to the anonymity aspects of more varied tunnel operation, \n"
+"there is a functional dimension as well. Each peer only has a certain \n"
+"amount of data they can route for the network, and to keep any particular \n"
+"tunnel from consuming an unreasonable portion of that bandwidth, they \n"
+"will want to include some throttles on the tunnel. For instance, a tunnel \n"
+"may be configured to throttle itself after passing 600 messages (1 per \n"
+"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n"
+"last minute). Excess messages may be delayed or summarily dropped. With \n"
+"this sort of throttling, peers can provide ATM-like QoS support for their \n"
+"tunnels, refusing to agree to allocate more bandwidth than the peer has \n"
+"available."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:154
+msgid ""
+"In addition, we may want to implement code to dynamically reroute tunnels \n"
+"to avoid failed peers or to inject additional hops into the path. This \n"
+"can be done by garlic routing a message to any particular peer in a tunnel \n"
+"with instructions to redefine the next-hop in the tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:165
+msgid ""
+"Beyond the per-tunnel batching and mixing strategy, there are further \n"
+"capabilities for protecting against powerful attackers, such as allowing \n"
+"each step in a garlic routed path to define a delay or window in which \n"
+"it should be forwarded on. This would enable protections against the long \n"
+"term intersection attack, as a peer could send a message that looks perfectly \n"
+"standard to most peers that pass it along, except at any peers where the \n"
+"clove exposed includes delay instructions."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:177
+#, python-format
+msgid ""
+"Performance related improvements are listed on the\n"
+"Performance page."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2
+msgid "Bounty Arabic translation of webpage and router console"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3
+#: i2p2www/pages/site/get-involved/bounties/index.html:114
+msgid "Arabic translation"
+msgstr "Arab fordítás"
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P echelon set out this bounty for translation\n"
+"of the I2P web page and I2P router console into Arabic."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12
+msgid "This bounty is set into 2 subparts:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14
+msgid "Part 1 is translation of the webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17
+msgid ""
+"For collecting the bounty of 20 BTC you need to translate the following "
+"pages:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25
+msgid ""
+"This job was done by hamada and the bounty of 20 BTC was paid to hamada."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27
+msgid ""
+"Part 2 is the translation of the router console. The router console was\n"
+"partly translated and the bounty of 80 BTC was paid to hamada."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34
+msgid "Judge is echelon."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2
+msgid "Bounty creating a I2P native Bitcoin client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3
+msgid "BTC I2P native client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P this bounty is to create a I2P native Bitcoin client. \n"
+"It should integrate with other client via the I2P network and via gateways to\n"
+"the existant bitcoin network."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15
+msgid ""
+"Judge is psychonaut who donated the first 30 € to this bounty.\n"
+"Bounty was almost fullfilled with btci2p, only a small\n"
+"part of creating a plugin is leftover. User giv has been paid for the work."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:2
+msgid "Bounty datastorage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:3
+msgid "datastore"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:6
+msgid ""
+"To improve I2P's usage and to be independent of routers \n"
+"online status we want a datastorage as a extension to I2P.\n"
+"Like in Freenet the datastorage should be distributed and every\n"
+"participating node should be able to configure his options.\n"
+"The files should be saved in chunks and at least 2-3 times to\n"
+"obtain redundancy. Usage of storage space should be auto balanced.\n"
+"As it is a extra application, it should work flawless within I2P and\n"
+"cooperate nice with the I2P router. Maybe a integration within the\n"
+"webpage/router could be done."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:17
+msgid ""
+"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n"
+"\"eepsites in datastorage\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:21
+msgid ""
+"The frost for I2P datastorage bounty is paid for a frost like program \n"
+"with which files/messages are stored into database and got from database.\n"
+"It needs to work with a GUI."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:26
+msgid ""
+"The eepsite served out of I2P datastorage extends a I2P router to send\n"
+"out eepsites out of the I2P datastorage. All files for eepsites need to be\n"
+"saved inside of datastorage and are taken from it.\n"
+"Extension:\n"
+"For better integration all datastorage participants could serve that eepsite."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:36
+msgid ""
+"For bounties to be declared done and paid, we need the program AND the source.\n"
+"Source and code need to be licensed under a free license (free to change and \n"
+"free to distribute)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2
+msgid "Bounty I2P package in Debian and Ubuntu mirrors"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3
+msgid "I2P Ubuntu/Debian package"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6
+msgid ""
+"For the future of I2P and in order to attract more people\n"
+"to I2P, this bounty was set for including an I2P package into the Ubuntu and Debian \n"
+"archive mirrors.\n"
+"To claim this bounty, the I2P router package needs to be available from\n"
+"Ubuntu and Debian archive mirrors and Debian bug \n"
+"448638 \n"
+"needs to be closed successfully.\n"
+"\n"
+"Done in 2017 by mhatta."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2
+msgid "Bounty I2PHex code implementation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3
+msgid "i2phex code implementation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2PHex P2P ArneBab setout the bounty for implementing actual\n"
+"Phex code onto I2PHex."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:2
+msgid "Bounties for I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:5
+msgid ""
+"While we always gratefully accept any contributions of code, \n"
+"documentation, and the like, there are other ways to help I2P move \n"
+"forward. As with any open source project, our goals would be achieved more \n"
+"rapidly if we were able to support all of our contributors to work on \n"
+"I2P full time. However, as with any open source project, that's not a \n"
+"possibility. Instead, we are making use of a bounty system, whereby \n"
+"anyone can get support for working on something that people want \n"
+"implemented, and people who want to contribute to I2P can be assured that \n"
+"their support goes to what they care about."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:17
+msgid ""
+"We are also keeping open the ability for people who want to support I2P \n"
+"but don't have strong feelings about the bounties available. Those people\n"
+"can simply put their trust in the I2P team to do what we feel is best by\n"
+"donating to a catch-all general fund that will be used as deemed \n"
+"necessary - allocated to various bounties, covering incidentals (hosting, \n"
+"etc), and the like."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:26
+msgid "Current bounties"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:77
+#: i2p2www/pages/site/get-involved/bounties/index.html:97
+msgid "Name"
+msgstr "Név"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:77
+#: i2p2www/pages/site/get-involved/bounties/index.html:97
+msgid "Status"
+msgstr "Állapot"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:77
+msgid "Judge"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:77
+msgid "Dev"
+msgstr "Fejlesztő"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:77
+msgid "Bounty"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:31
+msgid "Frost for I2P datastorage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:32
+#: i2p2www/pages/site/get-involved/bounties/index.html:39
+#: i2p2www/pages/site/get-involved/bounties/index.html:46
+#: i2p2www/pages/site/get-involved/bounties/index.html:67
+#: i2p2www/pages/site/get-involved/bounties/index.html:87
+msgid "Proposal in development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:34
+#: i2p2www/pages/site/get-involved/bounties/index.html:41
+#: i2p2www/pages/site/get-involved/bounties/index.html:48
+#: i2p2www/pages/site/get-involved/bounties/index.html:69
+#: i2p2www/pages/site/get-involved/bounties/index.html:82
+msgid "vacant"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:38
+msgid "Eepsites served out of I2P datastorage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:45
+msgid "Backporting Phex code onto I2PHex"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:52
+msgid "Bitcoin client for I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:53
+msgid "Done, phase of verification"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:59
+msgid "Unit tests and Multi-router Simulation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:60
+msgid "Partly done, partly in work, partly still open"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:74
+msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:79
+msgid "Bundling bounties"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:80
+msgid "Proposed"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:94
+msgid "Claimed bounties"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:97
+msgid "Dev team"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:99
+msgid "I2P package in Debian and Ubuntu mirrors"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:104
+msgid "Make I2P IPv6 native"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:109
+msgid "Setting up a SILC server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:119
+msgid "Datastore over I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:124
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3
+msgid "Russian translation"
+msgstr "Orosz fordítás"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:129
+msgid "Swarming file transfer"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:134
+msgid "Streaming library window size"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:139
+msgid "IRC connect time monitor"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:144
+msgid "Unit tests (part 1)"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:156
+msgid ""
+"Dev lists anyone who may already be working on the bounty - collaboration is\n"
+"preferred, so if you're interested in working on it, please contact one of the\n"
+"people listed!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2
+msgid "Bounty I2P IPv6 native"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3
+msgid "native IPv6 I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n"
+"To claim this bounty, the I2P router needs to run full on native\n"
+"IPv6 connections like it does on IPv4."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:23
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20
+msgid ""
+"For bounties to be declared done and paid, we need the plugin AND the source.\n"
+"Source and code need to be licensed under a free license (free to change and \n"
+"free to distribute)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:2
+msgid "NetDB Backend"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:3
+msgid "netDB backend"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:7
+msgid ""
+"The current NetDB implementation (namely the FloodFill system)\n"
+"needs to be extended with another backend to improve reliability,\n"
+"reduce attack surface and solve the scalability issue for the \n"
+"coming years."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:14
+msgid ""
+"A solution likely based on a DHT will be investigated and \n"
+"finally implemented."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2
+msgid "Bounty russian translation of webpage and router console"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P a anonymous donator set out the bounty for translation\n"
+"of the I2P web page and I2P router console into russian language."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17
+msgid ""
+"For collecting the bounty of $115 USD you need to translate the following "
+"pages:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30
+msgid ""
+"Part 2 is the translation of the router console. The whole router console needs\n"
+"to be translated to collect the bounty of $115 USD."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37
+msgid "Judge is the russian donor."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:2
+msgid "Bounty migrate I2P IRC to SILC"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:3
+msgid "I2P silc server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:7
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P this bounty is to setup and host a I2P SILC server. \n"
+"This will allow people to send files over their messaging servers and have intrinsic security built into the protocol."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:12
+msgid ""
+"A silc server needs to be set up and run for at least 3 month time to get payed. \n"
+"A second server should be set up, too."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:16
+msgid ""
+"Bounty was withdrawn and money donated to returningnovice and general fund."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:22
+msgid "Judge is An Anonymous Secret Society, society@mail.i2p."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3
+msgid "Syndie development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7
+msgid ""
+"Beside of I2P we want to encourage users\n"
+"to care more about anonymity and security. As I2P is a low \n"
+"latency network with its natural limits, the software SYNDIE\n"
+"can overcome some of these limits and provide better anonymity\n"
+"for people who really need it."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14
+msgid ""
+"For our bad sake the syndie project was out of development for \n"
+"quite a long time yet (5 years) and has been updated just with\n"
+"small fixes to keep it running. To get a fresh and new built \n"
+"with needed bugfixes we set out this bounty. Also syndie needs\n"
+"some enhancements and a better GUI for users to work with it.\n"
+"Current bounty sum is 3 Bitcoin."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:23
+msgid ""
+"The latest Syndie coding rally did improve the situation of the\n"
+"Syndie package dramatically. A new Syndie package with bugfixes\n"
+"was created and made available on different webpages.\n"
+"As a result of this work, the bounty sum was reduced and\n"
+"the withdrawn money moved to the IPv6 bounty."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2
+msgid "Bounty unittests"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3
+msgid "unit test"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7
+msgid ""
+"To improve I2P's maintainability, we want to have a solid set of\n"
+"automated unit tests for the critical code. While we do have some\n"
+"unit tests at the moment, they are ad-hoc and partly unfinished. \n"
+"This bounty is for someone to check the existing tests and move over\n"
+"old ones to jUnit, automate their execution, extend them to provide \n"
+"better code coverage, and publish the report online. Its a massive \n"
+"effort, but can be broken down into phases, listed below (phase 2 \n"
+"must occur first, but further phases may happen in any order).\n"
+"As this needs some reading of code, it is the best start point for\n"
+"new devs to get a good overview of I2P code and coding. A good job\n"
+"for college students, interns or anyone who is just interested."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20
+msgid ""
+"Take care! Jobs and bounties shuffled a bit!\n"
+"Phase 6,7 and 8 are still open!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112
+#, python-format
+msgid "Phase %(phase)s:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27
+msgid "CI jenkins and IRC bot"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114
+#, python-format
+msgid "Bounty: %(euro)s €"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29
+msgid "server runs and this section is blocked"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31
+msgid ""
+"To collect this bounty, a continuous integration server (Jenkins,\n"
+"old name was Hudson) must be set up and a connected IRC bot needs \n"
+"to set up in the channel #i2p-dev on IRC2p network to print out\n"
+"results of build tests.
\n"
+"The server needs to be run long term."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41
+msgid "Check existing SDK tests"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69
+msgid "paid to str4d"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45
+#, python-format
+msgid ""
+"To collect this bounty, the existing SDK tests must be checked \n"
+"and made to work again. The need to be integrated into the ant \n"
+"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g. \n"
+"Clover). The ant script\n"
+"must be capable of generating test status results as a web page, \n"
+"which will be published online."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56
+msgid "SDK test coverage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80
+msgid "paid to unittests dev team"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60
+msgid ""
+"To collect this bounty, the automated unit tests of the SDK \n"
+"(i2p/core/java/src) must work again."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67
+msgid "Router test migration"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71
+msgid ""
+"As with phase 2, the existing unit tests for the router must be\n"
+"moved over to the automated system."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78
+msgid "Router test coverage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82
+msgid ""
+"To collect this bounty, the automated unit tests of the router \n"
+"(i2p/router/java/src) must work again."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89
+msgid "Streaming lib tests"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94
+msgid ""
+"To collect this bounty, a new set of unit tests must meet a \n"
+"measured code coverage of 90% of the streaming lib \n"
+"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102
+msgid "Unit tests coverage"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106
+msgid ""
+"To collect this bounty, all above unit tests must meet the 100%\n"
+"coverage marker (except for log statements)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113
+msgid "MultiRouter simulation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115
+msgid "will be split in more sub-tasks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117
+msgid ""
+"To collect this bounty, the existing in-memory multi-router\n"
+"simulation must be checked, made work again and extend to simulate\n"
+"lots of routers in memory on a single machine. This bounty will\n"
+"be split in more fine grained subworks."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126
+msgid ""
+"Judge on all these works is the donor and donor decides if a phase is\n"
+"called succesfull done and money can be paid."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2
+msgid "Bounty I2P vuze plugin"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3
+msgid "vuze plugin"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P torrent P2P I setout the bounty for a working I2P vuze\n"
+"plugin.\n"
+"The plugin needs to be official and submitted to vuze for publication\n"
+"on their webpage/repository for plugins.\n"
+"It should be easy to install and configured, work smooth and flawless.\n"
+"Configuration should be friendly to starters and made easy to be anonymous.\n"
+"It should work with *.b32.i2p destinations as with signed (516++ bits) \n"
+"destinations."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:2
+msgid "Application Development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:3
+msgid "May 2013"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:7
+#: i2p2www/pages/site/get-involved/develop/applications.html:15
+msgid "Why write I2P-specific code?"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:8
+#: i2p2www/pages/site/get-involved/develop/applications.html:101
+msgid "Important concepts"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:9
+#: i2p2www/pages/site/get-involved/develop/applications.html:189
+msgid "Development options"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:10
+#: i2p2www/pages/site/get-involved/develop/applications.html:302
+msgid "Start developing - a simple guide"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:17
+#, python-format
+msgid ""
+"There are multiple ways to use applications in I2P.\n"
+"Using I2PTunnel,\n"
+"you can use regular applications without needing to program explicit I2P support.\n"
+"This is very effective for client-server scenario's,\n"
+"where you need to connect to a single website.\n"
+"You can simply create a tunnel using I2PTunnel to connect to that website, as shown in Figure 1."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:25
+msgid ""
+"If your application is distributed, it will require connections to a large amount of peers.\n"
+"Using I2PTunnel, you will need to create a new tunnel for each peer you want to contact,\n"
+"as shown in Figure 2.\n"
+"This process can of course be automated, but running a lot of I2PTunnel instances creates a large amount of overhead.\n"
+"In addition, with many protocols you will need to force everyone to \n"
+"use the same set of ports for all peers - e.g. if you want to reliably run DCC \n"
+"chat, everyone needs to agree that port 10001 is Alice, port 10002 is Bob, port \n"
+"10003 is Charlie, and so on, since the protocol includes TCP/IP specific information\n"
+"(host and port)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:36
+msgid ""
+"General network applications often send a lot of additional data that could be used to identify users.\n"
+"Hostnames, port numbers, time zones, character sets, etc. are often sent without informing the user.\n"
+"As such, designing the network protocol specifically with anonymity in mind\n"
+"can avoid compromising user identities."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:42
+msgid ""
+"There are also efficiency considerations to review when determining how to \n"
+"interact on top of I2P. The streaming library and things built on top of it\n"
+"operate with handshakes similar to TCP, while the core I2P protocols (I2NP and I2CP)\n"
+"are strictly message based (like UDP or in some instances raw IP). The important\n"
+"distinction is that with I2P, communication is operating over a long fat network - \n"
+"each end to end message will have nontrivial latencies, but may contain payloads \n"
+"of up to several KB. An application that needs a simple request and response can get rid\n"
+"of any state and drop the latency incurred by the startup and teardown handshakes\n"
+"by using (best effort) datagrams without having to worry about MTU detection or \n"
+"fragmentation of messages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:56
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid ""
+"Creating a server-client connection using I2PTunnel only requires creating a"
+" single tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid "Figure 1:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:63
+#: i2p2www/pages/site/get-involved/develop/applications.html:65
+msgid ""
+"Setting up connections for a peer-to-peer applications requires a very large"
+" amount of tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:65
+msgid "Figure 2:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:69
+msgid "In summary, a number of reasons to write I2P-specific code:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:73
+msgid ""
+"Creating a large amount of I2PTunnel instances consumes a non-trivial amount of resources,\n"
+"which is problematic for distributed applications (a new tunnel is required for each peer)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:77
+msgid ""
+"General network protocols often send a lot of additional data that can be used to identify users.\n"
+"Programming specifically for I2P allows the creation of a network protocol\n"
+"that does not leak such information, keeping users anonymous and secure."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:82
+msgid ""
+"Network protocols designed for use on the regular internet can be inefficient\n"
+"on I2P, which is a network with a much higher latency."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:89
+#, python-format
+msgid ""
+"I2P supports a standard plugins interface for developers\n"
+"so that applications may be easily integrated and distributed."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:95
+msgid ""
+"Applications written in Java and accessible/runnable\n"
+"using an HTML interface via the standard webapps/app.war\n"
+"may be considered for inclusion in the i2p distribution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:103
+msgid "There are a few changes that require adjusting to when using I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:107
+msgid "Destination ~= host+port"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:109
+msgid ""
+"An application running on I2P sends messages from and receives messages to a\n"
+"unique cryptographically secure end point - a \"destination\". In TCP or UDP\n"
+"terms, a destination could (largely) be considered the equivalent of a hostname\n"
+"plus port number pair, though there are a few differences."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:117
+msgid ""
+"An I2P destination itself is a cryptographic construct - all data sent to one is \n"
+"encrypted as if there were universal deployment of IPsec with the (anonymized)\n"
+"location of the end point signed as if there were universal deployment of DNSSEC."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:122
+msgid ""
+"I2P destinations are mobile identifiers - they can be moved from one I2P router\n"
+"to another (or it can even \"multihome\" - operate on multiple routers at\n"
+"once). This is quite different from the TCP or UDP world where a single end point (port)\n"
+"must stay on a single host."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:129
+msgid ""
+"I2P destinations are ugly and large - behind the scenes, they contain a 2048 bit ElGamal\n"
+"public key for encryption, a 1024 bit DSA public key for signing, and a variable size \n"
+"certificate, which may contain proof of work or blinded data."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:134
+#, python-format
+msgid ""
+"There are existing ways to refer to these large and ugly destinations by short\n"
+"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not guarantee\n"
+"globally uniqueness (since they're stored locally in a database on each person's machine)\n"
+"and the current mechanism is not especially scalable nor secure (updates to the host list are\n"
+"managed using \"subscriptions\" to naming services).\n"
+"There may be some secure, human readable, scalable, and globally \n"
+"unique, naming system some day, but applications shouldn't depend upon it being in place,\n"
+"since there are those who don't think such a beast is possible.\n"
+"Further information on the naming system is available."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:148
+#, python-format
+msgid ""
+"While most applications do not need to distinguish protocols and ports,\n"
+"I2P does support them. Complex applications may specify a protocol,\n"
+"from port, and to port, on a per-message basis, to multiplex traffic on\n"
+"a single destination.\n"
+"See the datagram page for details.\n"
+"Simple applications operate by listening for \"all protocols\" on \"all ports\" of a destination."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:157
+msgid "Anonymity and confidentiality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:159
+msgid ""
+"I2P has transparent end to end encryption\n"
+"and authentication for all data passed over the network - if Bob sends to Alice's destination,\n"
+"only Alice's destination can receive it, and if Bob is using the datagrams or streaming \n"
+"library, Alice knows for certain that Bob's destination is the one who sent the data."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:166
+msgid ""
+"Of course, I2P transparently anonymizes the\n"
+"data sent between Alice and Bob, but it does nothing to anonymize the content of what they\n"
+"send. For instance, if Alice sends Bob a form with her full name, government IDs, and \n"
+"credit card numbers, there is nothing I2P can do. As such, protocols and applications should \n"
+"keep in mind what information they are trying to protect and what information they are willing\n"
+"to expose."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:175
+msgid "I2P datagrams can be up to several KB"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:177
+#, python-format
+msgid ""
+"Applications that use I2P datagrams (either raw or repliable ones) can essentially be thought\n"
+"of in terms of UDP - the datagrams are unordered, best effort, and connectionless - but unlike\n"
+"UDP, applications don't need to worry about MTU detection and can simply fire off large datagrams.\n"
+"While the upper limit is nominally 32 KB, the message is fragmented for transport, thus dropping\n"
+"the reliability of the whole. Datagrams over about 10 KB are not currently recommended.\n"
+"See the datagram page for details.\n"
+"For many applications, 10 KB of data is sufficient for an\n"
+"entire request or response, allowing them to transparently operate in I2P as a UDP-like \n"
+"application without having to write fragmentation, resends, etc."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:191
+msgid ""
+"There are several means of sending data over I2P, each with their own pros and cons.\n"
+"The streaming lib is the recommended interface, used by the majority of I2P applications."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:196
+msgid "Streaming Lib"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:197
+#, python-format
+msgid ""
+"The full streaming library is now the standard\n"
+"interface. It allows programming using TCP-like sockets, as explained in the Streaming development guide."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:203
+#, python-format
+msgid ""
+"BOB is the Basic Open Bridge,\n"
+"allowing an application in any language to make streaming connections \n"
+"to and from I2P. At this point in time it lacks UDP support, but UDP support\n"
+"is planned in the near future. BOB also contains several tools, such as \n"
+"destination key generation, and verification that an address conforms to \n"
+"I2P specifications. Up to date info and applications that use BOB can be \n"
+"found at this eepsite."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:216
+msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:217
+#, python-format
+msgid ""
+"SAM is the Simple Anonymous Messaging protocol, allowing an\n"
+"application written in any language to talk to a SAM bridge through a plain TCP socket and have\n"
+"that bridge multiplex all of its I2P traffic, transparently coordinating the encryption/decryption\n"
+"and event based handling. SAM supports three styles of operation:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:224
+msgid ""
+"streams, for when Alice and Bob want to send data to each other reliably and"
+" in order"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:227
+msgid ""
+"repliable datagrams, for when Alice wants to send Bob a message that Bob can"
+" reply to"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:230
+msgid ""
+"raw datagrams, for when Alice wants to squeeze the most bandwidth and performance as possible,\n"
+"and Bob doesn't care whether the data's sender is authenticated or not (e.g. the data transferred\n"
+"is self authenticating)"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:236
+msgid ""
+"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n"
+"multiplexing/demultiplexing. Each I2P stream is handled by its own socket between the application\n"
+"and the SAM bridge. Besides, datagrams can be sent and received by the application through datagram\n"
+"communications with the SAM bridge."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:243
+#, python-format
+msgid ""
+"SAM V2 is a new version used by imule\n"
+"that fixes some of the problems in SAM.\n"
+"
\n"
+"SAM V3 is used by imule since version 1.4.0."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:251
+msgid ""
+"The I2PTunnel application allows applications to build specific TCP-like tunnels to peers \n"
+"by creating either I2PTunnel 'client' applications (which listen on a specific port and connect\n"
+"to a specific I2P destination whenever a socket to that port is opened) or I2PTunnel 'server'\n"
+"applications (which listen to a specific I2P destination and whenever it gets a new I2P \n"
+"connection it outproxies to a specific TCP host/port). These streams are 8-bit clean, and are\n"
+"authenticated and secured through the same streaming library that SAM uses, but there is a \n"
+"nontrivial overhead involved with creating multiple unique I2PTunnel instances, since each have\n"
+"their own unique I2P destination and their own set of tunnels, keys, etc."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:263
+msgid ""
+"I2P supports a SOCKS V4 and V5 proxy.\n"
+"Outbound connections work well. Inbound (server) and UDP functionality may be incomplete\n"
+"and untested."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:270
+msgid "Removed"
+msgstr "Eltávolítva"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:271
+msgid ""
+"There used to be a simple \"ministreaming\" library,\n"
+"but now ministreaming.jar contains only the interfaces for the full streaming library."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:276
+msgid "Datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:277
+msgid "Recommended for UDP-like applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:278
+#, python-format
+msgid ""
+"The Datagram library allows sending UDP-like packets.\n"
+"It's possible to use:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:283
+msgid "Repliable datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:284
+msgid "Raw datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:288
+msgid "Not recommended"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:289
+#, python-format
+msgid ""
+"I2CP itself is a language independent protocol, but to implement an I2CP library \n"
+"in something other than Java there is a significant amount of code to be written (encryption routines, \n"
+"object marshalling, asynchronous message handling, etc). While someone could write an I2CP library in \n"
+"C or something else, it would most likely be more useful to use the C SAM library instead."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:296
+msgid "Web Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:297
+msgid ""
+"I2P comes with the Jetty webserver, and configuring to use the Apache server instead is straightforward.\n"
+"Any standard web app technology should work."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:303
+msgid ""
+"Developing using I2P requires a working I2P installation and a development environment of your own choice.\n"
+"If you are using Java, you can start development with the streaming library or datagram library.\n"
+"Using another programming language, SAM or BOB can be used."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:309
+msgid "Developing with the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:311
+msgid ""
+"The following example shows how to create TCP-like client and server applications\n"
+"using the streaming library."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:316
+msgid "This will require the following libraries in your classpath:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:320
+msgid "The streaming library itself"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:321
+msgid "Factory and interfaces for the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:322
+msgid "Standard I2P classes, data structures, API, and utilities"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:325
+msgid ""
+"You can fetch these from an I2P installation, or add the following dependencies\n"
+"from Maven Central:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:334
+msgid ""
+"Network communication requires the usage of I2P network sockets.\n"
+"To demonstrate this, we will create an application where a client can send text messages to a server,\n"
+"who will print the messages and send them back to the client. In other words, the server will function as an echo."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:339
+msgid ""
+"We will start by initializing the server application. This requires getting an I2PSocketManager\n"
+"and creating an I2PServerSocket.\n"
+"We will not provide the I2PSocketManagerFactory with the saved keys for an existing Destination,\n"
+"so it will create a new Destination for us.\n"
+"So we will ask the I2PSocketManager for an I2PSession, so we can find out the Destination that\n"
+"was created, as we will need to copy and paste that information later so the client can connect to us."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:370
+msgid "Code example 1: initializing the server application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:372
+msgid ""
+"Once we have an I2PServerSocket, we can create I2PSocket instances to accept connections from clients.\n"
+"In this example, we will create a single I2PSocket instance, that can only handle one client at a time.\n"
+"A real server would have to be able to handle multiple clients.\n"
+"To do this, multiple I2PSocket instances would have to be created, each in separate threads.\n"
+"Once we have created the I2PSocket instance, we read data, print it and send it back to the client.\n"
+"The bold code is the new code we add."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:456
+msgid ""
+"Code example 2: accepting connections from clients and handling messages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:460
+msgid ""
+"When you run the above server code, it should print something like this (but without the line endings, it should just be\n"
+"one huge block of characters):"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:474
+msgid ""
+"This is the base64-representation of the server Destination. The client will"
+" need this string to reach the server."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:478
+msgid ""
+"Now, we will create the client application. Again, a number of steps are required for initialization.\n"
+"Again, we will need to start by getting an I2PSocketManager.\n"
+"We won't use an I2PSession and an I2PServerSocket this time.\n"
+"Instead, we will use the server Destination string to start our connection.\n"
+"We will ask the user for the Destination string, and create an I2PSocket using this string.\n"
+"Once we have an I2PSocket, we can start sending and receiving data to and from the server."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:562
+msgid ""
+"Code example 3: starting the client and connecting it to the server "
+"application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:564
+msgid ""
+"Finally, you can run both the server and the client application.\n"
+"First, start the server application. It will print a Destination string (like shown above).\n"
+"Next, start the client application. When it requests a Destination string, you can enter the string printed by the server.\n"
+"The client will then send 'Hello I2P!' (along with a newline) to the server, who will print the message and send it back to the client."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:570
+msgid "Congratulations, you have successfully communicated over I2P!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:574
+msgid "Existing Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:575
+msgid "Contact us if you would like to contribute."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:596
+msgid "Application Ideas"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:598
+msgid "NNTP server - there have been some in the past, none at the moment"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:601
+msgid ""
+"Jabber server - there have been some in the past, and there is one at the "
+"moment, with access to the public internet"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:604
+msgid "PGP Key server and/or proxy"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:607
+msgid ""
+"Content Distribution / DHT applications - resurrect feedspace,\n"
+"port dijjer, look for alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:611
+msgid "Help out with Syndie development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:614
+msgid ""
+"Web-based applications - The sky is the limit for hosting web-server-based\n"
+"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n"
+"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:619
+msgid ""
+"Resurrect some old apps, several previously in the i2p source package -\n"
+"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2
+msgid "I2P Developer's MTN Keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4
+msgid ""
+"Monotone servers used by the I2P project require two types of keys to be "
+"used."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:8
+msgid ""
+"Commit Keys to sign changes checked-in to the "
+"respository; and"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9
+msgid ""
+"Transport Keys to push changes to remote servers."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:12
+#, python-format
+msgid ""
+"Everyone that uses Monotone to checkout the I2P codebase will need to\n"
+"import the\n"
+"developer commit keys, but only Monotone \n"
+"server operators will need to import the transport keys."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:19
+msgid "Developer Commit keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:298
+msgid "Developer Transport Keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:299
+#, python-format
+msgid ""
+"Note: Transport keys are only needed for setting up a\n"
+"Monotone server."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2
+msgid "License Agreements"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5
+#, python-format
+msgid "For more information see the licenses page."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8
+msgid ""
+"Following is a monotonerc file defining the current trust list.\n"
+"Developers must use this file in ~/.monotone/monotonerc or\n"
+"_MTN/montonerc in their i2p.i2p workspace."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17
+msgid "Agreements"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:2
+msgid "I2P Software Licenses"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:4
+#, python-format
+msgid ""
+"As required by our\n"
+"threat model (among other reasons), the \n"
+"software developed to support the anonymous communication \n"
+"network we call I2P must be freely available, open source, \n"
+"and user modifiable. To meet these criteria, we make use of\n"
+"a variety of legal and software engineering techniques so\n"
+"as to remove as many barriers to entry for those considering\n"
+"making use of or contributing to the I2P effort."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:15
+msgid ""
+"While the information below may be more confusing than just simply \n"
+"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n"
+"the short answer to the question \"How is I2P licensed?\" is this:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:21
+msgid "All software bundled in the I2P distributions will allow:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:23
+msgid "use without fee"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:24
+msgid ""
+"use with no restrictions on how, when, where, why, or by whom is running it"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:25
+msgid "access to the source code without fee"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:26
+msgid "modifications to the source"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:29
+msgid ""
+"Most of the software guarantees much more - the ability of anyone to \n"
+"distribute the modified source however they choose. However, not all of the \n"
+"software bundled provides this freedom - the GPL restricts the ability of \n"
+"developers who wish to integrate I2P with their own applications that are not \n"
+"themselves open source applications. While we applaud the noble goals of \n"
+"increasing the resources in the commons, I2P is best served by removing any\n"
+"barriers that stand in the way of its adoption - if a developer considering whether\n"
+"they can integrate I2P with their application has to stop and check with their lawyer,\n"
+"or conduct a code audit to make sure their own source can be released as GPL-compatible,\n"
+"we lose out."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:42
+msgid "Component licenses"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:43
+msgid ""
+"The I2P distribution contains several resources, reflecting the partitioning of \n"
+"the source code into components. Each component has its own license, which all \n"
+"developers who contribute to it agree to - either by explicitly declaring the release\n"
+"of code committed under a license compatible with that component, or by implicitly\n"
+"releasing the code committed under the component's primary license. Each of these \n"
+"components has a lead developer who has the final say as to what license is compatible\n"
+"with the component's primary license, and the I2P project manager has the final say as\n"
+"to what licenses meet the above four guarantees for inclusion in the I2P distribution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:56
+msgid "Component"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:57
+msgid "Source path"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:58
+msgid "Resource"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:59
+msgid "Primary license"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:60
+msgid "Alternate licenses"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:61
+msgid "Lead developer"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:275
+msgid "GPL + java exception"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:276
+#, python-format
+msgid ""
+"While it may be redundant, just for clarity the\n"
+"GPL'ed code included within\n"
+"I2PTunnel and other apps must be released under the GPL with an additional \"exception\"\n"
+"explicitly authorizing the use of Java's standard libraries:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:292
+msgid ""
+"All source code under each component will by default be licensed under the\n"
+"primary license, unless marked otherwise in the code. All of the above is\n"
+"summary of the license terms - please see the specific license for the component\n"
+"or source code in question for authoritative terms. Component source locations and\n"
+"resource packaging may be changed if the repository is reorganized."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:300
+msgid "Website content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:308
+msgid "Commit privileges"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:309
+#, python-format
+msgid ""
+"Developers may push changes to a distributed monotone repository if you\n"
+"receive permission from the person running that repository.\n"
+"See the Monotone Page for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:315
+msgid ""
+"However, to have changes included in a release, developers\n"
+"must be trusted by the release manager (currently zzz).\n"
+"In addition, they must explicitly agree with the above terms to be trusted.\n"
+"That means that they must send one of the release managers a signed message affirming that:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:322
+msgid ""
+"Unless marked otherwise, all code I commit is implicitly licensed under\n"
+"the component's primary license"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:326
+msgid ""
+"If specified in the source, the code may be explicitly licensed under one\n"
+"of the component's alternate licenses"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:330
+msgid ""
+"I have the right to release the code I commit under the terms I\n"
+"am committing it"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:336
+#, python-format
+msgid ""
+"If anyone is aware of any instances where the above conditions are not met,\n"
+"please contact the component lead and/or an I2P release manager with further\n"
+"information.\n"
+"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 ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4
+msgid "Releases 0.7.6 and later are signed by zzz. His current public key is:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:190
+msgid ""
+"Releases from 0.9.9 could be signed by str4d. His current public key is:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:563
+msgid "str4d has signed the following releases:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:571
+msgid ""
+"Releases 0.7.6 through 0.9.12 were signed by zzz with the following key:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:607
+msgid ""
+"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public key "
+"is:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/security-key.html:2
+msgid "Security GPG Key"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/security-key.html:4
+msgid ""
+"Following is the GPG key for the security _at_ geti2p.net email address:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2
+msgid "Signed Developer Keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4
+msgid ""
+"Keys for zzz, Complication and welterde are provided clearsigned. The key for jrandom must be\n"
+"verified differently, since he's away, and only left a binary detached\n"
+"signature for his key."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16
+msgid "Monotone keys for zzz"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47
+msgid "Monotone keys for welterde"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79
+msgid "Monotone keys for Complication"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114
+msgid "Monotone keys for jrandom"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169
+msgid "Others"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17
+msgid ""
+"Tip: To find zzz's GPG key, on his eepsite locate the key `0xA76E0BED`, with\n"
+"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 B310 4155\n"
+"76BA A76E 0BED`."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49
+msgid ""
+"Tip: To find welterde's GPG key, on public keyservers locate the key\n"
+"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720 FD81\n"
+"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81
+msgid ""
+"Tip: To find Complication's GPG key, on his eepsite locate the key\n"
+"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint `73CF\n"
+"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116
+msgid ""
+"Tip: To find jrandom's GPG key for Syndie releases, on public keyservers locate\n"
+"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n"
+"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122
+msgid ""
+"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n"
+"deployed in the Syndie Monotone repository, in a file named `mtn-committers`.\n"
+"That file also had a GPG signature, `mtn-committers.sig`, but it was a binary\n"
+"detached signature. I am going to supply both files in GPG ASCII-armoured form\n"
+"below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130
+msgid ""
+"First, the file `mtn-committers` containing jrandom's Monotone key. Save as\n"
+"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers --dearmor\n"
+"mtn-committers.asc`:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151
+msgid ""
+"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n"
+"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-committers.sig\n"
+"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n"
+"`mtn-committers` file:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170
+#, python-format
+msgid ""
+"Some of the developers have included their Monotone keys in their signed license agreement."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2
+msgid "Developer Guidelines and Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:5
+#, python-format
+msgid "Read the new developers guide first."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:9
+msgid "Basic Guidelines and Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:11
+msgid ""
+"Most of the following should be common sense for anybody who has worked on open source or in a commercial\n"
+"programming envrionment.\n"
+"The following applies mostly to the main development branch i2p.i2p.\n"
+"Guidelines for other branches, plugins, and external apps may be substantially different;\n"
+"check with the appropriate developer for guidance."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:19
+msgid "Community"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:21
+msgid ""
+"Please don't just \"write code\". If you can, participate in other development activities, including:\n"
+"development discussions and support on IRC, zzz.i2p, and forum.i2p; testing;\n"
+"bug reporting and responses; documentation; code reviews; etc."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:26
+msgid ""
+"Active devs should be available periodically on IRC #i2p-dev.\n"
+"Be aware of the current release cycle.\n"
+"Adhere to release milestones such as feature freeze, tag freeze, and\n"
+"the checkin deadline for a release."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35
+msgid "Release Cycle"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:36
+msgid ""
+"Our normal release cycle is 6-10 weeks.\n"
+"Following are the approximate deadlines within a typical 8-week cycle.\n"
+"Actual deadlines for each release are set by the lead developer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:43
+msgid "1-2 days after previous release: Checkins to trunk are allowed."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:46
+msgid ""
+"2-3 weeks after previous release: Deadline to propagate major changes from "
+"other branches to trunk."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:49
+msgid "4-5 weeks before release: Deadline to request new home page links."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:52
+msgid ""
+"3-4 weeks before release: Feature freeze. Deadline for major new features."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:55
+msgid ""
+"2-3 weeks before release: Hold project meeting to review new home page link "
+"requests, if any."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:58
+msgid ""
+"7-10 days before release: String freeze. No more changes to translated (\"tagged\") strings.\n"
+"Push strings to Transifex, announce translation deadline on Transifex."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:62
+msgid ""
+"7-10 days before release: Feature deadline. Bug fixes only after this time. "
+"No more features, refactoring or cleanup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:65
+msgid ""
+"3-4 days before release: Translation deadline. Pull translations from "
+"Transifex and check in."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
+msgid ""
+"2-3 days before release: Checkin deadline. No checkins after this time "
+"without the permission of the release builder."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:71
+msgid "Hours before release: Code review deadline."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:80
+msgid ""
+"Have a basic understanding of distributed source control systems, even if you haven't\n"
+"used monotone before. Ask for help if you need it.\n"
+"Once pushed, checkins are forever, there is no undo. Please be careful.\n"
+"If you have not used monotone before, start with baby steps.\n"
+"Check in some small changes and see how it goes."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87
+msgid ""
+"Test your changes before checking them in.\n"
+"If you prefer the checkin-before-test development model,\n"
+"use your own development branch (e.g. i2p.i2p.yourname.test)\n"
+"and propagate back to i2p.i2p once it is working well.\n"
+"Do not break the build. Do not cause regressions.\n"
+"In case you do (it happens), please do not vanish for a long period after\n"
+"you push your change."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:96
+msgid ""
+"If your change is non-trivial, or you want people to test it and need good test reports\n"
+"to know whether your change was tested or not, add a checkin comment to history.txt\n"
+"and increment the build revision in RouterVersion.java."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101
+msgid ""
+"Ensure that you have the latest monotonerc file in _MTN.\n"
+"Do not check in on top of untrusted revisions."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:105
+msgid ""
+"Ensure that you 'mtn pull' and 'mtn update' to the latest revision before you check in and push.\n"
+"If you inadvertently diverge, merge and push as soon as possible.\n"
+"Don't routinely make others merge for you.\n"
+"Yes, we know that monotone says you should push and then merge,\n"
+"but in our experience, in-workspace merge works just as well as in-database merge,\n"
+"without creating a merge revision."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:113
+msgid ""
+"Do not check in major changes into the main i2p.i2p branch late in the release cycle.\n"
+"If a project will take you more than a couple days, create your own branch in monotone\n"
+"and do the development there so you do not block releases."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:120
+msgid "Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:122
+msgid ""
+"Coding style throughout most of the code is 4-spaces for indentation. Do not use tabs.\n"
+"Do not reformat code. If your IDE or editor wants to reformat everything, get control of it.\n"
+"Yes, we know 4 spaces is a pain, but perhaps you can configure your editor appropriately.\n"
+"In some places, the coding style is different.\n"
+"Use common sense. Emulate the style in the file you are modifying."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:129
+msgid ""
+"All new public and package-private classes and methods require Javadocs. Add @since release-number.\n"
+"Javadocs for new private methods are desirable."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
+msgid ""
+"For any Javadocs added, there must not be any doclint errors or warnings.\n"
+"Run 'ant javadoc' with Oracle Java 8 or higher to check.\n"
+"All params must have @param lines, all non-void methods must have @return lines,\n"
+"all exceptions declared thrown must have @throws lines, and no HTML errors."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:139
+msgid ""
+"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our official API.\n"
+"There are several out-of-tree plugins and other applications that rely on this API.\n"
+"Be careful not to make any changes that break compatibility.\n"
+"Don't add methods to the API unless they are of general utility.\n"
+"Javadocs for API methods should be clear and complete.\n"
+"If you add or change the API, also update the documentation on the website (i2p.www branch)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:147
+msgid ""
+"Tag strings for translation where appropriate.\n"
+"Don't change existing tagged strings unless really necessary, as it will break existing translations.\n"
+"Do not add or change tagged strings after the \"tag freeze\" in the release cycle so that\n"
+"translators have a chance to update before the release."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:153
+msgid ""
+"Use generics and concurrent classes where possible. I2P is a highly multi-"
+"threaded application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:156
+msgid ""
+"Be familiar with common Java pitfalls that are caught by findbugs.\n"
+"Run 'ant findbugs' to learn more."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:160
+msgid ""
+"We require Java 7 to build and run I2P.\n"
+"Do not use Java 8 classes or methods anywhere.\n"
+"Do not use Java 7 or 8 classes or methods in embedded subsystems (core, router, mstreaming, streaming, i2ptunnel),\n"
+"as Android and embedded applications require only Java 6. All classes must be available in Android API 9.\n"
+"Java 7 language features are acceptable in these subsystems if supported by the current version\n"
+"of the Android SDK and they compile to Java 6-compatible code."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:168
+msgid ""
+"Explicitly convert between primitive types and classes;\n"
+"don't rely on autoboxing/unboxing."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:172
+msgid "Don't use URL. Use URI."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:175
+msgid ""
+"Don't catch Exception. Catch RuntimeException and checked exceptions "
+"individually."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:178
+msgid ""
+"Don't use String.getBytes() without a UTF-8 charset argument. You may also "
+"use DataHelper.getUTF8() or DataHelper.getASCII()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:181
+msgid ""
+"Always specify a UTF-8 charset when reading or writing files. The DataHelper"
+" utilities may be helpful."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:184
+msgid ""
+"Always specify a locale (for example Locale.US) when using String.toLowerCase() or String.toUpperCase().\n"
+"Do not use String.equalsIgnoreCase(), as a locale cannot be specified."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:188
+msgid "Don't use String.split(). Use DataHelper.split()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:191
+msgid ""
+"Ensure that InputStreams and OutputStreams are closed in finally blocks."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:194
+msgid ""
+"Use {} for all for and while blocks, even if only one line.\n"
+"If you use {} for either the if, else, or if-else block, use it for all blocks.\n"
+"Put \"} else {\" on a single line."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:199
+msgid "Specify fields as final wherever possible."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:202
+msgid ""
+"Don't store I2PAppContext, RouterContext, Log, or any other references to "
+"router or context items in static fields."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:205
+msgid ""
+"Don't start threads in constructors. Use I2PAppThread instead of Thread."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:210
+msgid "Licenses"
+msgstr "Licencek"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:212
+msgid ""
+"Only check in code that you wrote yourself.\n"
+"Before checking in any code or library jars from other sources,\n"
+"justify why it is necessary,\n"
+"verify the license is compatible,\n"
+"and obtain approval from the lead developer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:219
+msgid ""
+"If you do obtain approval to add external code or jars,\n"
+"and binaries are available in any Debian or Ubuntu package,\n"
+"you must implement build and packaging options to use the external package instead.\n"
+"Checklist of files to modify:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:227
+msgid ""
+"For any images checked in from external sources,\n"
+"it is your responsibility to first verify the license is compatible.\n"
+"Include the license and source information in the checkin comment."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:234
+msgid "Bugs"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:236
+#, python-format
+msgid ""
+"Managing Trac tickets is everybody's job, please help.\n"
+"Monitor %(trac)s for tickets you have been assigned or can help with.\n"
+"Assign, categorize, comment on, fix, or close tickets if you can."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:241
+msgid ""
+"New developers should start by fixing a bug.\n"
+"Search for bugs with the 'easy' keyword on trac.\n"
+"When you have a fix, attach your patch to the ticket and add the keyword 'review-needed'.\n"
+"Do not close the ticket until it's been successfully reviewed and you've checked your changes in.\n"
+"Once you've done this smoothly for a couple of tickets, you may follow the normal procedure below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:248
+msgid ""
+"Close a ticket when you think you've fixed it.\n"
+"We don't have a test department to verify and close tickets.\n"
+"If you arent sure you fixed it, close it and add a note saying\n"
+"\"I think I fixed it, please test and reopen if it's still broken\".\n"
+"Add a comment with the dev build number or revision and set\n"
+"the milestone to the next release."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:2
+msgid "Using an IDE with I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:4
+msgid ""
+"The main I2P development branch (i2p.i2p
) has been set up to "
+"enable developers to easily set up two of the commonly-used IDEs for Java "
+"development: Eclipse and NetBeans."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:10
+msgid ""
+"The main I2P development branches (i2p.i2p
and branches from "
+"it) contain build.gradle to enable the branch to be easily set up in "
+"Eclipse."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:16
+msgid ""
+"Make sure you have a recent version of Eclipse. Anything newer than 2017 "
+"should do."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:20
+msgid ""
+"Check out the I2P branch into some directory (e.g. "
+"$HOME/dev/i2p.i2p
)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:24
+msgid ""
+"Select \"File - Import...\" and then under \"Gradle\" select \"Existing "
+"Gradle Project\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:28
+msgid ""
+"For \"Project root directory:\" choose the directory that the I2P branch was"
+" checked out to."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:32
+msgid ""
+"In the \"Import Options\" dialog, select \"Gradle Wrapper\" and press "
+"continue."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:36
+msgid ""
+"In the \"Import Preview\" dialog you can review the project structure. "
+"Multiple projects should appear under \"i2p.i2p\". Press \"Finish.\""
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:40
+msgid ""
+"Done! Your workspace should now contain all projects within the I2P branch, "
+"and their build dependencies should be correctly set up."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:48
+msgid ""
+"The main I2P development branches (i2p.i2p
and branches from "
+"it) contain NetBeans project files."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:2
+msgid "Monotone Guide"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:6
+msgid "Operating a Monotone client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:8
+#: i2p2www/pages/site/get-involved/guides/monotone.html:61
+msgid "Generating Monotone keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:9
+msgid "Trust and initializing your repository"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:10
+#: i2p2www/pages/site/get-involved/guides/monotone.html:194
+msgid "Obtaining and deploying developers' keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:11
+#: i2p2www/pages/site/get-involved/guides/monotone.html:225
+msgid "Setting up trust evaluation hooks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:12
+#: i2p2www/pages/site/get-involved/guides/monotone.html:266
+msgid ""
+"Pulling the i2p.i2p
, i2p.www
and "
+"i2p.syndie
branches"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:13
+#: i2p2www/pages/site/get-involved/guides/monotone.html:312
+msgid "Verifying that trust evaluation works"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:14
+#: i2p2www/pages/site/get-involved/guides/monotone.html:361
+msgid "Checking out a working copy of the latest version"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:15
+#: i2p2www/pages/site/get-involved/guides/monotone.html:388
+msgid "Updating your working copy to the latest version"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:19
+#: i2p2www/pages/site/get-involved/guides/monotone.html:418
+msgid "Operating a Monotone Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:21
+msgid "Obtaining and deploying developers’ transport keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:22
+#: i2p2www/pages/site/get-involved/guides/monotone.html:428
+msgid "Granting push and pull access"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:23
+#: i2p2www/pages/site/get-involved/guides/monotone.html:473
+msgid "Running Monotone in server mode"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:24
+#: i2p2www/pages/site/get-involved/guides/monotone.html:498
+msgid "Differences under Debian GNU/Linux"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:32
+#, python-format
+msgid ""
+"This is a revised version of Complication's original\n"
+" guide detailing the use of Monotone in I2P development.\n"
+" For basic instructions see the quick-start guide."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:40
+#, python-format
+msgid ""
+"I2P has a distributed development model. The source code is replicated across\n"
+" independently administered Monotone (\"MTN\") repositories.\n"
+" Developers with commit rights are able to push their changes to the repository\n"
+" (a license agreement needs to be signed\n"
+" before commit rights are granted)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:50
+msgid ""
+"Some of Monotone's noteworthy qualities are: distributed\n"
+" version control, cryptographic authentication, access control, its small size, having few\n"
+" dependencies, storage of projects in a compressed SQLite database file, and\n"
+" having the ability to resume interrupted synchronization attempts."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:59
+msgid "Operating a Monotone Client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:64
+msgid ""
+"A transport key grants you the ability to push your changes to a Monotone repository server.\n"
+" In order to commit code into Monotone (in essence signing your code), a commit key is also needed.\n"
+" None of the public Monotone servers on I2P currently require a key in order to read (or pull) the source code."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:72
+msgid ""
+"Without a transport key, one cannot:\n"
+" \n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:83
+msgid ""
+"Without a commit key, one cannot:\n"
+" \n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:92
+msgid ""
+"If you only intend to retrieve code from MTN, feel free to skip to the\n"
+" next section. If you want\n"
+" to generate keys, read the following."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:100
+msgid ""
+"By convention keys are named like an e-mail addresses, but a corresponding e-mail\n"
+" address does not need to exist. For example, your keys might be named:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:111
+msgid ""
+"Monotone stores keys under $HOME/.monotone/keys
in text files which\n"
+" are named identically to the keys. For example:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:121
+msgid ""
+"To generate transport and commit keys, enter the following commands at a "
+"prompt:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:131
+msgid ""
+"Monotone will prompt you for a password to protect your keys. You are very strongly encouraged to set a password\n"
+" for the commit key. Many users will leave an empty password for the transport key, especially those running a\n"
+" Monotone server."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:139
+msgid "Trust, and initializing your repository"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:143
+msgid ""
+"Monotone's security model helps to ensure that nobody can easily impersonate a developer without\n"
+" it being noticed. Since developers can make mistakes and become compromised,only manual review can\n"
+" ensure quality of code. Monotone's trust model will ensure that you read the right diffs. It does\n"
+" not replace reading diffs."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:153
+msgid ""
+"A Monotone repository is a single file (a compressed SQLite database) which "
+"contains all of the project's source code and history."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:159
+msgid ""
+"After importing the developers' keys into Monotone and\n"
+" setting up trust evaluation hooks,\n"
+" Monotone will prevent untrusted code from being checked out into your workspace.\n"
+" There are commands available to clean untrusted code from your workspace but in practice they've not been\n"
+" needed due to the push access policies in place."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:169
+msgid ""
+"A repository can hold many branches. For example, our repository holds the\n"
+" following main branches:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:174
+msgid "The I2P router and associated programs"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:175
+msgid "The I2P project website"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:176
+msgid "Syndie, a distributed forums tool"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:181
+msgid ""
+"By convention, the I2P Monotone repository is named i2p.mtn
. Before pulling\n"
+" source code from servers, a database for your repository will need to be initialized.\n"
+" To initialize your local repository, change into the directory that you want the\n"
+" i2p.mtn
file and branch directories to be stored and issue the following\n"
+" command:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:197
+msgid ""
+"Keys which developers use to commit code are essential for trust evaluation in\n"
+" Monotone. The other developers' transport keys are only required for Monotone server operators.\n"
+" "
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:204
+#, python-format
+msgid ""
+"Developers' commit keys are provided GPG-signed on another page."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:210
+#, python-format
+msgid ""
+"To import developers' keys after verifying their authenticity, copy all of the keys into a new\n"
+" file. Create this file (e.g. keys.txt
) in the same directory where i2p.mtn
is located. Import the keys with the command:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:220
+msgid ""
+"Note: Never add keys to "
+"$HOME/.monotone/keys
manually."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:228
+msgid ""
+"The default Monotone trust policy is way too lax for our requirements: every committer is trusted by default.\n"
+" That is not acceptable for I2P development."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:235
+msgid ""
+"Change into the directory $HOME/.monotone
and open the file\n"
+" monotonerc
with a text editor. Copy and paste the following two functions into this file:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:244
+msgid ""
+"The first function determines an intersection between two sets, in our case a\n"
+" revision's signers and trusted signers."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:251
+msgid ""
+"The second function determines trust in a given revision, by calling the first\n"
+" function with \"signers\" and \"trusted\" as arguments. If the intersection is\n"
+" null, the revision is not trusted. If the intersection is not empty, the\n"
+" revision is trusted. Otherwise, the revision is not trusted."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:260
+msgid ""
+"More information about Trust Evaluation Hooks can be found in the official Monotone "
+"documentation."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:268
+msgid ""
+"I2P is shipped with a pre-configured tunnel pointing to the project Monotone server. Ensure that the tunnel has been started\n"
+" within I2PTunnel before attempting to pull the source code from 127.0.0.1:8998."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:275
+msgid ""
+"Enter the directory where you initialized i2p.mtn
. Depending on whether you\n"
+" want only I2P sources, or also sources for the I2P website and Syndie, you can\n"
+" perform the pull
operation in different ways."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:283
+msgid "If you only want I2P sources:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:292
+msgid "If you want all branches:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:298
+msgid ""
+"If the transfer aborts before completing sucessfully, simply repeating the "
+"pull command will resume the transfer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:304
+msgid ""
+"Pulling in the above examples is done anonymously by specifying an empty transport key.\n"
+" If everyone pulls anonymously it will be harder for an attacker who gains control of the server\n"
+" to selectively provide some people with tampered data."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:315
+msgid "To verify that trust evaluation works:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:319
+msgid "Make a backup of your monotonerc
file."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:320
+msgid ""
+"Modify monotonerc
by setting the trusted_signers "
+"variable in the following way:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:326
+msgid ""
+"With monotonerc
configured as above, Monotone will no longer trust any committers. Confirm this by changing into the\n"
+"directory where i2p.mtn
was created and attempt a checkout of the I2P branch:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:336
+msgid ""
+"A directory named i2p.i2p
should not appear. You should encounter many\n"
+" error messages like:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:353
+msgid ""
+"If you are satisfied with results, restore the backup of\n"
+" monotonerc
that was created above. If you didn't create a backup\n"
+" as advised, re-read Setting up trust evaluation hooks."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:364
+msgid ""
+"If you already have a branch checked out, skip to the next\n"
+" section."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:371
+msgid ""
+"Change into the directory where i2p.mtn
is located. Over there "
+"issue:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:380
+msgid ""
+"The checkout should complete without error messages and a directory named\n"
+" i2p.i2p
should appear in the current directory. Congratulations! You have\n"
+" successfully checked out the latest I2P sources, ready to be compiled."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:391
+msgid ""
+"If you haven't done this already, pull fresh code from the server to your local\n"
+" Monotone repository. To accomplish this, change into the directory where\n"
+" i2p.mtn
is located and issue:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:402
+msgid ""
+"Now change into your i2p.i2p
directory, and over there issue:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:411
+msgid ""
+"As long as there were no errors…Congratulations! You have successfully updated to the latest I2P sources. They\n"
+" should be ready to compile."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:420
+msgid "Obtaining and deploying developers' transport keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:423
+msgid ""
+"As a server operator you may want to grant push access to certain "
+"developers."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:431
+msgid "By default the Monotone server denies all access."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:437
+msgid "To grant pull access to all clients, set the following in"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:449
+msgid ""
+"No one will not be able to push code to your server without permission being"
+" explicitly granted. To grant push access:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:455
+msgid ""
+"Add the name of the user's transport key to\n"
+"$HOME/.monotone/write-permissions
, such as\n"
+"
\n"
+"with one key per line."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:466
+msgid ""
+"Import the transport key(s) into your database. The procedure for importing transport keys is the same as for\n"
+"importing commit keys, which is described in the section Obtaining and deploying developers' keys."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:476
+msgid ""
+"A separate database should be used for your Monotone server because monotone will lock the database while it is served to others.\n"
+" Make a copy of your development database, then start the server with:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:483
+msgid ""
+"If your key is protected with a passphrase, Monotone may request the passphrase\n"
+" when the first client connects. You can work around this by connecting making the first client connection to your server\n"
+" (or by clearing the password for your transport key)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:491
+msgid ""
+"For your server to be accessible for others over I2P, you will need to create a\n"
+" server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" profile."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:501
+msgid ""
+"Debian (amongst other distributions) has integrated Monotone into their\n"
+" framework of daemons/services. Although Monotone servers can still be run\n"
+" \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may be more straightforward."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:509
+msgid ""
+"Permissions are granted by editing the files\n"
+" \n"
+" zzz-transport@mail.i2p\n"
+" complication-transport@mail.i2p\n"
+"
/etc/monotone/read-permissions
and\n"
+" /etc/monotone/write-permissions
. You'll also need to edit\n"
+" /etc/default/monotone
to enable monotone to start at boot or to\n"
+" customize the host, port, or database location."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:2
+msgid "New Developer's Guide"
+msgstr ""
+
+#: 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: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: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: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:12
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:136
+msgid "Building I2P"
+msgstr ""
+
+#: 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: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: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:16
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:192
+msgid "Translations"
+msgstr ""
+
+#: 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:22
+msgid ""
+"\n"
+"So you want to start work on I2P? Great!\n"
+"Here's a quick guide to getting started\n"
+"on contributing to the website or the software, doing development or creating translations."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
+#, python-format
+msgid ""
+"\n"
+"Not quite ready for coding?\n"
+"Try getting involved first."
+msgstr ""
+
+#: 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"
+"If you don't have experience with Java, you can always have a look at Thinking in Java."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:38
+#, python-format
+msgid ""
+"Study the how intro,\n"
+"the other \"how\" documents,\n"
+"the tech intro,\n"
+"and associated documents.\n"
+"These will give you a good overview of how I2P is structured and what different things it does."
+msgstr ""
+
+#: 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:55
+#, python-format
+msgid "Install Git."
+msgstr ""
+
+#: 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:65
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:120
+msgid "Remarks"
+msgstr ""
+
+#: 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 for\n"
+"development, you will need to submit patches to our issue\n"
+"tracker. We can accept GitHub pull requests, but they must be processed\n"
+"manually by turning them into patches anyway."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:75
+msgid ""
+"Install monotone.\n"
+"Monotone is a version control system.\n"
+"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea)."
+msgstr ""
+
+#: 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: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: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: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: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:99
+#, python-format
+msgid ""
+"Copy and paste the developer's commit keys into a new file (e.g. keys.txt
) in the same directory\n"
+" that i2p.mtn
is in. Import the keys into your database with
"
+msgstr ""
+
+#: 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:105
+msgid "Anonymously:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
+msgid "Non-anonymously:"
+msgstr ""
+
+#: 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: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: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: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 left off.\n"
+"If you are in a hurry, use the non-anonymous access."
+msgstr ""
+
+#: 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: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:138
+#, python-format
+msgid ""
+"To compile the code, you need the Sun Java Development Kit 6 or higher, or equivalent JDK\n"
+"(Sun JDK 6 strongly recommended) and\n"
+"Apache ant\n"
+"version 1.7.0 or higher.\n"
+"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
+msgstr ""
+
+#: 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: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:158
+#, python-format
+msgid ""
+"See zzz's TODO lists,\n"
+"this website's TODO list or\n"
+"Trac\n"
+"for ideas."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:167
+#, python-format
+msgid ""
+"See the bottom of the licenses page for\n"
+"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
+msgstr ""
+
+#: 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:174
+msgid "use an empty passphrase"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
+msgid "enter a passphrase"
+msgstr ""
+
+#: 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: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:178
+msgid "check in with this key"
+msgstr ""
+
+#: 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:181
+#, python-format
+msgid "Long version: see the monotone page."
+msgstr ""
+
+#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
+"We also have additional guidelines for regular developers."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:193
+#, python-format
+msgid ""
+"Website and router console translators: See the New Translator's Guide\n"
+"for next steps."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
+msgid ""
+"I2P is open source software that is mostly developed using open sourced\n"
+"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
+"Profiler. Open source projects are eligible to receive a free license provided\n"
+"that YourKit is referenced on the project web site. Please get in touch if you\n"
+"are interested in profiling the I2P codebase."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
+#, python-format
+msgid ""
+"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
+"YourKit, LLC is the creator of innovative and intelligent tools for profiling\n"
+"Java and .NET applications. Take a look at YourKit's leading software products:\n"
+"YourKit Java Profiler and\n"
+"YourKit .NET Profiler."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:2
+msgid "New Translator's Guide"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:4
+msgid "Here's a very quick guide to getting started."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:6
+msgid "How to Translate the Website"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:8
+#, python-format
+msgid ""
+"Translation of the website is done with .po files. The easiest way by far to\n"
+"translate the website is to sign up for an account at \n"
+"Transifex and request to join a translation team. \n"
+"Alternatively it can be done \"the old way\" as outlined below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:17
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:82
+msgid "Preparation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:19
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:84
+#, python-format
+msgid ""
+"Come to #i2p-dev on irc and talk to people.\n"
+"Claim the language -\n"
+"To make sure other coworkers don't bump onto the files you are working on,\n"
+"please update the translation status on this wiki page."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:25
+#, python-format
+msgid ""
+"Follow the new developer's guide,\n"
+"Including the installation of monotone,\n"
+"checking out i2p.www branch, and generate your own monotone keys.\n"
+"It is not required that you sign a dev agreement."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:33
+msgid ""
+"Create files:\n"
+"If the file for your language does not exist yet:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:38
+msgid ""
+"Run \" mtn -d i2p.mtn read < keys.txt
./extract-messages.sh
\" to generate a messages.pot
in the base directory.\n"
+"Edit the header of this file, then run \"./init-new-po.sh locale
\" to generate the file\n"
+"i2p2www/translations/locale/LC_MESSAGES/messages.po
. \"mtn add
\" this file."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:43
+msgid ""
+"Edit i2p2www/pages/global/lang.html
and add a line for your "
+"language (copy an existing line)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:46
+msgid ""
+"Add a flag image file to i2p2www/static/images/flags/
for the "
+"menu (copy from the router)."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:52
+msgid ""
+"Edit files:\n"
+"Edit i2p2www/translations/locale/LC_MESSAGES/messages.po
.\n"
+"To work with .po files efficiently, you may wish to use POEdit"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:58
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:151
+msgid ""
+"Check in:\n"
+"\"mtn pull
\", \"mtn update
\". Then check in by \"mtn ci -k yourname@mail.i2p file1 file2 ...
\"\n"
+"This collects the diff info of your changed file into your local repo. Then \"mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p i2p.i2p
\".\n"
+"This synchronizes your local repo with the repo on the target machine."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:65
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:158
+msgid "Repeat. Check in often. Don't wait until it is perfect."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:72
+msgid "How to Translate the Router Console"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:74
+#, python-format
+msgid ""
+"The easiest way by far to translate the router console is to sign up for an account at \n"
+"Transifex and request to join a translation team. \n"
+"Alternatively it can be done \"the old way\" as outlined below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:90
+#, python-format
+msgid ""
+"Follow the new developer's guide,\n"
+"including the installation of monotone and the gettext tools,\n"
+"checking out i2p.i2p branch, and generate your own monotone keys."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:95
+msgid "Generate your own gpg key and sign the dev agreement."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:101
+msgid ""
+"Before starting a console translation, better help translate some i2p webpages first.\n"
+"At least an i2p homepage in your language would be great."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:106
+msgid ""
+"What to translate:\n"
+"There are about 15 files in the i2p.i2p branch that needs translation:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:132
+msgid ""
+"Where xx is your language code like fr/de/ch/zh/...\n"
+"There may be or may not be files with your lang code. If not, you can create your own. by copying and renaming other language files you know with your own lang code."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:137
+msgid ""
+"Create files:\n"
+"If the file for your language does not exist yet, copy another language file to a new file foo_xx.bar
for your language.\n"
+"Then \"mtn add
\" the file.\n"
+"After creating a .po file, edit the headers. Then run \"ant distclean poupdate
\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:144
+msgid ""
+"Start to work:\n"
+"Edit the HTML files with any text editor.\n"
+"Be sure not to use an editor in HTML mode that reformats everything.\n"
+"To work with .po files efficiently, you may wish to use POEdit"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:163
+msgid ""
+"As you can see, it's not that difficult.\n"
+"If you have questions about the meaning of the terms in the console, ask in #i2p-dev
on IRC."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:169
+msgid "FAQ"
+msgstr "GYIK"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:171
+msgid ""
+"Q: Why do I have to install monotone, Java, jsp, learn about .po files and "
+"html, etc.? Why can't I just do a translation and email it to you?"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:175
+msgid "A: Several reasons:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:178
+#, python-format
+msgid ""
+"You might be interested in translating via Transifex. Request to join a "
+"translation team here."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:182
+msgid ""
+"We don't have anybody who has time to accept manual contributions and submit"
+" them to our source control system on your behalf. Even if we did, it "
+"doesn't scale."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:186
+msgid ""
+"Maybe you are thinking translation is a one-step process. It isn't. You "
+"can't do it all at once. You will make mistakes. You need to test it and "
+"tweak it to make it look right before you submit it. Developers will "
+"update or add to the English text, thus requiring a translation update."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:190
+msgid ""
+"Having translators use a source control system directly provides "
+"authentication and accountablility - we know who is doing what, and we can "
+"track changes, and revert them if necessary."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:194
+msgid ""
+".po files are not difficult. If you don't want to work directly with them, "
+"we recommend 'poedit'."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:198
+msgid ""
+"HTML files are not difficult. Just ignore the html stuff and translate the "
+"text."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:202
+msgid ""
+"Installing and using monotone is not that difficult. Several of the "
+"translators and other contributors to I2P are non-programmers, and they use "
+"monotone regularly. Monotone is simply a source control system, it is not "
+"about \"coding\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:206
+msgid ""
+"Our items to translate are not \"documents\". They are html files and po "
+"files, with a specific format and character encoding (UTF-8) that must be "
+"maintained, and not corrupted by email programs or other methods of "
+"transfer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:210
+msgid ""
+"We looked at 'pootle' as a front-end for translators. It didn't work well, "
+"needed an administrator, and a pootle-based process would suffer from a "
+"number of the above flaws."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:215
+msgid ""
+"In summary:\n"
+"Yes, we know it is somewhat of a hurdle to get started. It's really the only possible way we can do it. Give it a try, it really isn't that hard."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
+msgid "More Information"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
+#, python-format
+msgid ""
+"The #i2p-dev channel on IRC, or the translation forum on %(zzz)s."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:2
+msgid "How to Set up a Reseed Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:3
+msgid "February 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:6
+msgid "Overview"
+msgstr "Áttekintés"
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:8
+msgid ""
+"Thank you for volunteering to run an I2P reseed server.\n"
+"\"Reseeding\" is our term for bootstrapping new routers into the network.\n"
+"New routers fetch a bundle of peer references, or \"router infos\", from one or more of a hardcoded list of HTTPS URLs."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:14
+msgid "Requirements"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:16
+msgid ""
+"At its simplest, a reseed server consists of a Java I2P router, an HTTPS web server,\n"
+"and some scripts that periodically gather router infos from the router,\n"
+"bundle and sign them into a custom file format, and deliver these files over HTTPS.\n"
+"In practice, it's a bit more complex, and a reseed operator must be fairly competent and attentive.\n"
+"A reseed server is not appropriate for a residential internet connection. The complexities include:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:25
+msgid ""
+"You must have a secure SSL setup with either a self-signed certificate or a "
+"cert that chains up to a standard CA"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:28
+msgid ""
+"The SSL configuration must conform to current best practices on allowed "
+"ciphers and protocols, and the CN/SAN host name must match the URL"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:31
+msgid ""
+"The scripts are designed to deliver different router info bundles to "
+"different requestors for network diversity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:34
+msgid ""
+"The scripts are designed to deliver the same bundle to the same repeated "
+"requestor to prevent scraping"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:37
+msgid ""
+"The reseed servers are under periodic attacks and DDoS attempts, and from other buggy I2P implementations and botnets.\n"
+"This necessitates that you run fail2ban or an equivalent solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:43
+msgid "Information Required"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:45
+msgid ""
+"When your setup is complete and ready for testing, we will need the HTTPS URL,\n"
+"the SSL public key certificate, and the \"su3\" bundle public key.\n"
+"After testing is complete, these will be added to the hardcoded entries in the Java and C++ routers in the next release,\n"
+"and you will start seeing traffic.\n"
+"We also will need your email address so we may continue to contact you about reseed administration issues.\n"
+"The email will not be made public but will be known to the other reseed operators.\n"
+"You should expect that your nick or name and its association with that URL or IP will become public."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:55
+msgid "Privacy Policy"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:57
+msgid ""
+"A reseed operator is a trusted role in the network.\n"
+"While we do not yet have a formal privacy policy, you must ensure the privacy of our users\n"
+"by not publicizing logs or IPs found in those logs, except as necessary to discuss administration issues with the I2P reseed team."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:63
+msgid "Financial Support"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:65
+msgid ""
+"Modest financial support may be available to those running reseed servers.\n"
+"This support would be in partial reimbursement for your server costs.\n"
+"Support will not be paid in advance and will probably not cover all your expenses.\n"
+"Support is only available to those who have been running reseed servers in good standing for several months, and is based on actual need."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:72
+msgid ""
+"If you would like to discuss support, please contact echelon and CC: backup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:77
+msgid "Getting Started"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:79
+msgid ""
+"Our reseed coordinator is \"backup\" and he may be contacted at backup at mail.i2p or backup at i2pmail.org.\n"
+"Unfortunately, he is not generally on IRC. The reseed setup is somewhat specialized, and you should direct most questions to him."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:84
+msgid ""
+"For actual implementation, details below. We have one recommended reseed "
+"solution:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:89
+msgid ""
+"A Go implementation that includes the web server and all the scripts. This "
+"is the recommended solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:95
+msgid ""
+"For further information, read the information at the following links, and then contact backup.\n"
+"Thank you!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:110
+msgid "Detailed Instructions"
+msgstr ""
diff --git a/i2p2www/translations/id/LC_MESSAGES/about.po b/i2p2www/translations/id/LC_MESSAGES/about.po
index 4714c4dc..73b03d02 100644
--- a/i2p2www/translations/id/LC_MESSAGES/about.po
+++ b/i2p2www/translations/id/LC_MESSAGES/about.po
@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: zzzi2p\n"
+"PO-Revision-Date: 2018-07-31 05:38+0000\n"
+"Last-Translator: ical\n"
"Language-Team: Indonesian (http://www.transifex.com/otf/I2P/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/i2p2www/translations/id/LC_MESSAGES/blog.po b/i2p2www/translations/id/LC_MESSAGES/blog.po
index 6fe1ce91..d975f827 100644
--- a/i2p2www/translations/id/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/id/LC_MESSAGES/blog.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: Robert Dafis 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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 ""
+msgstr "Ukuran:"
-#: 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/id/LC_MESSAGES/get-involved.po b/i2p2www/translations/id/LC_MESSAGES/get-involved.po
index 4d9fbe96..694a12bf 100644
--- a/i2p2www/translations/id/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/id/LC_MESSAGES/get-involved.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Indonesian (http://www.transifex.com/otf/I2P/language/id/)\n"
"MIME-Version: 1.0\n"
@@ -211,7 +211,7 @@ msgstr "Menguji"
msgid ""
"Run the latest builds from monotone\n"
"and report results on #i2p or as bugs on Trac."
-msgstr ""
+msgstr "Jalankan build terbaru dari monotone\ndan laporkan hasilnya di #i2p atau sebagai bug di Trac."
#: i2p2www/pages/site/get-involved/index.html:30
msgid "Documentation"
@@ -273,7 +273,7 @@ msgid ""
"or the TODO list on %(zzz)s for\n"
"some ideas on where to start.\n"
"See the new developer's guide for details."
-msgstr ""
+msgstr "Ada banyak hal yang harus dilakukan jika anda mengerti Java atau siap untuk belajar.\nPeriksa tiker yang terbuka di Trac\natau daftar TODO di %(zzz)s untuk\nbeberapa ide di mana harus memulai.\nLihat panduan pengembang baru untuk detail."
#: i2p2www/pages/site/get-involved/index.html:64
msgid "Translation"
@@ -311,40 +311,65 @@ msgid ""
"Detailed instructions are on our reseed server page."
msgstr "Buat server reseed untuk router baru untuk bootstrap.\nPetunjuk terperinci ada di halaman server reseed kami."
+#: 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 "Roadmap "
-#: 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 "Peers Pemetaan Terjangkau / penanganan yang sebagian dapat dijangkau / ditingkatkan pembatasan rute"
-#: 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 "Rute terbatas penuh"
-#: 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 "Tunnel mixing dan padding"
-#: 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 "Message delays yang ditentukan pengguna"
-#: 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 "Silakan lihat daftar TODO untuk info lebih rinci tentang beberapa tugas ini."
+#: i2p2www/pages/site/get-involved/roadmap-2017.html:3
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:3
+msgid "January 2017"
+msgstr "Januari 2017"
+
+#: 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 "Target Proyek I2P"
@@ -1973,6 +1998,14 @@ msgid ""
"See developers' license agreements."
msgstr "Jika ada yang menyadari setiap contoh di mana kondisi di atas tidak terpenuhi, hubungi pimpinan komponen dan/atau I2P release manager untuk informasi lebih lanjut.\nLihat perjanjian lisensi pengembang."
+#: 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 "Release Signing Key "
@@ -2109,10 +2142,6 @@ msgstr "Beberapa pengembang telah memasukkan kunci Monotone mereka dalam new developers guide first."
@@ -2471,13 +2500,13 @@ msgid ""
"The main I2P development branches (i2p.i2p
and branches from "
"it) contain build.gradle to enable the branch to be easily set up in "
"Eclipse."
-msgstr ""
+msgstr "Cabang utama pengembangan I2P ( i2p.i2p
dan cabang darinya) berisi file build.gradle untuk memungkinkan cabang tersebut mudah diatur di Eclipse."
#: i2p2www/pages/site/get-involved/guides/ides.html:16
msgid ""
"Make sure you have a recent version of Eclipse. Anything newer than 2017 "
"should do."
-msgstr ""
+msgstr "Pastikan Anda memiliki Eclipse versi terbaru. Versi terbaru dari 2017 dapat digunakan."
#: i2p2www/pages/site/get-involved/guides/ides.html:20
msgid ""
@@ -2489,25 +2518,25 @@ msgstr "Periksa cabang I2P ke beberapa direktori (misal $HOME/dev/i2p.i2p<
msgid ""
"Select \"File - Import...\" and then under \"Gradle\" select \"Existing "
"Gradle Project\"."
-msgstr ""
+msgstr "Pilih \"File - Import ...\" dan kemudian di bawah \"Gradle\" pilih \"Existing Gradle Projects\"."
#: i2p2www/pages/site/get-involved/guides/ides.html:28
msgid ""
"For \"Project root directory:\" choose the directory that the I2P branch was"
" checked out to."
-msgstr ""
+msgstr "Untuk \"Project root directory:\" pilih direktori di mana cabang I2P yang diperiksa."
#: i2p2www/pages/site/get-involved/guides/ides.html:32
msgid ""
"In the \"Import Options\" dialog, select \"Gradle Wrapper\" and press "
"continue."
-msgstr ""
+msgstr "Di jendela dialog \"Import Options\", pilih \"Gradle Wrapper\" lalu klik continue."
#: i2p2www/pages/site/get-involved/guides/ides.html:36
msgid ""
"In the \"Import Preview\" dialog you can review the project structure. "
"Multiple projects should appear under \"i2p.i2p\". Press \"Finish.\""
-msgstr ""
+msgstr "Di jendela dialog \"Import Preview\" Anda dapat melihat struktur proyek. Beberapa proyek seharusnya muncul di bawah \"i2p.i2p\". Tekan \"Finish.\""
#: i2p2www/pages/site/get-involved/guides/ides.html:40
msgid ""
@@ -2979,57 +3008,61 @@ msgstr "Permission diberikan dengan mengedit file\n
/etc/monotone/read-pe
msgid "New Developer's Guide"
msgstr "Panduan Pengembang Baru"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:5
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+#: 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:32
msgid "Basic study"
msgstr "Studi dasar"
-#: 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:7
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:46
msgid "Getting the I2P code"
msgstr "Cara mendapat source code I2P"
-#: 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 "Cara mudah: Git"
-#: 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 "Cara yang tepat: Monotone"
-#: 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 "Membangun I2P"
-#: 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 "Ide pengembangan"
-#: 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 "Membuat hasil tersedia"
-#: 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 "Berkenalan dengan kami!"
-#: 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 "Penerjemahan"
-#: 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 "Tool"
-#: 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"
@@ -3037,7 +3070,7 @@ msgid ""
"on contributing to the website or the software, doing development or creating translations."
msgstr "\nApakah anda ingin mulai mengembangkan I2P? Bagus!\nBerikut panduan cara cepat untuk memulai berkontribusi untuk website atau software, melakukan pengembangan, atau melakukan penerjemahan."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:26
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
#, python-format
msgid ""
"\n"
@@ -3045,13 +3078,13 @@ msgid ""
"Try getting involved first."
msgstr "\nTidak siap menulis code pemograman?\nCoba baca terlibat."
-#: 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"
"If you don't have experience with Java, you can always have a look at Thinking in Java."
msgstr "Dasar pengembangan pada I2P router atau aplikasi embedded menggunakan Java sebagai bahasa utama pengembangan.\nJika anda tidak memiliki pengalaman dengan Java, anda dapat membaca Berpikir dengan Java."
-#: 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"
@@ -3061,28 +3094,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what different things it does."
msgstr "Pelajari how intro,\nother \"how\" documents,\n tech intro,\ndan dokumen lain yang terkait.\nIni akan memberi anda pandangan sekilas yang baik tentang I2P terstruktur dan apa hal-hal yang berbeda."
-#: 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 "Untuk pengembangan I2P router atau embedded application, ada dua cara untuk mendapat source code-nya"
-#: 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 "Instal Git."
-#: 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 "Ambil source code dari the GitHub mirror:"
-#: 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 "Catatan"
-#: 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 for\n"
@@ -3091,106 +3124,106 @@ msgid ""
"manually by turning them into patches anyway."
msgstr "Repositori Git sekarang hanya read only mirror. Jika anda ingin menggunakannya untuk pengembangan, anda akan perlu menyerahkan patch kepada issue tracker. Kita dapat menerima permintaan pull untuk GitHub, tetapi mereka harus diproses secara manual dengan mengubahnya menjadi patch."
-#: 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea)."
msgstr "Menginstal monoton.\nMonoton adalah sebuah system untuk mengontrol versi.\nKami menggunakannya karena memungkinkan kami untuk melacak siapa yang melakukan perubahan pada kode sumber (dan untuk banyak hal rumit, namun 'mencatat perubahan' adalah ide dasarnya)."
-#: 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 "Baca monotone tutorial , untuk memastikan anda memahami konsepnya."
-#: 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 "Jika anda ingin tetap anonim, anda perlu melakukan langkah tambahan, untuk mengatur koneksi ke server monotone di I2P:"
-#: 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 "Aktifkan client tunnel i2ptunnel pada port 8998 menunjuk ke mtn.i2p-projekt.i2p."
-#: 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 "Pilih direktori di mana anda ingin menempatkan semua file I2P, dan buat database monotone:"
-#: 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 "Tentukan trust list dengan membuat ~/.monotone/monotonerc
(atau _MTN/monotonerc
di workspace i2p.i2p) dengan isian sebagai berikut:"
-#: 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
msgstr "Copy dan paste developer commit key ke file baru (misalnya mtn -d i2p.mtn read < keys.txt
keys.txt
) dalam direktori yang sama\n yang i2p.mtn
berada. Impor kuncinya ke database anda dengan
"
-#: 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 "Tarik source code I2P ke mesin Anda. Ini mungkin memakan waktu yang lama, terutama jika anda melakukan ini dengan I2P!"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:104
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
msgid "Anonymously:"
msgstr "Secara anomin:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Tidak secara anomin:"
-#: 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 "Semua source code sekarang ada di mesin anda, di database file. Untuk membuatnya tersedia di dalam sebuah direktori, anda perlu memeriksa mereka:"
-#: 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 "Perintah di atas menciptakan direktori i2p.i2p, yang berisi semua source code I2P."
-#: 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 "\nUntuk men-download file website, bukan file dari source code I2P, gunakan 'i2p.www' bukan 'i2p.i2p'."
-#: 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 left off.\n"
"If you are in a hurry, use the non-anonymous access."
msgstr "Tarikan awal mungkin memakan waktu beberapa jam menggunakan tunnel.\nJika gagal setelah partial pull, cukup jalankan kembali, dan akan dimulai mana ditinggalkan.\nJika anda terburu-buru, gunakan akses non-anonim."
-#: 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 "Daftar lengkap dari semua cabang, termasuk i2p.i2p dan i2p.www dapat ditemukan di viewmtn."
-#: 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 "Penjelasan yang panjang tentang cara menggunakan monotone tersedia pada halaman monotone."
-#: 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, or equivalent JDK\n"
@@ -3200,21 +3233,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
msgstr "Untuk mengkompilasi kode, anda perlu Sun Java Development Kit 6 atau lebih tinggi, atau setara JDK (Sun JDK 6 dianjurkan) dan Apache ant versi 1.7.0 atau lebih tinggi.\nJika anda akan mengerjakan kode utama I2P, anda dapat mengunjungi direktori i2p.i2p dan menjalankan 'ant' untuk melihat pilihan pengembangan."
-#: 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 "Untuk membangun atau mengerjakan console translation, anda membutuhkan xgettext, msgfmt, dan msgmerge dari paket-paket gettext GNU."
-#: 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 "Untuk pengembangan aplikasi baru, lihat panduan pengembangan aplikasi."
-#: 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"
@@ -3223,67 +3256,67 @@ msgid ""
"for ideas."
msgstr "Lihat daftar TODO zzz's, daftar TODO website ini atau Trac untuk ide-ide."
-#: 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
msgstr "Lihat bagian bawah halaman lisensi untuk persyaratan commit privilege. Anda perlu ini untuk menempatkan kode ke i2p.i2p (tidak diperlukan untuk website!)."
-#: 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 "Versi dendek cara untuk menghasilkan dan menggunakan key jika anda berencana untuk commit:"
-#: 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 "Gunakan passphrase kosong"
-#: 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 "masukkan passphrase"
-#: 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 "kirim ini ke operator repo mtn untuk mendapatkan hak istimewa push"
-#: 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 "kirimkan ini ke manajer rilis untuk mendapatkan hak komit - tidak diperlukan untuk situs web"
-#: 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 "Check-In dengan key ini"
-#: 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 "dorong dengan key ini"
-#: 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 "Versi panjang: lihat halaman monotone."
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular developers."
msgstr "Para pengembang berkeliaran di IRC. Mereka dapat dihubungi di jaringan Freenode, OFTC, dan pada jaringan internal I2P. Tempat yang biasa untuk mencari merekadalah di #i2p-dev. Bergabung dengan channel dan sapa mereka!\nKami juga memiliki pedoman tambahan untuk pengembang reguler."
-#: 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 New Translator's Guide\n"
"for next steps."
msgstr "Situs web dan router penerjemah console: Lihat panduan penerjemah baru untuk langkah berikutnya."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3292,7 +3325,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr "I2p adalah perangkat lunak open source yang sebagian besar dikembangkan menggunakan toolkit yang juga open source. I2P Project baru saja memperoleh lisensi untuk YourKit Java Profiler. Proyek open source memenuhi syarat untuk menerima lisensi bebas, dengan syarat bahwa YourKit yang dirujuk di situs web proyek. Silakan hubungi kami jika anda tertarik membuat profiling dari source code I2P."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/id/LC_MESSAGES/priority.po b/i2p2www/translations/id/LC_MESSAGES/priority.po
index 642e446a..09e16b11 100644
--- a/i2p2www/translations/id/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/id/LC_MESSAGES/priority.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Robert Dafis mtn -d i2p.mtn read <>
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Klik tab Other Sources dan klik Add. Tempel ppa:i2p-maintainers/i2p
kedalam field APT-line dan klik Add Source. Klik tombol Close kemudian Reload."
-#: 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 "
@@ -171,85 +170,105 @@ msgid ""
" Mark then Apply."
msgstr "Dalam box Quick Filter, masukkan i2p
lalu tekan enter. Ketika i2p
kembali dalam daftar hasil, klik kanan i2p
dan pilih Mark for Installation. Setelah melakukan hal itu Anda akan melihat popup Mark additional required changes?. Jika demikian, klik Mark kemudian Apply."
-#: 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 "Setelah proses pemasangan selesai Anda dapat melanjutkan ke\nbagian berikutnya memulai I2P dan mengkonfigurasikannya\nuntuk sistem Anda."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instruksi untuk Debian"
-#: 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\")."
-msgstr "Catatan: Langkah-langkah dibawah ini harus dilaksanakan dengan akses root\n(misalnya, pengguna beralih ke root dengan \"su\" atau dengan mengawali setiap\nperintah dengan \"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
."
-msgstr "Tambahkan baris seperti berikut ke %(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:"
-msgstr "Unduh kunci yang digunakan untuk menandai repositori dan menambahkannya ke 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 "Beritahukan pengelola paket Anda tentang repositori baru dengan memasukkan"
-#: 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 step\n"
"1."
msgstr "Perintah ini akan mencari keterangan daftar perangkat lunak terbaru\ndari setiap repositori yang diaktifkan pada sistem Anda, termasuk repositori I2P\nyang ditambahkan pada langkah 1."
-#: 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 "Sekarang Anda sudah siap untuk memasang I2P! Memasang paket\ni2p-keyring
akan memastikan bahwa Anda menerima pembaruan\nke repositori kunci GPG."
-#: 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 "Setelah proses pemasangan selesai Anda dapat melanjutkan ke\nbagian berikutnya memulai I2P dan mengkonfigurasikannya\nuntuk sistem Anda."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Catatan: If the https address tidak berfungsi, lakukan hal-hal ini:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Ubah alamat repository ke http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Beritahukan pemasangan bekerja"
-#: 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 "Menggunakan paket I2P tersebut maka router I2P dapat dimulai dalam tiga\ncara berikut:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""on demand" menggunakan script i2prouter. Jalankan saja "i2prouter\nstart
" dari command prompt. (Catatan: JANGAN gunakan\nsudo ataupun menjalankannya sebagai root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -257,14 +276,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""on demand" tanpa java service wrapper(diperlukan untuk sistem operasi non-Linux/non-x86) dengan menjalankan \\\"i2prouter-nowrapper
\n(Catatan: jangan gunakan\nsudo atau jangan jalankan sebagai root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "sebagai service yang otomatis berjalan ketika sistem operasi dihidupkan, bahkan sebelum log in. Layanan ini dapat diaktifkan dengan \\\" dpkg-reconfigure\ni2p
\" sebagai root atau menggunakan sudo. Ini adalah cara operasi yang direkomendasikan."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -272,14 +291,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Ketika anda menginstal I2P untuk pertama kalinya, harap ingat untuk menyesuaikan NAT/firewall anda jika anda dapat melakukannya. Semua port yang dapat di-forward dapat dilihat pada \nnetwork configuration page di router console. Jika petunjuk untuk port forwarding diperlukan, silakan baca portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Harap meninjau dan menyesuaikan pengaturan bandwidth pada halaman konfigurasi, karena pengaturan default 96 KB/s unduh / 40 KB/s unggah adalah cukup konservatif.\""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/id/LC_MESSAGES/research.po b/i2p2www/translations/id/LC_MESSAGES/research.po
index 5c96465c..5a060b75 100644
--- a/i2p2www/translations/id/LC_MESSAGES/research.po
+++ b/i2p2www/translations/id/LC_MESSAGES/research.po
@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:45+0000\n"
-"Last-Translator: Robert Dafis 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 and Message 4.\n"
@@ -12211,11 +12212,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"
@@ -12227,157 +12228,157 @@ 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 "Dimensione:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:210
+#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Contenuti:"
-#: 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 "Note:"
-#: 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 "Contenuti non crittati:"
-#: 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 "12 byte di dati casuali"
-#: 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 session key and\n"
" 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 "0-15 byte di dati casuali"
-#: 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12385,21 +12386,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12407,11 +12408,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12421,58 +12422,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 "Discussione"
-#: 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 \n"
@@ -12481,13 +12482,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?"
@@ -12501,71 +12502,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is dropped."
msgstr ""
-#: i2p2www/pages/site/docs/transport/ssu.html:25
+#: i2p2www/pages/site/docs/transport/ssu.html:24
msgid "SSU Services"
msgstr "Servizi SSU"
-#: 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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 "Vedere sotto"
-#: i2p2www/pages/site/docs/transport/ssu.html:85
+#: i2p2www/pages/site/docs/transport/ssu.html:84
msgid "Protocol Details"
msgstr "Dettagli del protocollo"
-#: i2p2www/pages/site/docs/transport/ssu.html:87
+#: i2p2www/pages/site/docs/transport/ssu.html:86
msgid "Congestion control"
msgstr "Controllo della congestione"
-#: 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"
@@ -12573,7 +12573,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"
@@ -12585,7 +12585,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\n"
@@ -12598,48 +12598,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12647,14 +12647,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12662,11 +12662,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 128.\n"
@@ -12678,11 +12678,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 "Chiavi"
-#: 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"
@@ -12691,7 +12691,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"
@@ -12701,7 +12701,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"
"with all established sessions - if there are matches,\n"
@@ -12713,7 +12713,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"
@@ -12725,7 +12725,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"
@@ -12733,18 +12733,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"
@@ -12752,7 +12752,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"
@@ -12761,11 +12761,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 "Indirizzamento"
-#: 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"
@@ -12773,41 +12773,41 @@ 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"
@@ -12818,7 +12818,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"
@@ -12828,7 +12828,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12836,7 +12836,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 now)\n"
@@ -12851,7 +12851,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"
@@ -12871,26 +12871,26 @@ 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"
@@ -12899,7 +12899,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"
@@ -12909,7 +12909,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"
@@ -12919,7 +12919,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"
@@ -12931,7 +12931,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"
@@ -12942,7 +12942,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"
@@ -12950,7 +12950,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"
@@ -12961,7 +12961,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"
@@ -12970,11 +12970,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"
@@ -12984,7 +12984,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 specified\n"
@@ -12997,11 +12997,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 "Sicurezza"
-#: 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"
@@ -13010,105 +13010,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/it/LC_MESSAGES/get-involved.po b/i2p2www/translations/it/LC_MESSAGES/get-involved.po
index 38620a40..034acd70 100644
--- a/i2p2www/translations/it/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/it/LC_MESSAGES/get-involved.po
@@ -19,9 +19,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Sebastiano Pistore ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 "In modo anonimo:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Non in modo anonimo:"
-#: 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3210,21 +3243,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3233,67 +3266,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3302,7 +3335,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/it/LC_MESSAGES/misc.po b/i2p2www/translations/it/LC_MESSAGES/misc.po
index 0b9cd450..a92ce44e 100644
--- a/i2p2www/translations/it/LC_MESSAGES/misc.po
+++ b/i2p2www/translations/it/LC_MESSAGES/misc.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2018-03-11 14:52+0000\n"
+"PO-Revision-Date: 2018-08-16 15:05+0000\n"
"Last-Translator: Sebastiano Pistore mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Fai clc sulla scheda Altre fonti e su Aggiungi. Incolla ppa:i2p-maintainers/i2p
nel campo dedicato alla riga APT e fai clic su Aggiungi fonte. Fai clic sul pulsante Chiudi quindi su Ricarica."
-#: 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 "
@@ -190,85 +189,105 @@ msgid ""
" Mark then Apply."
msgstr "Nel riquadro di filtro rapido, digita i2p
e premi Invio. Quando i2p
compare nell'elenco dei risultati, fai clic con il pulsante destro del mouse su i2p
e seleziona Contrassegna per l'installazione. Dopo di che, potrebbe apparire un messaggio di popup Contrassegna modifiche necessarie aggiuntive?. Se capita, fai clic su Contrassegna quindi su Applica."
-#: 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 "Dopo il completamento della procedura di installazione, puoi passare alla sezione\nsuccessiva per avviare I2P e configurarlo per il tuo sistema."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Istruzioni per Debian"
-#: 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\")."
-msgstr "Nota: i punti sottostanti dovrebbe essere eseguiti con un accesso di amministratore (ad esempio, passando da utente normale\na root con \"su\" o facendo precedere ogni comando da \"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
."
-msgstr "Aggiungi linee come le seguenti a %(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:"
-msgstr "Scarica la chiave usata per firmare il repository e aggiungila ad 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 "Notifica al tuo gestore di pacchetti il nuovo repository inserendo"
-#: 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 step\n"
"1."
msgstr "Questo comando recupererà l'elenco di programmi più recenti da ogni\nrepository attivato sul sistema, incluso quello I2P aggiunto nel punto \n1."
-#: 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 "Sei pronto a installare I2P! L'installazione del pacchetto i2p-keyring
\nfarà in modo di farti ricevere gli aggiornamenti della chiave GPG del repository."
-#: 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 "Dopo il completamento della procedura di installazione, puoi passare alla sezione successiva per avviare I2P e configurarlo per il tuo sistema."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Nota: Se l'indirizzo https non funziona, oppure nessuno dei due:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Modificato l'indirizzo del repository in http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Post-installazione"
-#: 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 "Usando questi pacchetti I2P, il router I2P può essere avviato nei \ntre modi che seguono:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""a richiesta" usando lo script i2prouter. Ti basta eseguire "i2prouter\nstart
" da riga di comando. (Nota: non usare\nsudo e non eseguirlo con privilegi di amministrazione!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -276,14 +295,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""a richiesta" senza il wrapper di servizi java\n(necessario su sistemi diversi da Linux o diversi da x86) eseguendo \"i2prouter-nowrapper
\".\n(Nota: strong>non/u>\nusare sudo e non eseguirlo con privilegi di amministrazione!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "come servizio che viene eseguito automaticamente all'avvio del sistema, anche \nprima di effettuare l'accesso. Il servizio può essere attivato con \"dpkg-reconfigure\ni2p
\" con privilegi di amministrazione o usando sudo. Questa è la modalità consigliata."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -291,14 +310,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Per la primissima installazione, ricorda di regolare il tuo NAT o firewall\nse puoi. Le porte da inoltrare possono essere trovate nella \npagina di configurazione di rete nel console router. Se serve aiuto in merito al port forwarding,\nè possibile trovare qualche dritta su portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Esamina e modifica le impostazioni della larghezza di banda nella\npagina di configurazione,\nperché le impostazioni predefinite di 96 KB/s per il download e 40 KB/s per l'upload sono abbastanza conservative."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/it/LC_MESSAGES/research.po b/i2p2www/translations/it/LC_MESSAGES/research.po
index 5a955343..7a2090b1 100644
--- a/i2p2www/translations/it/LC_MESSAGES/research.po
+++ b/i2p2www/translations/it/LC_MESSAGES/research.po
@@ -1,274 +1,303 @@
-# Italian translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# alamir i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"Inoltre, I2P può essere avviato in modalità di rete virtuale. Tale "
-"modalità disattiva tutti i trasporti, consentendo il collaudo del router "
-"in isolamento senza traffico di rete. Per attivare questa modalità, "
-"aggiungi i2p.vmCommSystem=true
a router.config prima di "
-"cominciare."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Collaudo della rete I2P live"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
-msgstr ""
-"Se stai programmando di condurre una ricerca sulla rete I2P live, contattaci prima di iniziare il collaudo. "
-"Sebbene non scoraggiamo i ricercatori dal mettere alla prova "
-"responsabilmente le loro idee sulla nostra rete live, se un attacco si "
-"manifesta e non disponiamo di alcuna linea di comunicazione finiremo con "
-"il prendere delle contromisure che potrebbero interferire con il "
-"collaudo."
-
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"\n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:106
+msgid "Using a Test Network to Attack I2P"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:108
+msgid ""
+"I2P can be run as a separate test network by controlling the locations that a\n"
+"new router reseeds from so that it only finds other test routers.\n"
+"\n"
+"The standard mode of operation is to have one JVM per router instance; hence\n"
+"running multiple copies of I2P on a single machine is inadvisable, both due to\n"
+"the potential resource drain and the certain port conflicts. To better\n"
+"facilitate setting up small test networks, I2P has a multirouter mode which\n"
+"enables multiple distinct routers to be run in the same JVM.\n"
+"\n"
+"MultiRouter can be started from the i2p base directory by running the below\n"
+"command."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:124
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode disables\n"
+"all transports, allowing the router to be tested in isolation without network\n"
+"traffic. To enable this mode, add i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Domande di ricerca aperte"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Database di rete"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Trasporti"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Tunnel e destinazioni"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Selezione peer"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Tunnel unidirezionali"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihoming"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Instradamento del messaggio"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr "Anonimità"
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Febbraio 2016"
+msgstr "Gennaio 2017"
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
msgid "Point of Contact for Security Issues"
-msgstr ""
+msgstr "Punto di riferimento per problematiche di sicurezza"
#: i2p2www/pages/site/research/vrp.html:14
msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
msgid "Incident Response"
-msgstr ""
+msgstr "Incident response"
#: i2p2www/pages/site/research/vrp.html:28
msgid "Researcher submits report via one or both of two methods:"
@@ -276,12 +305,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "Email"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -294,8 +322,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -305,7 +332,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:55
msgid "If not vulnerable:"
-msgstr ""
+msgstr "Se non è vulnerabile:"
#: i2p2www/pages/site/research/vrp.html:59
msgid ""
@@ -315,14 +342,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -330,12 +356,12 @@ msgid ""
"\n"
"Establish severity of vulnerability:\n"
" "
-msgstr ""
+msgstr "\nCapire la gravità di una vulnerabiltà:\n "
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -344,7 +370,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:87
msgid "Is not easily exploitable."
-msgstr ""
+msgstr "Non è facilmente sfruttabile."
#: i2p2www/pages/site/research/vrp.html:93
msgid "Respond according to the severity of the vulnerability:"
@@ -353,19 +379,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -387,8 +412,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -397,10 +421,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -409,7 +431,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:140
msgid "Include severity of vulnerability."
-msgstr ""
+msgstr "Includi gravità della vulnerabiltà."
#: i2p2www/pages/site/research/vrp.html:143
msgid "Include systems/apps effected."
@@ -435,8 +457,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -449,11 +470,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -468,11 +491,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:191
msgid "Project name and URL."
-msgstr ""
+msgstr "Nome e URL del progetto."
#: i2p2www/pages/site/research/vrp.html:194
msgid "Versions known to be affected."
-msgstr ""
+msgstr "Versioni sicuramente coinvolte."
#: i2p2www/pages/site/research/vrp.html:197
msgid ""
@@ -483,11 +506,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:200
msgid "Versions not checked."
-msgstr ""
+msgstr "Versioni non controllate."
#: i2p2www/pages/site/research/vrp.html:203
msgid "Type of vulnerability and its impact."
-msgstr ""
+msgstr "Tipo di vulnerabiltà ed impatto."
#: i2p2www/pages/site/research/vrp.html:206
msgid "If already obtained or applicable, a CVE-ID."
@@ -505,8 +528,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -514,13 +537,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -529,8 +553,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -541,33 +565,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -582,7 +601,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -611,39 +631,34 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:322
msgid "Resolutions"
-msgstr ""
+msgstr "Soluzioni"
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:338
msgid "Continuous Improvement"
-msgstr ""
+msgstr "Miglioramento continuo"
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -680,4 +695,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/ja/LC_MESSAGES/about.po b/i2p2www/translations/ja/LC_MESSAGES/about.po
index 23775190..376b879e 100644
--- a/i2p2www/translations/ja/LC_MESSAGES/about.po
+++ b/i2p2www/translations/ja/LC_MESSAGES/about.po
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: zzzi2p\n"
+"PO-Revision-Date: 2018-08-19 19:31+0000\n"
+"Last-Translator: Masayuki Hatta 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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/ja/LC_MESSAGES/get-involved.po b/i2p2www/translations/ja/LC_MESSAGES/get-involved.po
index 311beb4a..ef3ac4ba 100644
--- a/i2p2www/translations/ja/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/ja/LC_MESSAGES/get-involved.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -311,40 +311,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "I2Pプロジェクトの目標"
@@ -1973,6 +1998,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 ""
@@ -2109,10 +2142,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."
@@ -2979,57 +3008,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"
@@ -3037,7 +3070,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3045,13 +3078,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3061,28 +3094,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3091,106 +3124,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3200,21 +3233,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3223,67 +3256,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3292,7 +3325,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/ja/LC_MESSAGES/priority.po b/i2p2www/translations/ja/LC_MESSAGES/priority.po
index a5732a80..723cb265 100644
--- a/i2p2www/translations/ja/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/ja/LC_MESSAGES/priority.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: タカハシ mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "その他のソースタブをクリックして、追加をクリックしてください。 ppa:i2p-maintainers/i2p
を APT-line フィールドに貼り付けて、ソースを追加 をクリックしてください。"
-#: 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 "
@@ -172,85 +171,105 @@ msgid ""
" Mark then Apply."
msgstr "クイックフィルタボックスで、i2p
を打ち込んで、エンターを押してください。i2p
が結果リストで返還された時、i2p
を右クリックして、インストールのためマークを選択してください。そうした後に、さらに必要な変更をマークしますか?ポップアップが表示されます。そうなったら、マークをクリックしてから適用をクリックしてください。"
-#: 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 "インストールプロセスが完了した後、I2Pを始めるの\n次のパートに移動して、システムの設定ができます。"
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Debian 用の説明"
-#: 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\")."
-msgstr "注: 以下の手順はルートアクセスで実行する(言い換えれば、\"su\"か、各コマンドの先頭に\"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
."
-msgstr "以下のように、%(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:"
-msgstr "レポジトリにサインするのに使われるキーをダウンロードして、 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 step\n"
"1."
msgstr "このコマンドは、手順で追加された I2P レポジトリ含むシステム上で有効化されている全てのレポジトリから最新のソフトウェアのリストを取得します。"
-#: 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 "I2P をインストールする準備が出来ました! i2p-keyring
パッケージをインストールすると、確実にレポジトリの GPG キーへのアップデートを受信します。"
-#: 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 "インストールプロセスが完了した後、I2Pを始めるの次のパートに移動して、システムの設定ができます。"
-#: 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 "これら I2P のパッケージを使用して、以下の3つのやり方で、I2P ルーターを始めることができます。"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""要求に応じて" i2prouter スクリプトを使用してください。コマンドラインから "i2prouter\nstart
" を走らせるだけで構いません。 (注: sudoを使用したり、rootで起動するのはやめてください!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -258,14 +277,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""要求に応じて"\"i2prouter-nowrapper
\"を走らせて、\njava サービスラッパーを無効にしてください(非Linux/非x86システムで必要)。\n(注: sudoを使用したり、rootで起動するのは\nやめてください!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "システムをブートした際に、ログインする前の時点で自動的に起動するサービスとして。サービスは\nルートとしてまたはsudoを使用して、\"dpkg-reconfigure i2p
\"で有効にできます。"
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -273,14 +292,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "初回インストール時に、できれば忘れずNAT/firewallを調整してください。転送ポートは、ルーターコンソールのネットワーク設定ページeにあります。転送ポートに関するアドバイスが必要であれば、 portforward.com がお役に立つかもしれません。"
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "設定ページで、\n規定の設定である 96KB/s ダウン 40KB/s アップはかなり控えめであるので、\n帯域幅設定を確認・調整してください。"
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/ko/LC_MESSAGES/blog.po b/i2p2www/translations/ko/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..b7bc9a33
--- /dev/null
+++ b/i2p2www/translations/ko/LC_MESSAGES/blog.po
@@ -0,0 +1,7548 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Korean (http://www.transifex.com/otf/I2P/language/ko/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: ko\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
+msgid "Files are available on the `download page`_."
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:39
+msgid "`download page`"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:45
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:13
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:101
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:26
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:48
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:34
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:35
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:65
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:29
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:37
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:32
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:38
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:36
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:43
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:27
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:30
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:44
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:36
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:34
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:73
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:53
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:35
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:54
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:33
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:35
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:32
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:56
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:32
+#: 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.rst:36
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:33
+msgid "RELEASE DETAILS"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:103
+msgid "Major Changes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:54
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:112
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:34
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:51
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:40
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:41
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:76
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:39
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:50
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:35
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:51
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:55
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:53
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:30
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:40
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:57
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:52
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:42
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:80
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:63
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:47
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:71
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:43
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:47
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:48
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:68
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:41
+#: 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.rst:45
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:43
+msgid "Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:63
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:19
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:118
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:52
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:99
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:49
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:47
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:87
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:49
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:57
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:42
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:60
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:68
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:65
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:38
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:49
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:75
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:65
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:50
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:89
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:76
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:53
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:83
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:58
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:57
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:62
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:82
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:54
+#: 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.rst:57
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:53
+msgid "Other"
+msgstr "그 외"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:79
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:30
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:129
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:27
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:76
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:64
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:59
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:104
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:62
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:73
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:52
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:76
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:86
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:81
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:61
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:69
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:101
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:75
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:56
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:115
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:105
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:76
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:96
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:73
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:103
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:77
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:25
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:102
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:69
+#: 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.rst:79
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:73
+msgid "SHA256 Checksums:"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
+msgid "Major changes"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
+msgid "Wrapper Update"
+msgstr ""
+
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
+msgid "Update Info"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
+msgid "0.9.2 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
+msgid ""
+"0.9.2 includes extensive low-level changes to improve the performance and "
+"efficiency of the router. We have updated our UPnP library, to hopefully "
+"make UPnP work for more people. I2PSnark now has DHT support, but it is not "
+"yet enabled by default, as we plan to do more testing during the upcoming "
+"0.9.3 development cycle."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
+msgid ""
+"As usual, there's also lots of bug fixes in this release, so updating is "
+"recommended."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
+msgid ""
+"SSU: Fix several problems in our UDP transport, to improve efficiency and "
+"reliability for connection setup. Also improve defenses against various "
+"types of bad input."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
+msgid ""
+"UPnP: Updated our library to fix several issues, should work for more "
+"routers now"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
+msgid ""
+"Transport: Improve performance in both our TCP and UDP transports, to "
+"benefit high-bandwidth routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
+msgid ""
+"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered are "
+"now much more flexible, which should lessen protocol overhead and reduce "
+"stalls caused by dropped tags."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
+msgid ""
+"I2PSnark: Add DHT support, not yet enabled by default, will do further "
+"testing and plan to enable by default in 0.9.3."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
+msgid ""
+"Fix various issues affecting memory usage and performance on high-bandwidth "
+"routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
+msgid ""
+"Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
+msgid ""
+"Fix i2psnark bug that prevented a completion announcement to the tracker"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
+msgid "Fix a lock contention problem in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
+msgid "Fix some OSX installation issues"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
+msgid "Remove uses of direct byte buffers that may have been leaking"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
+msgid "Reduce overhead in network messages"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
+msgid "Add \"universal\" theme support"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
+msgid "Theme updates"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
+msgid "Add a jbigi library for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
+msgid "New Scala unit test framework"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
+msgid "Translation updates for Czech, Dutch, German, and Greek"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
+msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:77
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:127
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:74
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:62
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:57
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:100
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:58
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:70
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:49
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:83
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:78
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:58
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:66
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:96
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:72
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:53
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:112
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:97
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:68
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:88
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:65
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:95
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:69
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:94
+#: 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.rst:71
+msgid "Update GeoIP data (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
+msgid "0.9.3 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
+msgid ""
+"0.9.3 includes extensive low-level changes to the queueing of messages in "
+"the router. We implement the CoDel Active Queue Management (AQM) algorithm."
+" We also unify the queueing and priority mechanisms in the transports to "
+"aid diagnosis and reduce network latency. Work continues on fixing UDP "
+"transport bugs and making UDP more resistant to attacks. There are more "
+"changes to improve the performance of the router and reduce its memory "
+"usage. Also, we enable i2psnark's DHT support, introduced last release, by "
+"default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
+msgid "Active Queue Management"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
+msgid "Priority queues"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
+msgid "I2PSnark DHT: Several bug fixes, enable by default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
+msgid ""
+"Several SSU fixes including memory leak, and better handling of routers "
+"behind firewalls that change UDP ports; additional defenses for malicious "
+"packets."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
+msgid "Fix piece selection (rarest-first) bugs in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
+msgid "Fix bug causing multiple browsers to open at startup"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
+msgid "Improvements in caching"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
+msgid "Several synchronization fixes and lock contention reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
+msgid "Major reduction in SSU buffers memory use"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
+msgid ""
+"Fix streaming connection timeout back to 1 minute, was inadvertently changed"
+" to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was unlimited"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
+msgid "Improved defenses in i2ptunnel for \"darkloris\""
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
+msgid "More validation at torrent creation in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
+msgid "Several parameter changes in SSU to improve throughput"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
+msgid ""
+"New event log for major events including restarts; show multiple restart "
+"lines on graphs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
+msgid "Remove duplicate messages from logs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
+msgid "Don't respond to blocked streaming connections with a reset, just drop"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
+msgid "Remove all uses of inefficient SimpleTimer"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
+msgid "More checks for valid IPs and ports entered in console"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
+msgid "Fix bug that wasted a lot of entropy"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
+msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
+msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
+msgid "0.9.4 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
+msgid ""
+"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, that "
+"was reducing network performance and reliability. It also includes major "
+"changes in the in-network update system, and adds the capability to update "
+"via in-network torrents."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
+msgid ""
+"We fixed several bugs in the i2psnark DHT implementation that was introduced\n"
+"last release. For those of you using console or http proxy passwords,\n"
+"we converted to the more-secure digest method and improved the security for console forms."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
+msgid ""
+"For those of you already running development builds, your router should automatically\n"
+"update to 0.9.4-0 using the new in-network torrent facility.\n"
+"For those running 0.9.3-0, you will update normally using in-network HTTP, and\n"
+"we will have more information for you when we release 0.9.5."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
+msgid ""
+"Big rework of the update system; Preliminary support for updates via "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
+msgid "Add per-destination outbound priorities"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
+msgid ""
+"Fix major bug that reduced SSU connection limits which reduced tunnel build "
+"success rates"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
+msgid ""
+"Fix bug with external I2CP that prevented some external apps from working"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
+msgid "Fixed several bugs in i2psnark DHT"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
+msgid "Fixed bug in i2psnark PEX that inflated peer counts"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
+msgid "Handle dropped I2CP messages better"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
+msgid "Reduce overhead of I2CP messages"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
+msgid "Enforce max size in transport outbound message queues"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
+msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
+msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
+msgid ""
+"More performance improvements, memory reduction, and object churn reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
+msgid "Better detection of network disconnections"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
+msgid "Further improvements in the SSU transport"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
+msgid "Add console password form"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
+msgid ""
+"Convert http proxy and console from basic to digest authentication for added"
+" security"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
+msgid ""
+"Improved verification of console form submissions, using jsp sessions. "
+"Cookies may now be required on forms, except when the console password is "
+"enabled"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
+msgid ""
+"Initial work on new interfaces to manage applications started via "
+"clients.config"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
+msgid "Increase minimum peer port to 1024"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
+msgid "Increase granularity of bandwidth limiter for smoother transmissions"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
+msgid ""
+"Translation updates: Chinese, French, German, Italian, Polish, Portuguese, "
+"Swedish, and Ukrainian"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
+msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
+msgid "New ARMv6 wrapper for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
+msgid "0.9.5 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
+msgid ""
+"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities "
+"that are being investigated by researchers at UCSB. We continue to work with"
+" them on additional improvements. This is a good opportunity to remind the "
+"community that while our network continues to grow rapidly, it is still "
+"relatively small. There may be multiple weaknesses or bugs that could "
+"compromise your anonymity. Help us grow the network by spreading the word "
+"and contributing where you can."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
+#, python-format
+msgid ""
+"In this upgrade cycle, a random 1%(pc)s of routers, (plus all routers running a\n"
+"development build) will attempt to update via the experimental in-network bittorrent\n"
+"with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
+msgid "Defenses and Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
+msgid "Fix router bug causing lockup when using iMule"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
+msgid "Recognize, handle, reject duplicate tunnel IDs"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
+msgid "Fix changing of the log file name"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
+msgid "Prevent hashcode attack in session tags"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
+msgid "Add build request throttler based on previous hop"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
+msgid "Limit concurrent next-hop lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
+msgid "Catch exceptions storing nonces in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
+msgid "Fix saving graph settings in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
+msgid "Fix eepget generation of URLs when not proxied"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
+msgid ""
+"Encrypt database lookup messages end-to-end when sent through exploratory "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
+msgid "Don't use multiple floodfills from the same /16 in a query"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
+msgid "Randomize delay before verifying floodfill store"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
+msgid "Increase number of floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
+msgid "Improve support for mobile browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
+msgid "Partial defenses for UCSB attacks"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
+msgid "Add announce list support to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
+msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
+msgid "Split router info files into multiple subdirectories"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
+msgid "Add IP to hostname mapping option in SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
+msgid "Improve PRNG seeding"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
+msgid ""
+"Translation updates: French, German, Hungarian, Italian, Norwegian, Polish, "
+"Portuguese, Russian, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
+msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
+msgid "0.9.6 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
+msgid ""
+"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
+"Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty "
+"update. The Jetty 7 series is actively maintained and we plan to stay "
+"current with it in future I2P releases."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
+msgid ""
+"Most users will update via HTTP. Those running development builds will attempt to update via the\n"
+"experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users\n"
+"to update via torrent in the 0.9.7 update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
+msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
+msgid ""
+"If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the\n"
+"following instructions to fix your eepsite location **before** you update to 0.9.6.\n"
+"Only original installations of 0.9.5-0 on Windows are affected by this issue. If your router version\n"
+"is 0.9.5-0-win1, you already have the fix and need not take any action."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
+msgid "See `this page`_ for instructions."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
+msgid "`this page`"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
+msgid "Jetty 7 Migration Details"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
+msgid ""
+"For most people, the update should just work. If you have multiple Jetty eepsites,\n"
+"OR have made changes to jetty.xml or other Jetty configuration files, including changing the port\n"
+"from 7658, you MUST take manual action AFTER updating."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
+msgid ""
+"After update, the router will migrate your jetty.xml files to the new Jetty "
+"7 format."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
+msgid ""
+"The migration resets the port to 7658. If you have more than one Jetty eepsite, OR your eepsite\n"
+" is NOT on port 7658, OR you have made other modifications to jetty.xml (for example changing the\n"
+" listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml file for each eepsite to fix them up\n"
+" after updating, and restart again."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
+msgid ""
+"**The following files will be backed up with a ".jetty6" suffix and then migrated.**\n"
+"If you have made local changes, you may have to edit them manually and restart.\n"
+"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
+msgid "Plugins"
+msgstr "플러그인"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
+msgid "Most plugins should work fine with Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
+msgid ""
+"The I2PControl and zzzot plugins must be updated. Your router should "
+"download and install the new versions shortly after starting 0.9.6."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
+msgid ""
+"If a plugin does not work, please contact the maintainer for that plugin."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
+msgid "Several bugs with Windows installation (see above)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
+msgid "Fix default form action in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
+msgid "Fix links on iframed console pages"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
+msgid "Better detection of 64-bit Windows to prevent crashes by systray"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
+msgid "Fix bug preventing router update via torrent"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
+msgid "Several SSU fixes for NATs that change UDP ports"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
+msgid ""
+"Ignore unsupported IPs in RouterInfos when selecting an address (prep for "
+"IPv6)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
+msgid ""
+"Ignore unused option bits in Database Lookup Message (prep for requesting "
+"encrypted response)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
+msgid "Fix HTTP proxy error response for malformed URIs"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
+msgid "Recognize UPnP devices without port forwarding capability"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
+msgid "Jetty 7.6.10 (see above for migration information)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
+msgid "Limit page size in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
+msgid "Add data directory and page size configuration to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
+msgid "Support multiple i2psnark instances"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
+msgid "Piece size adjustments in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
+msgid "Add more graphing support for combined bandwidth graph"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
+msgid "Block b32.i2p supercookies"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
+msgid "Allow stopping clients on /configclients"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
+msgid "Check for nonce count replays in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
+msgid "Support SASL authentication in IRC proxy"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
+msgid "Several cleanups and minor fixes in the update manager"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
+msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:2
+msgid "0.9.7 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:7
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:9
+msgid "0.9.7 includes significant bug fixes and improvements."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:11
+msgid ""
+"For the first time, class 'N' routers (those with a minimumum of 128 KBytes/sec of shared bandwidth)\n"
+"will automatically become floodfill (previously it was only 'O' routers with 256 KBps). This will\n"
+"increase the floodfill population for additional resistance to certain attacks (see below). Floodfill routers\n"
+"don't consume much additional bandwidth, but they do tend to use additional memory and concurrent\n"
+"connections. If you do not wish your router to become floodfill, set the advanced configuration\n"
+"router.floodfillParticipant=false ."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:20
+#, python-format
+msgid ""
+"As we think the last release fixed the experimental update-via-torrent bugs, 3%(pc)s of routers should\n"
+"update over in-network bittorrent this cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:25
+msgid ""
+"Plugin update checks, possibly broken for several releases, are fixed. Your plugins should once again\n"
+"auto-update after updating the router."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:30
+msgid ""
+"We fixed a major streaming timer bug that contributed to frequent IRC "
+"disconnects."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:34
+msgid ""
+"This release contains additional mitigations for the `\"practical attacks\" paper`_.\n"
+"However, we have a lot more work to do to resist Sybil attacks on the floodfills, and resist\n"
+"traffic analysis at the gateways and endpoints of exploratory tunnels.\n"
+"It's a good reminder for everybody that our network is still relatively small and vulnerable.\n"
+"We don't currently recommend any uses that would put anybody in serious jeopardy.\n"
+"We'll keep working to improve it... please keep working to spread the word. A bigger network is a better network."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:43
+msgid "`\"practical attacks\" paper`"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:47
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:15
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:107
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:28
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:36
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:37
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:67
+msgid "Anonymity Improvements"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:49
+msgid "End-to-end encryption of responses to leaseset lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:50
+msgid "Expand floodfill pool by enabling class 'N' floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:51
+msgid "Randomize padding inside encrypted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:52
+msgid "Preparation for better SSU protocol obfuscation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:56
+msgid "Fix newer lease sets not getting stored or published"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:57
+msgid ""
+"Fix classpath bug when used with 4-year-old installations, causing the "
+"console not to start"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:58
+msgid "Fix addressbook database bug preventing update of the reverse index"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:59
+msgid ""
+"Fix i2psnark bug that changed the infohash of torrents created by Robert and"
+" fetched via magnet link"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:60
+msgid "Fix version checking for plugins"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:61
+msgid ""
+"Fix a streaming timer bug causing frequent IRC disconnects (also affects "
+"other close-on-idle tunnels)"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:65
+msgid "Don't install as a service on Windows by default"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:66
+msgid "Reduce transport idle timeouts"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:67
+msgid "Reduce tunnels on idle in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:68
+msgid "Change default in i2ptunnel GUI to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:69
+msgid "IE 10 support"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:70
+msgid ""
+"Individual expiration times in leases, for efficiency on destinations with a"
+" high number of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:71
+msgid "Low-level encryption and XOR speedups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:72
+msgid "Jetty 7.6.11"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:73
+msgid "Tomcat 6.0.37"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:74
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Spanish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:75
+msgid "New Turkish translation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:76
+msgid "Wrapper 3.5.19 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:2
+msgid "0.9.7.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:7
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:9
+msgid ""
+"This unscheduled release disables the RouterInfo verification messages that "
+"were used in the attack published in the UCSB paper, which should make "
+"correlating a LeaseSet and a Router much more difficult. We have also "
+"included a limited number of other fixes listed below. Our 0.9.8 release, "
+"which will include IPv6 support, is still on-schedule for late September."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:11
+msgid "As usual, we recommend that all users update to this release."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:17
+msgid "Disable RouterInfo verification messages"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:21
+msgid "Extend inbound tunnel expiration"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:22
+msgid "i2prouter: bashism fix"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:23
+msgid "i2psnark: increase max piece size, mime type updates"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:24
+msgid "New reseed host"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:25
+msgid "New update hosts, thanks Meeh and dg"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:26
+msgid "Streaming: RTO changes"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:27
+msgid "Updater: Increase update-via-torrent to 30 percent"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:28
+msgid "UPnP fix for some hardware"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:2
+msgid "0.9.8 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:7
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:9
+msgid ""
+"0.9.8 includes the long-awaited support for IPv6. It's enabled by default, "
+"but of course you need a public IPv6 address to use it. Configuration is on "
+"the 'network' configuration tab in your console. We also have anonymity "
+"improvements including padding of SSU packets and longer router private "
+"keys."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:11
+#, python-format
+msgid ""
+"30%(pc)s of you will update via in-network torrent in this update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:13
+msgid "IPv6 Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:15
+msgid ""
+"IPv6 is enabled and preferred by default. If you have a public IPv6 address \n"
+"and you are connecting to another router with a published IPv6 address, it will \n"
+"connect via IPv6. There is a new IPv6 configuration section on /confignet in \n"
+"the router console. If IPv6 is causing problems you may disable it there."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:22
+msgid ""
+"As a part of the IPv6 development effort, I2P now supports multiple \n"
+"published IP addresses. If you have multiple public IP addresses (IPv4, IPv6, \n"
+"or both), you may enable or disable them individually on /confignet. The \n"
+"default is to use the first IPv4 and IPv6 addresses it discovers. If you have \n"
+"multiple addresses you should review the configuration on /confignet and adjust \n"
+"it if necessary.\n"
+"Note that while you may enable multiple IPv4 and IPv6 addresses on /confignet,\n"
+"we recommend that you use only one IPv4 and one IPv6 address. There are\n"
+"bugs still to be fixed with multiple addresses of each type."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:34
+msgid ""
+"While IPv6 support was designed and developed over several years, it has \n"
+"only been tested by a limited number of users and is still beta. If you do have \n"
+"a public IPv6 address, please monitor your router and the logs for problems, \n"
+"and disable it necessary. Please report any bugs on \n"
+"http://trac.i2p2.i2p."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:42
+msgid "Rekeying Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:44
+msgid ""
+"For those of you running I2P on faster hardware (generally, 64-bit x86) the \n"
+"router will generate a new identity using longer keys. This will substantially \n"
+"reduce your participating traffic for 48 hours or more, while your router \n"
+"re-integrates into the network. Due to the new keys, the large number of \n"
+"torrent updates, and the recent network growth, we expect substantial \n"
+"disruption to the network for a week or more after the update is released. \n"
+"Please be patient and things should start to improve after a few days."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:54
+msgid ""
+"These changes may result in higher CPU usage for some of you. We're doing \n"
+"our best to increase efficiency, but stronger security generally requires more \n"
+"computation. Performance may also be poor during the first week\n"
+"due to the network churn.\n"
+"We will evaluate the network performace before deciding whether to\n"
+"change the key length on slower hardware in a future release."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:63
+msgid ""
+"We are experiencing rapid network growth in the last few weeks, which is \n"
+"causing a bit of a bumpy ride for some, especially on weekends. However, the \n"
+"network is still performing fairly well, so keep spreading the word."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:69
+msgid "More Changes Coming"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:71
+msgid ""
+"We're in the initial stages of desiging major changes to strengthen our \n"
+"crypto. Stronger crypto will use more CPU and it may possibly \n"
+"require a Java 7 JRE at a minimum. We understand your desire to run I2P on low-power \n"
+"and/or older hardware. We're working hard to minimize the impacts, but some \n"
+"loss of performance is inevitable. In addition, Java 5 and 6 are no longer \n"
+"supported by Oracle. Now is a good time to upgrade to Java 7. Any change in \n"
+"minimum requirements will be announced well in advance."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:81
+msgid "New Website"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:83
+msgid ""
+"After a heroic effort by str4d, the new website preview is available at \n"
+"http://i2hq.srv.i2p2.de. We hope to see it go live at \n"
+"https://geti2p.net and http://www.i2p2.i2p soon. Please \n"
+"contribute to the new website translations on Transifex, especially the \n"
+"website_priority resource."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:91
+msgid "Community Participation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:93
+msgid ""
+"In early August, hottuna and zzz attended DEFCON 21 in Las Vegas.\n"
+"Last weekend, echelon attended the CTS IV conference in Berlin and\n"
+"psi attended the Tahoe-LAFS hackfest at GNU 30 in Cambridge, Mass.\n"
+"Several of us will be at 30C3 in Hamburg late this year.\n"
+"It's great to see people participating at these events and representing I2P."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:105
+msgid "IPv6 support for both NTCP and SSU"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:109
+msgid "SSU protocol obfuscation by adding random padding"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:110
+msgid "Longer encryption and DH private keys for users on faster platforms"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:114
+msgid "Fix I2PTunnel / I2CP locking and duplicates (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:115
+msgid "Fix translation of HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:116
+msgid "Fix occasional runtime exception in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:120
+msgid ""
+"Big rework of transport code to accommodate multiple addresses and IPv6"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:121
+msgid "Streaming: Improved recovery from lost acks, other fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:122
+msgid ""
+"Use Transifex for translation of initial news and HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:123
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Swedish, "
+"Turkish"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:124
+msgid "New Romanian translation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:126
+msgid "Wrapper 3.5.20 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:2
+msgid "0.9.8.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:7
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:9
+msgid ""
+"0.9.8.1 fixes a problem with updating to 0.9.8 on Windows for some people. "
+"New installs and non-Windows platforms are not affected, however all "
+"platforms will automatically update even if running 0.9.8."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:11
+msgid ""
+"See the `Trac ticket`_ for details and workarounds. See\n"
+"`the 0.9.8 release notes`_ for information on IPv6 and other changes."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:16
+msgid ""
+"Due to recent attacks, logins are disabled on `Trac`_ and new registrations are\n"
+"disabled on `zzz.i2p`_. Until those services are restored, please report all\n"
+"bugs on IRC freenode or IRC2P #i2p-dev."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:22
+msgid "`Trac ticket`"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:23
+msgid "`the 0.9.8 release notes`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:2
+msgid "0.9.9 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:7
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:9
+msgid ""
+"0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and "
+"starts work on a year-long plan to increase the strength of the "
+"cryptographic signing algorithms used in the router, and support multiple "
+"algorithms and key lengths simultaneously. Automatic update files will now "
+"be signed with 4096-bit RSA keys."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:11
+msgid ""
+"We now support SSL between your router and your servers for security.\n"
+"See `this development thread`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:16
+msgid "`this development thread`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:18
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release.\n"
+"Several members of the I2P team will be at 30C3 in Hamburg this year.\n"
+"Come say hello and ask for an I2P sticker.\n"
+"Thanks to everyone for their support this year."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:30
+msgid "Don't build client tunnels through zero-hop exploratory tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:31
+msgid "New \"su3\" file support using stronger keys"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:32
+msgid "Use su3 for updates"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:36
+msgid "Issues with losing data when closing streams"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:37
+msgid "Fix various streaming connection limit issues"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:38
+msgid "Issues with resource usage of closed connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:39
+msgid "Clean up timer threads in close-on-idle tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:40
+msgid "Several other streaming fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:41
+msgid "Reject more non-public IPv6 addresses"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:42
+msgid "Fix IPv6 GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:43
+msgid "Fix peer selection in first minutes after startup"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:44
+msgid "Several I2PTunnel bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:45
+msgid "Fix major i2psnark DHT bug that prevented magnets from working well"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:46
+msgid ""
+"Fix client tunnels that fail due to name resolution failure at startup, "
+"particularly with b32 hostnames"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:47
+msgid "Fix changing client i2ptunnel target list"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:48
+msgid ""
+"Fix major bugs preventing reception of encrypted responses to leaseset "
+"lookups and verifies"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:49
+msgid "Fix bad links on some i2psnark buttons in Opera and text-mode browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:50
+msgid "Fix NPE in Susimail"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:54
+msgid "Start work on supporting stronger signing keys in the router"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:55
+msgid "Reduce thread usage for HTTP Server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:56
+msgid "Auto-stop update torrent after some time"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:57
+msgid "Add ability to stop webapp via console"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:58
+msgid "New POST throttler in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:59
+msgid "Improve connection throttling"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:60
+msgid "More work to reduce number of connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:61
+msgid "Re-enable router info expiration job"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:62
+msgid ""
+"Extend router info expiration and other changes to reduce load on floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:63
+msgid "Support multiple servers through a single server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:64
+msgid "Support specification of server port in i2ptunnel clients"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:65
+msgid "Add support for SSL connections from i2ptunnel to external server"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:66
+msgid "SSL and crypto code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:67
+msgid "i2psnark storage code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:68
+msgid "New destination cache"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:69
+msgid "Lots of code cleanup and resolution of findbugs warnings"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:70
+msgid "New Japanese translation (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:71
+msgid ""
+"Translation updates: French, German, Italian, Romanian, Russian, Spanish, "
+"Swedish, and others"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:73
+msgid "Wrapper 3.5.22 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:1
+msgid ""
+"=====================\n"
+"Syndie 1.105b Release\n"
+"====================="
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:9
+msgid "Update to HSQLDB 2.3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:11
+msgid ""
+"This is the first stable release since February 2013.\n"
+"It is essentially the same as 1.104b-7-rc, with some translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:16
+msgid ""
+"All binaries and source packages are at `syndie.de`_ and `syndie.i2p`_.\n"
+"Plugins are available at `plugins.i2p`_ and `stats.i2p`_."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:21
+msgid ""
+"For those of you upgrading from 1.103b, you will find syndie startup and "
+"shutdown much faster due to the new version of HSQLDB."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:25
+msgid ""
+"If you have a large database or an identity you wish to preserve,\n"
+"you may wish to back up your entire ~/.syndie directory before you start.\n"
+"The upgrade process does make its own backup, however you may find it easier to use your own backup if the upgrade fails."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:31
+msgid ""
+"Upgrades from 1.103b may fail for some people due to database corruption due to bugs in the old HSQLDB.\n"
+"Unfortunately, we don't know how to fix it.\n"
+"Your alternatives are to start over with a clean database, or stay with 1.103b forever.\n"
+"Sorry about that."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:43
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:29
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:56
+msgid "GUI Improvements and Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:72
+msgid "Syndication"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:83
+msgid "Database"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:104
+msgid "New translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:105
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:60
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:56
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:99
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:57
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:69
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:72
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:82
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:77
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:57
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:65
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:95
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:71
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:52
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:111
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:96
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:67
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:87
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:64
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:94
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:68
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:93
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:59
+#: 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.rst:70
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:63
+msgid "Translation updates"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.10 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:9
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker to correlate a Destination with a Router."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:11
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more difficult for an attacker\n"
+"to correlate a Destination with a Router. It also fixes character encoding bugs in susimail,\n"
+"and includes lots of other bug fixes and translation updates.\n"
+"Most of you will update via torrent, using the new \"su3\" update format with stronger keys."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:18
+msgid ""
+"We recently attended `30C3`_ and `Real World Crypto`_, making several new\n"
+"connections and formulating `big plans`_ for 2014. Thanks to those who\n"
+"supported our attendance with their `donations`_!"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:26
+msgid "`big plans`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:27
+msgid "`donations`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:38
+msgid "Use client tunnels for LeaseSet lookups"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:42
+msgid ""
+"Flood netdb stores to new location before midnight to prevent lookup fails "
+"after midnight"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:43
+msgid "Fix setting I2CP host/port in BOB"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:44
+msgid "Fix several character encoding issues in susimail"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:45
+msgid "Fix StandardServerSocket.close()"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:46
+msgid "Fix exception in PrivateKeyFile"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:47
+msgid "Fixes in RouterInfo expiration task"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:51
+msgid "Tweaks to reduce number of peer connections"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:52
+msgid "Several threading fixes to reduce blocking in the timer queues"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:53
+msgid "Disable streaming ping handling for clients"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:54
+msgid "Use i2psnark's Kademlia library for the router netdb also"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:55
+msgid ""
+"Increase outbound exploratory default to 2 + 0-1 hops, part of gradual "
+"increase to 3 hops in/out"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:56
+msgid "More findbugs fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:57
+msgid "Streaming library refactoring"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:58
+msgid "Support country-specific translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:59
+msgid "New Brazilian Portuguese translation"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.11 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:9
+msgid ""
+"0.9.11 adds support for outproxy plugins, improves lease set lookup "
+"security, and reduces memory usage."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:11
+#, python-format
+msgid ""
+"0.9.11 continues improving LeaseSet lookup and storage to prevent an attacker\n"
+"from correlating a Destination with a Router. It adds support for the\n"
+"%(orchid)s outproxy plugin which is available at %(url)s. There is a\n"
+"reduction in memory usage due to fixes in the transports. We have some I2CP\n"
+"protocol improvements that will provide better lookup facilities and\n"
+"authorization protection for external clients. Of course, there's also the\n"
+"usual collection of bug fixes. All users should update."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:21
+msgid ""
+"This may be the last release that works with Java 5, which is very old and\n"
+"unsupported. If you are using a Java 5 or 6 runtime, we strongly recommend that\n"
+"you upgrade to Java 7."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:30
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:17
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:32
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:30
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:37
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:21
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:24
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:29
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:25
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:24
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:67
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:47
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:29
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:48
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:27
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:29
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:26
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:50
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:26
+#: 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.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."
+msgstr "평소와 같이, 이 릴리즈로 업데이트하는 것을 권장합니다. 보안을 유지하고\n네트워크를 돕기 위한 가장 좋은 것은 최신 릴리즈를 사용하는 것입니다."
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:39
+msgid "More leaseset handling improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:43
+msgid "Fix NPE after client shutdown"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:44
+msgid "Fix wrapper log encoding on logs page"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:45
+msgid "Streaming ping and I2Ping fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:49
+msgid "Add support for Orchid plugin"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:50
+msgid "Add HTTPS support to HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:51
+msgid "New I2CP support for hostname lookups by external clients"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:52
+msgid ""
+"Stricter I2CP authorization enforcement of external clients (incompatible "
+"change)"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:53
+msgid "Increase default inbound exploratory tunnel length variance"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:54
+msgid "Big reduction in memory usage by transports"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:55
+msgid "All in-net updates via torrent"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:1
+msgid ""
+"=========================\n"
+"Malware at i2pbrowser.net\n"
+"========================="
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:8
+msgid ""
+"The site i2pbrowser.net is a fake I2P website mirror serving up malware for "
+"Windows."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:10
+msgid ""
+"We have recently been made aware of the existence of i2pbrowser.net. This\n"
+"website copies our homepage and download page, and attempts to trick users into\n"
+"downloading Windows malware."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:16
+msgid ""
+"There are several indicators that point to i2pbrowser.net being a malware "
+"site:"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:20
+msgid "The domain was registered on February 10th, 2014."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:21
+msgid ""
+"The download URLs for Windows, Mac OSX, Linux, Android etc. all link to the "
+"same .exe file."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:22
+msgid ""
+"The .exe is only 741 KB; the official Windows installer for I2P is 13 MB."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:24
+msgid ""
+"We have not examined the malware ourselves, but it does not appear to be very\n"
+"sophisticated; it is not integrated into or bundled with the I2P software.\n"
+"Information security expert `Lance James`_ posted `a tweet`_ labelling it as\n"
+"\"a standard dark comet rat\"."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:31
+msgid ""
+"Spread the word. The only official download locations for I2P are linked on our\n"
+"`download page`_. All I2P download packages are GPG-signed by the\n"
+"`release signing key`_."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:38
+msgid "`a tweet`"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:40
+msgid "`release signing key`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:1
+msgid ""
+"================================================================\n"
+"Search Engine DuckDuckGo Awards Invisible Internet Project $5000\n"
+"================================================================"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:10
+msgid ""
+"Search engine `DuckDuckGo`_ `donates`_ $5000 to the `Invisible Internet "
+"Project`_ (I2P) in their open source donation program."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:12
+msgid ""
+"**Somewhere, NH** -- Internet search company `DuckDuckGo`_ `donates`_\n"
+"$5000 to the `Invisible Internet Project`_ (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal. With an emphasis on privacy, DuckDuckGo provides a search\n"
+"engine which does not track its users or store personal data. I2P is an anonymous network intended to\n"
+"protect individuals from dragnet surveillance regularly performed by ISPs and governments."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:21
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:42
+msgid ""
+"This marks the single largest donation ever received by I2P and reflects a growing interest in\n"
+"privacy and security by the Internet community. The funding will help I2P to reach more users, expand\n"
+"development, and audit the code. It will also enable I2P developers to attend conferences, such\n"
+"as the `Real-World Cryptography`_ conference in New York City, where the developers met and\n"
+"collaborated with cryptography experts pursuant to I2P's goals of providing anonymity to the\n"
+"public."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:51
+msgid ""
+"I2P thanks Gabriel Weinberg and DuckDuckGo for the generous donation,\n"
+"and the I2P community for its support in the `nominations`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:35
+msgid ""
+"For more information about I2P, visit `our web site`_ or follow us `on "
+"Twitter`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:39
+msgid "`donates`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:42
+msgid "`our web site`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:43
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:59
+msgid "`nominations`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:45
+msgid "`on Twitter`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.12 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:10
+msgid "0.9.12 adds support for ECDSA and updates to Jetty 8"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:12
+msgid ""
+"I2P now requires Java 6 or higher.\n"
+"We strongly recommend that you upgrade to Java 7.\n"
+"If you are still using Java 5, you must upgrade your Java before installing I2P 0.9.12."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:18
+msgid ""
+"0.9.12 adds preliminary support for ECDSA-signed Destinations.\n"
+"It contains several fixes for the handling of Delivery Status Messages (acknowledgements)\n"
+"and those messages are now end-to-end encrypted for increased security."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:24
+msgid ""
+"We have upgraded to Jetty 8.\n"
+"Jetty 8 is almost identical to Jetty 7, so there are no complex configuration file conversions as there have been in past Jetty upgrades.\n"
+"No manual changes should be necessary."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:35
+msgid ""
+"In early March, Internet search company `DuckDuckGo`_ `donated`_\n"
+"$5000 to the `Invisible Internet Project` (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:56
+msgid "`donated`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:69
+msgid "Encrypt Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:70
+msgid "Add preliminary support for ECDSA-signed Destinations"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:71
+msgid "Add check for replayed NTCP session requests"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:72
+msgid "Add throttling and blocking checks to streaming ping processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:78
+msgid "Fix RouterInfo exchange in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:79
+msgid "Extend timeout for Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:80
+msgid "Drop streaming messages from recently closed connections"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:81
+msgid "Fix restarts on Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:82
+msgid "Restore profileOrganizer.sameCountryBonus advanced config"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:83
+msgid "Fix for jwebcache and i2phex"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:89
+msgid "Jetty 8.1.14.v20131031; Java 6 now required"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:90
+msgid ""
+"Reduce target connection count again to reduce tunnel reject rate further"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:91
+msgid "Add rate limit for outbound connections at tunnel endpoints"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:92
+msgid "Add optional inproxy blocking in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:93
+msgid "Use SSU session key for relay request/response when available"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:94
+msgid "Include HTTP POST data in SYN packet"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:95
+msgid "Add getopt library for better argument processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:96
+msgid "More removal of Jetty dependencies"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:97
+msgid "Remove MD5 code, use Java libraries instead"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:98
+msgid "Change the default addressbook subscription URL"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.13 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:10
+msgid "0.9.13 with SusiMail improvements and fixes for firewalled routers"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:12
+msgid ""
+"0.9.13 includes fixes for firewalled routers, netdb lookup improvements, and a big SusiMail update.\n"
+"Of course, there's also the usual collection of bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:22
+msgid ""
+"zzz has updated his GPG keys, and the release files are signed with his\n"
+"new keys. His new key fingerprint is:"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:31
+msgid "SusiMail"
+msgstr "스시메일"
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:33
+msgid "Many UI improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:34
+msgid "Implement local storage of messages"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:35
+msgid "Add offline mode"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:36
+msgid "Messages now deleted on server after download"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:37
+msgid "Several backend POP3 and SMTP speedups and fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:41
+msgid "NetDB lookup fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:42
+msgid "Fix transition from not-firewalled to firewalled"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:43
+msgid "Fix plugin uninstall on Windows"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:44
+msgid "SSU locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:45
+msgid "Fix rapid republishing of SSU addresses"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:46
+msgid "IRC client exception fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:47
+msgid "Fix changing HTTP outproxy configuration without restarting tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:51
+msgid "New i2ptunnel server option for unique local address per-client"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:52
+msgid "Warn in i2ptunnel on duplicate client ports"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:53
+msgid "Update HTTP User-Agent to match TBB"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:54
+msgid "Extend SSU establishment retransmission timer"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:55
+msgid "Use constant-time method for HMAC verification"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:56
+msgid "New translation: Slovak"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.14 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:10
+msgid "0.9.14 includes critical security fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:12
+msgid ""
+"0.9.14 includes critical fixes for XSS and remote execution vulnerabilities reported by Exodus Intelligence.\n"
+"As an added precaution, we have disabled several advanced configuration features in the router console,\n"
+"including installation of new plugins.\n"
+"We plan to re-enable these in a future release after additional review."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:19
+msgid ""
+"Due to I2P library changes, I2P-Bote users must upgrade their plugin to version 0.2.10 to work with I2P 0.9.14.\n"
+"Your router should update the plugin automatically after the router restarts."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:24
+msgid ""
+"The release also contains several bug fixes in i2ptunnel, i2psnark, and other areas,\n"
+"and updates to the latest Jetty, Tomcat, and Wrapper.\n"
+"We've also implemented a faster and more secure method for reseeding.\n"
+"Of course, there's also the usual collection of minor bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:31
+msgid ""
+"You must update to this release immediately. The best way to\n"
+"maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:39
+msgid "Security Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:41
+msgid "Fix several XSS issues"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:42
+msgid "Disable changing news feed URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:43
+msgid "Disable plugin install"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:44
+msgid "Disable setting unsigned update URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:45
+msgid "Disable clients.config editing from the UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:46
+msgid "Add Content-Security-Policy and X-XSS-Protection headers"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:47
+msgid "Disable unused ExecNamingService (thx joernchen of Phenoelit)"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:52
+msgid "Fix tunnel building so it doesn't get \"stuck\" on a single pool"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:53
+msgid "Reject participating tunnels when hidden"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:54
+msgid ""
+"Several i2psnark improvements and fixes (GUI and DHT), including changes for"
+" better compatibility with Vuze"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:59
+msgid ""
+"Reseeding now fetches a signed zip file containing router infos for security"
+" and speed"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:60
+msgid "Use JVM's AES implementation if it is faster"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:61
+msgid "More advanced options shown in the i2ptunnel edit pages"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:62
+msgid ""
+"Per-message reliabilitiy settings in I2CP and error propagation back from "
+"router to client"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:63
+msgid "Lots of findbugs fixes and cleanups"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:64
+msgid "Support signature types in SAM, bump rev to 3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:65
+msgid "New event log page in console"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:68
+msgid "Wrapper 3.5.25 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:1
+msgid ""
+"================\n"
+"0.9.14.1 Release\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:10
+msgid "0.9.14.1 includes i2psnark and console fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:12
+msgid ""
+"0.9.14.1 includes fixes for the \"Add Torrent\" form in i2psnark and some other web forms.\n"
+"We've restored the ability to install plugins via the console, but you must first edit your router.config file\n"
+"(in ~/.i2p/ or /var/lib/i2p/i2p-config/ or %APPDATA%\\I2P\\) to add the line routerconsole.enablePluginInstall=true.\n"
+"Other rarely-used advanced features that were removed in 0.9.14 may be restored by adding the line routerconsole.advanced=true."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:19
+msgid ""
+"As usual, if configured with the default \"Download and Verify\", the router will automatically download the update and display a button to restart.\n"
+"However, due to a bug in 0.9.14, if your update is configured for \"Notify only\", the download button will not be displayed.\n"
+"You must change your configuration to \"Download and Verify\" or \"Download, Verify, and Restart\" to update."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:25
+msgid ""
+"If you are still running 0.9.13 or older, we recommend that you update to this release as soon as possible.\n"
+"If you don't often check your router console, please consider changing your configuration to \"Download, Verify, and Restart\"\n"
+"to ensure you are always running the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:37
+msgid "Fix i2psnark add torrent form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:38
+msgid "Fix iptunnel custom options form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:39
+msgid "Fix update download buttons"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:44
+msgid "Restore all console features if routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:45
+msgid "Restore plugin install if routerconsole.enablePluginInstall=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:46
+msgid "Restpre client adds/changes if routerconsole.enableClientChange=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:47
+msgid ""
+"Plugin signing keys are now whitelisted unless "
+"routerconsole.allowUntrustedPlugins=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:48
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:71
+msgid "More escaping and cleanups in forms and messages"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:1
+msgid ""
+"==============================\n"
+"The birth of Privacy Solutions\n"
+"=============================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:10
+msgid "Organization launch"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:14
+msgid ""
+"Hello all!\n"
+"\n"
+"Today we announce the Privacy Solutions project, a new organization that develops and maintains I2P software. Privacy Solutions includes several new development efforts designed to enhance the privacy, security, and anonymity for users, based on I2P protocols and technology.\n"
+"\n"
+"These efforts include\n"
+"\n"
+"1) The Abscond browser bundle.\n"
+"2) The i2pd C++ router project.\n"
+"3) The \"BigBrother\" I2P network monitoring project.\n"
+"4) The Anoncoin crypto-coin project.\n"
+"5) The Monero crypto-coin project.\n"
+"\n"
+"Privacy Solutions' initial funding was provided by the supporters of the Anoncoin and Monero projects. Privacy Solutions is a Norway-based non-profit type of organization registered within the Norwegian government registers. ( Kind of like US 501(c)3. )\n"
+"\n"
+"Privacy Solutions plans to apply for funding from the Norwegian goverment for network research, because of BigBrother (We'll get back to what that is) and the coins that are planned to use low-latency networks as primary transport layer. Our research will support advances in software technology for anonymity, security, and privacy.\n"
+"\n"
+"\n"
+"First a little bit about the Abscond Browser Bundle. This was first a one-man project by Meeh, but later on friends started sending patches, the project is now trying to create the same easy access to I2P as Tor has with their browser bundle. Our first release isn't far away, it's just some gitian script tasks left, including setup of the Apple toolchain. But again we will add monitoring with PROCESS_INFORMATION (A C struct keeping vital proces information about an process) from the Java instance to check on I2P before we declare it stable. I2pd will also switch with the Java version once it's ready, and there is no point in shipping a JRE in the bundle anymore. You can read more about the Abscond Browser Bundle at https://hideme.today/dev"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:36
+msgid ""
+"We would also like to inform of the current status of i2pd. I2pd supports "
+"bi-directional streaming now, that allows to use not only HTTP but long-"
+"lived communication channels. Instant IRC support has been added. I2pd users"
+" are able to use it same way as Java I2P for access to I2P IRC network. "
+"I2PTunnel is one of key features of I2P network, allowing non-I2P "
+"applications communicate transparently. That's why it's vital feature for "
+"i2pd and one of key milestones."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:40
+msgid ""
+"At last, if you are familiar with I2P you probably know about "
+"Bigbrother.i2p, which is a metrics system Meeh made over a year back. "
+"Recently we noticed that Meeh actually have 100Gb of non-duplicated data "
+"from nodes reporting in since initial launch. This will also be moved to "
+"Privacy Solutions and be rewritten with a NSPOF backend. With this we will "
+"aslo start using the Graphite ( http://graphite.wikidot.com/screen-shots ). "
+"This will give us a great overview over the network without privacy issues "
+"for our end users. The clients filter all data except country, router hash "
+"and success rate on tunnel buildings. The name of this service is as always "
+"a little joke from Meeh."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:47
+msgid ""
+"We have shorted down a bit of the news here, if you're interested in more information please visit https://blog.privacysolutions.no/\n"
+"We're still under construction and more content will come!\n"
+"\n"
+"\n"
+"\n"
+"For further information contact: press@privacysolutions.no\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"Best regards,\n"
+"\n"
+"Mikal \"Meeh\" Villa"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:1
+msgid ""
+"=============================================\n"
+"Android test release on Google Play in Norway\n"
+"============================================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:10
+msgid ""
+"I2P Android and Bote have been released on Google Play in Norway, as a test "
+"run for a future worldwide release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:12
+msgid ""
+"I2P Android has existed for over three years. In that time, it has evolved from\n"
+"a simple test project into a usable, useful Android port of the I2P router. Our\n"
+"eventual goal has been to release I2P Android on Google Play, to make it easier\n"
+"for users to discover, install and use I2P on their Android devices. After much\n"
+"work improving the user interface, fixing bugs and testing, we think that I2P\n"
+"Android is finally ready to go where the users are."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:21
+msgid ""
+"Initially, we are only releasing to Android users in Norway, as a test run. I2P\n"
+"Android will have far more exposure on Google Play than it has ever had before,\n"
+"and there will be bugs and usability issues that we need to fix. It will be much\n"
+"easier (and less stressful!) to respond to feedback if we only need to deal with\n"
+"reports from hundreds of users instead of thousands (already orders of magnitude\n"
+"more feedback than we have ever had)."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:30
+msgid ""
+"Simultaneously we are making the first public release of Bote, an Android port\n"
+"of `I2P-Bote`_. Bote is private, distributed, secure email, made easy. It runs\n"
+"on top of the I2P network, and while it works as a standalone app, it will use\n"
+"the I2P Android app by default if installed. As with I2P Android, we are\n"
+"initially only releasing Bote to Android users in Norway."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:38
+msgid ""
+"The apps are being released on Google Play by `The Privacy Solutions Project`_.\n"
+"See their `blog post`_ for further information, and links to the Google Play\n"
+"page for Norway users."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:44
+msgid ""
+"As lead developer for I2P Android and Bote, I look forward to your comments. You\n"
+"are the people who will be using them, and your perspectives will help me craft\n"
+"simple, intuitive apps that make privacy accessible to everyone."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:51
+msgid "`The Privacy Solutions Project`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:52
+msgid "`blog post`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:54
+msgid "Website release details"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:56
+msgid ""
+"We have also updated I2P Android on the website to match the release candidate\n"
+"deployed in Norway. This version will be updated with changes as we respond to\n"
+"feedback from Norwegian users, heading towards our next stable release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:62
+msgid ""
+"Please note that we have upgraded the Android API to 9. This means that Froyo\n"
+"Android 2.2 will not be supported anymore; the minimum requirement is now\n"
+"Gingerbread Android 2.3."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:68
+msgid ""
+"Also note that if you have an earlier version of I2P Android, you will need to\n"
+"uninstall and reinstall because we have changed the release keys. Further\n"
+"information about this will be provided in a subsequent blog post."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.15 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:10
+msgid "0.9.15 includes Ed25519 crypto and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:12
+msgid ""
+"0.9.15 adds preliminary support for Ed25519 EdDSA signatures.\n"
+"It includes a new persistent configuration backend for i2psnark and fixes several issues with i2psnark's handling of file names.\n"
+"There are several improvements to speed up SAM.\n"
+"Plugins now support stronger signatures in the su3 file format.\n"
+"Plugin installation via the console, which was disabled in 0.9.14, is re-enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:20
+msgid ""
+"We have supported ECDSA signatures since 0.9.12, and we would like to start using ECDSA by default.\n"
+"Unfortunately, some of you are still running older I2P versions, and for others,\n"
+"their distribution or Java runtime does not support ECDSA. Red Hat\n"
+"(RHEL, Fedora) distributions are reported to be missing ECDSA.\n"
+"Some have fixed the Java issues by upgrading from Java 6 to Java 7;\n"
+"others have had success with installing the \"unlimited strength policy files\".\n"
+"We've added information about missing crypto to the log file and the /logs page in the console.\n"
+"After you update to 0.9.15, please check if you are missing ECDSA support, and attempt to fix it if necessary.\n"
+"This is particularly important for those that run popular eepsites and services."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:41
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:39
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:46
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:32
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:46
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:38
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:36
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:75
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:55
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:37
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:56
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:35
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:37
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:34
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:58
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:34
+#: 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.rst:38
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:35
+msgid "Changes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:43
+msgid "Add support for Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:44
+msgid ""
+"i2psnark move to separate config file for each torrent to better support "
+"per-torrent settings"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:45
+msgid "Add i2psnark support for data outside the i2psnark/ directory"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:46
+msgid "Enable stronger signatures (su3 format) for plugins"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:47
+msgid "Speed up SSU introductions by responding to hole punch messages"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:48
+msgid "Several improvements in SAM efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:53
+msgid "Form submission fixes in the console and i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:54
+msgid "Streaming fixes for long signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:55
+msgid "i2psnark fixes for file name character mapping when seeding"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:56
+msgid "I2PTunnel fixes stopping client tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:57
+msgid "I2PTunnel fix updating options on a running delay-open client tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:62
+msgid "Re-enable plugin installation via the console, removed in 0.9.14"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:63
+msgid "i2psnark now remembers uploaded count across restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:64
+msgid "i2psnark increase max piece size to 8 MB"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:65
+msgid "i2psnark several UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:66
+msgid "Prohibit SSU peer test requests unless a connection is established"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:67
+msgid ""
+"i2ptunnel add support for local SSL connections for standard and IRC client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:68
+msgid "Console and log warnings for unavailable crypto"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:69
+msgid ""
+"More consistent routing for Delivery Status Messages to reduce network "
+"connections"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:70
+msgid "Disable external entities in UPnP XML parser"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:73
+msgid "Update GeoIP data (in both new installs and updates)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.16 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:10
+msgid "0.9.16 includes crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:12
+msgid ""
+"0.9.16 is a significant step forward in our plan to migrate\n"
+"from DSA to ECDSA and then EdDSA cryptographic signatures,\n"
+"and makes several other changes to increase your anonymity and security.\n"
+"Client tunnels for standard, IRC, and SOCKS IRC will use ECDSA signatures by default.\n"
+"In addition, we've fixed a large number of serious bugs, including console lockups."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:20
+msgid ""
+"Changes in router data structures will require i2pcontrol plugin users to "
+"update to version 0.0.9."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:24
+msgid ""
+"If you run an eepsite or a service and you are not running a recent release,\n"
+"or your Java or OS does not support ECDSA (as noted in the logs and on the /logs page in the console),\n"
+"please fix the issue as soon as possible or your users will soon be unable to connect."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:41
+msgid "Add support for stronger Router Info signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:42
+msgid "Encrypt RI lookups and responses on faster boxes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:43
+msgid ""
+"Require I2CP authorization for all messages when enabled (requires 0.9.11 or"
+" higher client)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:44
+msgid "Disable SSLv3 and older ciphers for reseeding and other uses of SSL"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:45
+msgid ""
+"Use ECDSA by default for i2ptunnel IRC, SOCKS-IRC, and standard client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:46
+msgid "Don't prefer floodfills in some countries"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:47
+msgid ""
+"New column sorting, set-all priority buttons, and upload ratio display in "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:48
+msgid "Increase i2psnark tunnel default to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:49
+msgid ""
+"Implement bundling of multiple fragments in a single SSU message for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:50
+msgid "New add-to-addressbook links on netdb leaseset page"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:51
+msgid ""
+"Implement I2NP DatabaseLookupMessage search type field to improve lookup "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:58
+msgid "CPUID fixes and updates for recent processors"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:59
+#, python-format
+msgid "i2psnark fix magnet links with %(pc)s-encoding"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:60
+#, python-format
+msgid ""
+"Improve handling of SSU socket closing out from under us (hopefully fix "
+"100%(pc)s CPU)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:61
+msgid "SSU bitfield handling fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:62
+msgid "Fix HTTP header issues in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:63
+msgid "Fix rare NPE when building garlic message"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:64
+msgid "Fix console lockups (hopefully)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:65
+msgid "Fix i2ptunnel js confirm-delete"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:70
+msgid ""
+"Move router data structures from i2p.jar to router.jar (breaks i2pcontrol "
+"plugin)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:71
+msgid ""
+"New router keys now stored in router.keys.dat (eepPriv.dat format) instead "
+"of router.keys"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:72
+msgid "Improve handling of unsupported encryption throughout"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:73
+msgid "More error checking of client I2CP messages by the router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:74
+msgid "Initial work on hooks for pluggable transports"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:75
+msgid "Enforce request timestamp in tunnel build messages"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:76
+msgid ""
+"Re-enable message status in streaming, but treat no leaseset as a soft "
+"failure for now"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:77
+msgid "Return unused DH keypairs to the pool for efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:78
+msgid "Raise failsafe tagset limit and improve deletion strategy when hit"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:79
+msgid ""
+"Change eepsite Jetty threadpool and queue configuration (new installs only)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:80
+msgid "NTCP establishment refactoring in prep for NTCP2 and PT"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.17 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:10
+msgid "0.9.17 with more crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:12
+msgid ""
+"0.9.17 is primarily a bugfix release, but it also continues our migration to"
+" stronger cryptographic signatures."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:16
+msgid ""
+"We have moved the news feed system used for the news on your console and the latest router version indication\n"
+"to a signed format using RSA 4096-bit keys for enhanced security."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:21
+msgid ""
+"New eepsites and servers will be ECDSA-signed by default, if ECDSA is available.\n"
+"There is now a warning in the console sidebar if ECDSA is not available.\n"
+"For RedHat users, we have reports of successful installs of the BouncyCastle Provider (bcprov) jar to add ECDSA support."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:27
+msgid ""
+"We've fixed several serious bugs, including an SSU packet corruption problem,\n"
+"and a SAM bug affecting i2p-messenger and other SAM applications.\n"
+"There are several fixes for the preliminary ECDSA router signatures added in the last release but not yet enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:33
+msgid ""
+"Many of us will be attending 31C3 in Hamburg in December. Stop by our table "
+"and say hi!"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:48
+msgid "Signed news"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:49
+msgid "ECDSA default for new server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:50
+msgid "Reseeding now SSL-only by default"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:55
+msgid "Fix SSU sending corrupt ack-only packets with partial bitfields"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:56
+msgid "Fix SSU inbound connection fail from non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:57
+msgid "Don't select incompatible peers if we are a non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:58
+msgid "Fix EdDSA signature verification bug"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:59
+msgid ""
+"Set I2NP lookup type flags in all cases, not just when a reply tunnel is "
+"used"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:60
+msgid "Stop i2ptunnel server acceptor thread after close"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:61
+msgid "Fix bug preventing some plugins from stopping completely"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:62
+msgid "Fix SAM v3 bug causing failures in incoming connections"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:67
+msgid "Add a warning in the console sidebar if ECDSA not supported"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:68
+msgid "Log warnings for Java 6 that we will eventually require Java 7"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:69
+msgid "Don't let proxied routers auto-floodfill"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:70
+msgid "Don't resend SSU acks that are too old"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:71
+msgid "Don't publish direct info in SSU address if introducers are required"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:72
+msgid "New default opentrackers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:73
+msgid "Add support for specifiying data directory per-torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:74
+msgid "Changes in streaming accept() error behavior"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:75
+msgid "Minor blockfile format changes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:76
+msgid ""
+"New option for persistent random key to preserve peer ordering across "
+"restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:1
+msgid ""
+"====================\n"
+"Android app releases\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:10
+msgid ""
+"I2P Android 0.9.17 and Bote 0.3 have been released on the website, Google "
+"Play and F-Droid."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:12
+msgid ""
+"It has been some time since I last posted updates about our Android development,\n"
+"and several I2P releases have gone by without any matching Android releases.\n"
+"At last, the wait is over!"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:18
+msgid ""
+"New app versions\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:23
+msgid ""
+"New versions of I2P Android and Bote have been released! They can be downloaded\n"
+"from these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:31
+msgid ""
+"The main change in these releases is the transition to Android's new Material\n"
+"design system. Material has made it much easier for app developers with, shall\n"
+"we say, \"minimalist\" design skills (like myself) to create apps that are nicer\n"
+"to use. I2P Android also updates its underlying I2P router to the just-released\n"
+"version 0.9.17. Bote brings in several new features along with many smaller\n"
+"improvements; for example, you can now add new email destinations via QR codes."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:40
+msgid ""
+"As I mentioned in `my last update`_, the release key that signs the apps has\n"
+"changed. The reason for this was because we needed to change the package name\n"
+"of I2P Android. The old package name (``net.i2p.android.router``) had already\n"
+"been taken on Google Play (we still don't know who was using it), and we wanted\n"
+"to use the same package name and signing key for all distributions of I2P\n"
+"Android. Doing so means that a user could initially install the app from the I2P\n"
+"website, and then later if the website was blocked they could upgrade it using\n"
+"Google Play. Android OS considers an application to be completely different when\n"
+"its package name changes, so we took the opportunity to increase the strength of\n"
+"the signing key."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:53
+msgid "The fingerprint (SHA-256) of the new signing key is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:63
+msgid "`my last update`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:65
+msgid ""
+"Google Play\n"
+"-----------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:70
+msgid ""
+"A few months ago we `released`_ both I2P Android and Bote on Google Play in\n"
+"Norway, to test the release process there. We are pleased to announce that both\n"
+"apps are now being released globally by `Privacy Solutions`_. The apps can be\n"
+"found at these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:80
+msgid ""
+"The global release is being done in several stages, starting with the countries\n"
+"for which we have translations. The notable exception to this is France; due to\n"
+"import regulations on cryptographic code, we are unable yet to distribute these\n"
+"apps on Google Play France. This is the same issue that has affected other apps\n"
+"like TextSecure and Orbot."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:88
+msgid "`released`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:90
+msgid "`I2P on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:91
+msgid "`Bote on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:93
+msgid ""
+"F-Droid\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:98
+msgid ""
+"Don't think we have forgotten about you, F-Droid users! In addition to the two\n"
+"locations above, we have set up our own F-Droid repository. If you are reading\n"
+"this post on your phone, `click here`_ to add it to F-Droid (this only works in\n"
+"some Android browsers). Or, you can manually add the URL below to your F-Droid\n"
+"repository list:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:108
+msgid ""
+"If you would like to manually verify the fingerprint (SHA-256) of the repository\n"
+"signing key, or type it in when adding the repository, here it is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:117
+msgid ""
+"Unfortunately the I2P app in the main F-Droid repository has not been updated\n"
+"because our F-Droid maintainer has disappeared. We hope that by maintaining this\n"
+"binary repository, we can better support our F-Droid users and keep them\n"
+"up-to-date. If you have already installed I2P from the main F-Droid repository,\n"
+"you will need to uninstall it if you want to upgrade, because the signing key\n"
+"will be different. The apps in our F-Droid repository are the same APKs that are\n"
+"provided on our website and on Google Play, so in future you will be able to\n"
+"upgrade using any of these sources."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:128
+msgid "`click here`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:1
+msgid ""
+"================\n"
+"31C3 trip report\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:9
+msgid ""
+"CCC has always been a productive time for us, and 31C3 was no exception. "
+"Here is a summary of our various meetings and discussions."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:20
+msgid ""
+"We were, for the second year in a row, at a great location in the Congress, in\n"
+"`Noisy Square`_, right next to the EFF table. Being part of Noisy Square has\n"
+"really increased our visibility and helped many people find us. Thanks to Noisy\n"
+"Square and the 31C3 organizers for a great Congress."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:29
+msgid ""
+"We also thank Gabriel Weinberg and his fabulous search engine `DuckDuckGo`_ for\n"
+"their support of open source anonymity tools and their `generous contribution`_\n"
+"to I2P in 2014. Funding from DuckDuckGo and others helped support our attendance\n"
+"at CCC. This is the primary annual meetup for I2P developers and it is critical\n"
+"to our success."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:38
+msgid "`generous contribution`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:40
+msgid ""
+"Discussions with others\n"
+"======================="
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:48
+msgid ""
+"We spoke at length with Christian Grothoff of `GNUnet`_. He has moved himself\n"
+"and the project from TU Munich to `Inria`_ in France. He has a large number of\n"
+"`open positions`_. This is a great opportunity to get paid to work on open\n"
+"source anonymity tools, we encourage everybody to contact him about it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:57
+msgid "`open positions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:59
+msgid ""
+"The prospect of an invigorated GNUnet with a large amount of new funding is\n"
+"quite interesting. We discussed more ways to work together. In early 2014, we\n"
+"worked hard to understand the GnuNet DNS replacement, but we were unable to\n"
+"figure out a good fit for it in I2P. One of his new ideas is a distributed,\n"
+"anonymous statistics gathering subsystem, for detecting problems or attacks on\n"
+"the network. We'd definitely be interested in that."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:68
+msgid ""
+"We also discussed the `Special-Use Domain Names of Peer-to-Peer Systems draft`_.\n"
+"A new, greatly simplified version 3 was posted in December. The prospects for\n"
+"approval remain unclear. The best way to monitor or participate in the\n"
+"discussion is via the `IETF DNSOP WG mailing list`_. We will attempt to do so\n"
+"on our side, and also give Hellekin a new point-of-contact for this topic."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:76
+msgid "`Special-Use Domain Names of Peer-to-Peer Systems draft`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:77
+msgid "`IETF DNSOP WG mailing list`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:79
+msgid ""
+"We apologized to Christian for not being organized enough to have a talk at his\n"
+"`We Fix The Net assembly`_. One of our biggest failures as a project is our\n"
+"seeming inability to submit talks at conferences. We'll have to do better in the\n"
+"new year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:86
+msgid "`We Fix The Net assembly`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:91
+msgid ""
+"Iain Learmonth, a Debian participant, stopped by. He wants to put I2P in with\n"
+"other anonymity tools into this new Debian \"superpackage\" of some sort, and\n"
+"would love to get I2P into Debian in 2015. He claims the process is now easy,\n"
+"just `follow the instructions`_. We said that's funny, we've been\n"
+"`stuck in the process for over 7 years`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:99
+msgid "`follow the instructions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:100
+msgid "`stuck in the process for over 7 years`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:102
+msgid ""
+"He said, well, try the new process, it works great, should be no problem at all\n"
+"if your package is in good shape. The people in Debian that run this process are\n"
+"eager volunteers who want nothing more than to get more packages in. We said our\n"
+"package is indeed in fantastic shape, and we would try out the new process as\n"
+"soon as possible. If all this is true, we will be in the next Debian release in\n"
+"late 2015. This would be very very cool."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:114
+msgid ""
+"We had a nice discussion with BitingBird of Tails. They are very happy with our\n"
+"rapid response to the `vulnerability disclosure`_ last summer, resulting in our\n"
+"`0.9.14 release`_. Our vulnerability was initially blamed on Tails, and they\n"
+"took `great offense`_ to that and the lack of private notification. We thanked\n"
+"them for taking the heat and fighting back."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:122
+msgid "`vulnerability disclosure`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:123
+msgid "`0.9.14 release`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:124
+msgid "`great offense`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:126
+msgid ""
+"BitingBird also handles support, and she tells us the number one issue is how\n"
+"long I2P takes to start up and be useful for browsing I2P sites. Her standard\n"
+"answer is \"wait ten more minutes\" and that seems to be effective. I2P is\n"
+"particularly slow to startup on Tails since it does not persist peer data by\n"
+"default. It would be nice to change that, but there's also things we can do on\n"
+"the I2P side to make things start faster. Expect some improvement in our 0.9.18\n"
+"release."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:139
+msgid ""
+"Longtime friend of I2P Bernhard Fischer of `OnionCat`_ stopped by. The upcoming\n"
+"Tor Hidden Services changes mean that their keys will no longer fit into a\n"
+"portion of an IPv6 address, and he was working on a solution. We reminded him\n"
+"that this has always been the case for I2P (with \"GarliCat\"), that it's not a\n"
+"new problem. He pointed us to `a presentation`_ of his proposal. It involves\n"
+"storing an extra record in the hidden service directory (equivalent of a\n"
+"leaseset I2P's network database). It wasn't completely clear how this would\n"
+"work, or if we would consider it abuse of the netDb. We'll follow up with him\n"
+"as he gets further."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:152
+msgid "`a presentation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:154
+msgid ""
+"New users\n"
+"---------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:159
+msgid ""
+"We spent hours and hours explaining I2P to people stopping by our table. Some\n"
+"had heard of I2P before, some had not; everybody had heard of Tor and had at\n"
+"least a vague idea of what hidden services are. As usual, introducing people to\n"
+"I2P was a struggle. By the end of the Congress, we became convinced that a part\n"
+"of the problem was a difference in terminology. Back 12 years ago, when I2P and\n"
+"Tor were both getting started, we each came up with terms for the various parts\n"
+"of our systems. Today, the Tor terminology such as \"hidden service\" is\n"
+"well-understood and commonplace. The I2P terminology such as \"eepsite\" is\n"
+"neither. We agreed to review our documentation, router console, and other places\n"
+"for opportunities to simplify it and use common terms."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:172
+msgid ""
+"I2P project topics\n"
+"------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:177
+msgid ""
+"* *Spending money:* We discussed several ways to effectively use our resources\n"
+" in 2015, including more hardware for testing and development. Also, we plan to\n"
+" increase reimbursement levels for conference attendees."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:183
+msgid ""
+"* *Toronto meetup:* CCC is such a productive time for us, and it seems that a\n"
+" second meetup in the year would be quite helpful. We have proposed it for\n"
+" August 2015 in Toronto, Canada, in conjunction with `Toronto Crypto`_. It\n"
+" would include developer meetings together with presentations and tutorials,\n"
+" all open to the public. We are attempting to gauge interest and research\n"
+" possible venues. If you are considering attending, please let us know by\n"
+" `tweeting @i2p`_ or posting `on the dev forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:193
+msgid ""
+"* We discussed Meeh's workload and the state of the various services he is\n"
+" running. We made some plans to reduce his load and have some other people help\n"
+" out."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:199
+msgid ""
+"* We reviewed our critieria for placing links to `i2pd`_ on our download page.\n"
+" We agreed that the only remaining item is to have a nice page on the\n"
+" `Privacy Solutions web site`_ or elsewhere with binary packages for Windows,\n"
+" Linux, and Mac, and source packages. It's not clear who is responsible for\n"
+" building the packages and where the \"official\" version is. Once there's an\n"
+" established process for building and signing packages and an official place to\n"
+" put them, we're ready to link to it. If it is not feasible to host it on the\n"
+" Privacy Solutions website, we will discuss alternatives with orignal,\n"
+" including possible migration to our download servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:211
+msgid ""
+"* Lots of people coming by the table asked if we had a non-Java version. It was\n"
+" great to finally answer \"yes\" and we're eager to get the word out and get more\n"
+" users, testers, and developers on it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:217
+msgid ""
+"* `Vuze`_ continues to make good progress on their I2P integration. We look\n"
+" forward to working with them in the new year on a managed rollout to more\n"
+" users."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:223
+msgid ""
+"* We discussed the state of Meeh's and Sindu's reseed servers. They made several\n"
+" improvements while at the congress and are investigating migration to\n"
+" `Matt Drollette's Go implementation`_. The security and reliability of our\n"
+" reseed servers is vital to new users and network operation. `User 'backup'`_\n"
+" is doing a great job monitoring and managing the pool of reseed servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:231
+msgid ""
+"* We agreed to purchase a second root server for development, testing, and\n"
+" services. Echelon will be adminstering it. Contact him if you would like a VM."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:236
+msgid ""
+"* We reiterated that we have funds available to purchase test hardware,\n"
+" especially for Windows and Mac. Talk to echelon for details."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:241
+msgid ""
+"* We met with Welterde about the state of his services including his\n"
+" `open tracker`_. These services are not being adequately maintained and will\n"
+" soon become inaccessible due to crypto changes if they are not upgraded. He\n"
+" committed to upgrading them soon."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:248
+msgid ""
+"* We met lots of people interested in our `Android app`_. We passed several\n"
+" ideas and bug reports back to str4d. We plan to make a big push to give the\n"
+" app some development love early in the year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:254
+msgid ""
+"* Regrettably, we didn't get to see too many talks at the Congress, as we were\n"
+" so busy meeting with people. We plan to catch up and `watch them online`_. As\n"
+" usual, Tor's \"State of the Onion\" talk was excellent, and Jacob's talk was\n"
+" great. We hear that the cryptography talks were good as well."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:261
+msgid "`Toronto Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:262
+msgid "`tweeting @i2p`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:263
+msgid "`on the dev forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:266
+msgid "`Privacy Solutions web site`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:270
+msgid "`Matt Drollette's Go implementation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:271
+msgid "`User 'backup'`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:273
+msgid "`open tracker`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:275
+msgid "`Android app`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:277
+msgid "`watch them online`"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.18 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:10
+msgid "0.9.18 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:12
+msgid ""
+"0.9.18 contains several bug fixes and performance improvements.\n"
+"We have shortened the startup time, and reduced latency throughout our network protocols.\n"
+"We've increased the default connection limits for the fastest routers,\n"
+"and reduced the thread usage in i2ptunnel.\n"
+"UPnP fixes should improve handling of external device changes.\n"
+"CPU usage in high-bandwidth routers may be reduced thanks to some NTCP fixes."
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:32
+msgid "Fix parsing of ECDSA address helper in HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:33
+msgid ""
+"Fix news last-modified processing which prevented notification of update"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:34
+msgid "Improve handling of UPnP device changes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:35
+msgid "Don't hang at startup forever waiting for entropy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:36
+msgid "Possible fixes for high CPU usage in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:40
+msgid "Publish router info faster when address costs change"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:41
+msgid "Start i2ptunnel 90s sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:42
+msgid "Accept tunnels 10m sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:43
+msgid "Increase exploratory tunnel quantity during initial exploration"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:44
+msgid "Latency reductions in several places"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:45
+msgid ""
+"Add startup browser configuration with advanced config routerconsole.browser"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:46
+msgid "Persistent leaseset keys to eliminate correlation with restart"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:47
+msgid "Faster unchoking of new peers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:48
+msgid "More aggressive throttling of lookups at floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:49
+msgid "Tunnel build request record refactoring"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:50
+msgid "Reduce thread usage in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:51
+msgid "Add i2ptunnel server option for multihomed sites"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:52
+msgid "Disallow some common I2P application ports as router ports"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:53
+msgid "Increase connection limits for fast routers"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:54
+msgid "Add Save-As button for SusiMail messages"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:55
+msgid "Use 'hidden service' terminology in the console"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:56
+msgid "Encrypted netdb lookups for 32-bit x86"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.19 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:10
+msgid "0.9.19 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:12
+msgid ""
+"0.9.19 has several fixes and improvements for floodfill performance.\n"
+"Many of you saw high CPU usage after 0.9.18 was released.\n"
+"This was caused by a combination of increased encryption usage, the big influx of Vuze users into the network,\n"
+"reduced floodfills due to tighter performance requirements, and some longstanding bugs.\n"
+"Things should be a lot better after most of the network has updated.\n"
+"As always, the best way to reduce CPU usage is to lower your bandwidth limits."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:20
+msgid ""
+"We've also added new ways to reseed manually, and to generate a reseed file you can easily share with others who need it.\n"
+"See the reseed configuration page in the router console for more information."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:34
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:48
+msgid "Floodfill performance improvements"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:35
+msgid "Easier ways to reseed manually from a file or URL"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:36
+msgid "New way to export reseed data for others"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:37
+msgid "Support for installing plugin from file"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:42
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:59
+msgid "Fixes for high CPU usage in floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:43
+msgid "i2ptunnel locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:44
+msgid "Fixes for read timeout handling in streaming"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:45
+msgid "Fix changing i2psnark data directory on Windows"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:46
+msgid "Fix multiple SSL outproxies in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:51
+msgid "Update to UPnP library version 3.0"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:52
+msgid "Improve tracking of floodfill lookup success"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:53
+msgid "Direct router info lookups if connected to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:54
+msgid "Auto-adjustment of i2psnark tunnel quantity"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:55
+msgid "Increase exploratory tunnel quantity when floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:56
+msgid "Increase min and default bandwidth for i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:57
+msgid ""
+"Improved strategies for dropping jobs on high job lag to prevent overload"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:58
+msgid "Drop tunnel build requests on high job lag"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:59
+msgid "Increase allowed clock skew in I2CP"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:60
+msgid "New HTTP error page when the server resets the connection"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:61
+msgid "Require ECDSA support for floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:62
+msgid "Republish router info faster when capabilities change"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:63
+msgid "Better feedback in console for reseed errors"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.20 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:10
+msgid "0.9.20 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:12
+msgid ""
+"0.9.20 contains many important bug fixes, and several changes to increase "
+"floodfill capacity in the network."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:16
+msgid ""
+"Routers configured for 32-64 KB of shared bandwidth may now become floodfill,\n"
+"and routers configured for 512 KB or more of shared bandwidth will have higher connection limits.\n"
+"These changes may cause your router to use more resources.\n"
+"If the router becomes too busy, the best way to reduce usage is to lower the bandwidth settings in your console.\n"
+"If that doesn't help, you may now disable automatic floodfill on the advanced configuration page in the console."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:24
+msgid ""
+"We're hopeful that these changes will increase network capacity and performance,\n"
+"and reduce the congestion that's been affecting the network the last three months."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:34
+msgid ""
+"Finally, we're excited to announce our first-ever I2P meetup, in Toronto August 15-16.\n"
+"There will be lots of presentations and tutorials. All are welcome.\n"
+"For more information, see the `announcement`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:49
+msgid "Add support for address book export"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:50
+msgid "Add support for SSL in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:51
+msgid "Allow class 'M' (64-128 KBps share bandwidth) to become floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:52
+msgid ""
+"Raise connection limits for new classes 'P' (512-2000 KBps share bandwidth) "
+"and 'X' (over 2000 KBps)"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:53
+msgid "Add support for signed development builds"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:60
+msgid "Clock skew fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:61
+msgid ""
+"Fixes and configuration for when IPv4 is firewalled but IPv6 still works"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:62
+msgid "Locking fixes for i2ptunnel clients to prevent hangs at startup"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:63
+msgid "Verify hostnames when reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:64
+msgid "Fix deletion of config files for deleted torrents in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:65
+msgid "Fix hangs fetching proxy.i2p local resources via Privoxy"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:66
+msgid "Fixes for duplicate shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:67
+msgid "Fix for occasional page truncation in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:68
+msgid "Fixes for handling corrupted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:69
+msgid "Fix closing of SAM sessions when I2P session closes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:70
+msgid "Fix bugs in handling streaming resets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:77
+msgid "Reduce NTCP threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:78
+msgid "Eliminate SimpleScheduler threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:79
+msgid "Add continent-based NTP servers as fallbacks for country-based ones"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:80
+msgid "Remove all default non-SSL reseed hosts"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:81
+msgid "Disable fallback to non-su3 reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:82
+msgid "Several fixes in streaming for better \"loopback\" performance"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:83
+msgid "Reduce latency in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:84
+msgid "Add a larger Bloom filter for very high bandwidth and memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:85
+msgid ""
+"Add Bloom filter warning when configured for high bandwidth but not enough "
+"memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:86
+msgid "Reduce max netdb search depth to reduce floodfill load"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:87
+msgid "Improved header processing and error handling in i2ptunnel HTTP server"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:88
+msgid ""
+"Better error handling and user feedback when HTTP client tunnel is disabled"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:89
+msgid "More changes to improve floodfill capacity"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:90
+msgid "New configuration for forcing IPv4 (only) to firewalled on /confignet"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:91
+msgid "New configuration for floodfill on /configadvanced"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:92
+msgid "Show separate IPv4 and IPv6 status in summary bar when appropriate"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:93
+msgid "Better handling of corrupt SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:1
+msgid ""
+"==============\n"
+"Toronto Meetup\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:10
+msgid "I2P Meetup in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:12
+msgid ""
+"The I2P team is proud to announce that we are going to host a meetup in Toronto on August 15-16.\n"
+"A number of members of our community will be attending and are going to host talks, workshops and discussions about and relating to I2P. This event is not just for I2P people though, it's meant for everyone."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:17
+msgid ""
+"If you're curious about I2P, interested in privacy/cryptography/anonymity or just want to come by and talk to us, please do. This is an event for everyone. If you're not familiar with any of these topics, come by anyway and we'll show you how I2P works and what you can do with it.\n"
+"\n"
+"The event is entirely free, you don't need to sign up or register."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:23
+msgid ""
+"The meetup couldn't have been arranged without our friends at `Toronto "
+"Crypto 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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/ko/LC_MESSAGES/get-involved.po b/i2p2www/translations/ko/LC_MESSAGES/get-involved.po
index 3d34ea41..b55d44c6 100644
--- a/i2p2www/translations/ko/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/ko/LC_MESSAGES/get-involved.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Korean (http://www.transifex.com/otf/I2P/language/ko/)\n"
"MIME-Version: 1.0\n"
@@ -309,40 +309,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1971,6 +1996,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 ""
@@ -2107,10 +2140,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."
@@ -2977,57 +3006,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"
@@ -3035,7 +3068,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3043,13 +3076,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3059,28 +3092,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3089,106 +3122,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with
"
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 left off.\n"
"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, or equivalent JDK\n"
@@ -3198,21 +3231,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3221,67 +3254,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3290,7 +3323,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/ko/LC_MESSAGES/priority.po b/i2p2www/translations/ko/LC_MESSAGES/priority.po
index 35fffeaa..54cc2df7 100644
--- a/i2p2www/translations/ko/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/ko/LC_MESSAGES/priority.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: SEPT____ mtn -d i2p.mtn read < keys.txt
ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "외부 소스 탭을 클릭하고 추가버튼을 클릭하세요. ppa:i2p-maintainers/i2p
를 APT-라인 필드에다 붙여놓고 소스 추가를 클릭하세요. 닫기버튼을 클릭 하면 다시 불러옵니다."
-#: 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 "
@@ -172,85 +171,105 @@ msgid ""
" Mark then Apply."
msgstr "빠른 필터 박스에, i2p
를 입력 후 엔터를 누르세요. i2p
가 결과 리스트에 나타나면, i2p
를 클릭하고 설치를 위해 마크를 선택하세요. 그러고 나면 추가로 필요한 변경도 마크 할까요?라는 팝업을 볼 수도 있습니다. 그렇다면 마크하고 적용하세요."
-#: 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 "설치 절차 후에는 I2P 시작파트로 이동하여 시스템에 설정할 수 있습니다."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Debian을 위한 설명"
-#: 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\")."
-msgstr "알림: 이 단계들은 루트 접근을 한 채로 시행되어야 합니다 (예. \"su\" 명령어로\n유저를 루트로 전환하거나 각 명령어 앞에 \"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
."
-msgstr "다음과 같이 줄을 추가하십시요 %(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:"
-msgstr "저장소 사인에 쓰이는 키를 다운로드하고 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 step\n"
"1."
msgstr "이 명령어는 단계 1 에 해당하는 I2P 저장소를 포함하여 시스템에 활성화된 모든 저장소에서 최신 소프트웨어 리스트를 받아올 것입니다."
-#: 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 "I2P 설치 준비가 완료되었습니다! i2p-keyring
패키지를 설치하여 저장소 GPG 키 업데이트를 받도록 하십시오."
-#: 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 "설치 절차 후에는 I2P 시작파트로 이동하여 시스템에 설정할 수 있습니다."
-#: 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 "이 I2P 패키지를 사용해 I2P 라우터는 3개의 방법으로 시작될 수 있습니다:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""요구에 따라" i2prouter 스크립트를 이용하세요. 간단하게 커맨드 프롬프트에 "i2prouter start
"를 입력하시면 됩니다. (참고: sudo나 root로 절대 사용하지 마세요!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -258,14 +277,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""요구에 따라" java service wrapper(비-리눅스/비-x86 시스템에서 필요)을 사용하지 않고 \"i2prouter-nowrapper
\"를 사용하여 실행할 수 있습니다. (참고: sudo나 root로 절대 사용하지 마세요!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "시스템이 부팅할때 자동으로 실행되는 서비스로, 로그인 전에도 실행 됩니다. 이 서비스는 root나 sudo를 이용하여 \"dpkg-reconfigure i2p
\"로 활성화 될 수 있습니다. 이 방법이 권장됩니다."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -273,14 +292,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "첫 설치시에는, 할 수 있다면 NAT/방화벽 설정 조정을 하는 것을 잊지 마십시오. 포워딩 해야 하는 포트들은 라우터 콘솔의 네트워크 설정 페이지 에서 찾을 수 있습니다. 만약 포트 포워드 방법이 필요할 경우 portforward.com가 도움이 될 수도 있습니다."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "설정 페이지에 있는 대역폭 설정 조절을 검토하세요. 기본 설정은 꽤 낮은 96 KB/s 다운로드 / 40 KB/s 업로드입니다."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/mg/LC_MESSAGES/docs.po b/i2p2www/translations/mg/LC_MESSAGES/docs.po
new file mode 100644
index 00000000..696faa08
--- /dev/null
+++ b/i2p2www/translations/mg/LC_MESSAGES/docs.po
@@ -0,0 +1,13911 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Malagasy (http://www.transifex.com/otf/I2P/language/mg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: mg\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:23
+msgid "Index to Technical Documentation"
+msgstr ""
+
+#: 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
+msgid "Following is an index to the technical documentation for I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:10
+msgid ""
+"This index is ordered from the highest to lowest layers.\n"
+"The higher layers are for \"clients\" or applications;\n"
+"the lower layers are inside the router itself.\n"
+"The interface between applications and the router is the I2CP (I2P Control Protocol) API."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:17
+#, python-format
+msgid ""
+"The I2P Project is committed to maintaining accurate, current documentation.\n"
+"If you find any inaccuracies in the documents linked below, please\n"
+"enter a ticket identifying the problem."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:25 i2p2www/pages/site/docs/naming.html:6
+#: i2p2www/pages/site/docs/api/bob.html:42
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:7
+#: i2p2www/pages/site/docs/api/streaming.html:6
+#: i2p2www/pages/site/docs/applications/embedding.html:7
+#: i2p2www/pages/site/docs/applications/managed-clients.html:7
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:6
+#: i2p2www/pages/site/docs/how/network-database.html:6
+#: i2p2www/pages/site/docs/how/peer-selection.html:6
+#: i2p2www/pages/site/docs/how/tech-intro.html:9
+#: i2p2www/pages/site/docs/how/tech-intro.html:93
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:6
+#: i2p2www/pages/site/docs/tunnels/implementation.html:67
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:6
+msgid "Overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:27
+msgid "Technical Introduction"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:28
+msgid "A Less-Technical Introduction"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:29
+msgid "Threat model and analysis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:30
+msgid "Comparisons to other anonymous networks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:31
+msgid "Specifications"
+msgstr "Filazalazana"
+
+#: i2p2www/pages/site/docs/index.html:32
+msgid "Protocol stack chart"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:33
+msgid "Papers on I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:34
+msgid "Presentations, articles, tutorials, videos, and interviews"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:35
+#, python-format
+msgid ""
+"Invisible Internet Project (I2P) Project Overview "
+"August 28, 2003 (pdf)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:38
+msgid "Application-Layer Topics"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:41 i2p2www/pages/site/docs/naming.html:2
+msgid "Naming and Addressbook"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:42
+msgid "Plugins Overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:43
+msgid "Plugin Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:44
+#: i2p2www/pages/site/docs/applications/managed-clients.html:2
+#: i2p2www/pages/site/docs/applications/managed-clients.html:20
+msgid "Managed Clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:45
+#: i2p2www/pages/site/docs/index.html:231
+msgid "Embedding the router in your application"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:46
+#: i2p2www/pages/site/docs/applications/bittorrent.html:2
+msgid "Bittorrent over I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:47
+msgid "I2PControl Plugin API"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:48
+msgid "hostsdb.blockfile Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:49
+#: i2p2www/pages/site/docs/index.html:197
+msgid "Configuration File Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:52
+msgid "Application Layer API and Protocols"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:53
+msgid ""
+"High-level, easy-to-use APIs for applications written in any language to "
+"send and receive data."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:55
+msgid "Application Development Overview and Guide"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:59
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:51
+msgid "I2PTunnel Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:75
+msgid "SAM Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:77
+msgid "SAMv2 Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:79
+msgid "SAMv3 Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:81
+msgid "BOB Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:84
+msgid "End-to-End Transport API and Protocols"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:85
+msgid ""
+"The end-to-end protocols used by clients for reliable and unreliable "
+"communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:87
+#: i2p2www/pages/site/docs/api/streaming.html:2
+msgid "Streaming Library"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:89
+msgid "Streaming Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:91
+msgid "Streaming Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:93
+#: i2p2www/pages/site/docs/api/datagrams.html:2
+msgid "Datagrams"
+msgstr "Datagrams"
+
+#: i2p2www/pages/site/docs/index.html:95
+msgid "Datagram Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:98
+msgid "Client-to-Router Interface API and Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:99
+msgid ""
+"The lowest-level API used for clients (applications) to send and receive traffic to a router.\n"
+"Traditionally used only by Java applications and higher-level APIs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:104
+msgid "I2CP - I2P Control Protocol / API overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:106
+msgid "I2CP Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:108
+msgid "I2CP API Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:110
+#: i2p2www/pages/site/docs/index.html:140
+msgid "Common data structures specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:112
+#: i2p2www/pages/site/docs/index.html:142
+msgid "Data Structures Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:115
+msgid "End-to-End Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:116
+msgid "How client messages are end-to-end encrypted by the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:118
+msgid "ElGamal/AES+SessionTag encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:119
+#: i2p2www/pages/site/docs/index.html:153
+msgid "ElGamal and AES cryptography details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:122
+#: i2p2www/pages/site/docs/how/tech-intro.html:11
+#: i2p2www/pages/site/docs/how/tech-intro.html:325
+msgid "Network Database"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:123
+msgid ""
+"Distributed storage and retrieval of information about routers and clients."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:125
+msgid "Network database overview, details, and threat analysis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:126
+msgid "Cryptographic hashes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:127
+msgid "Cryptographic signatures"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:128
+#: i2p2www/pages/site/docs/index.html:189
+msgid "Router reseed specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:131
+msgid "Router Message Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:132
+msgid ""
+"I2P is a message-oriented router. The messages sent between routers are "
+"defined by the I2NP protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:134
+msgid "I2NP - I2P Network Protocol Overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:136
+msgid "I2NP Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:138
+msgid "I2NP Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:145
+#: i2p2www/pages/site/docs/how/tech-intro.html:10
+#: i2p2www/pages/site/docs/how/tech-intro.html:224
+msgid "Tunnels"
+msgstr "Fantsona"
+
+#: i2p2www/pages/site/docs/index.html:146
+msgid ""
+"Selecting peers, requesting tunnels through those peers, and encrypting and "
+"routing messages through these tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:148
+msgid "Peer profiling and selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:149
+msgid "Tunnel routing overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:150
+msgid "Garlic routing and \"garlic\" terminology"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:151
+msgid "Tunnel building and encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:152
+msgid "ElGamal/AES"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:152
+msgid "for build request encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:154
+msgid "Tunnel building specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:155
+msgid "Low-level tunnel message specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:156
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2
+msgid "Unidirectional Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:157
+#: i2p2www/pages/site/docs/how/peer-selection.html:299
+msgid "Peer Profiling and Selection in the I2P Anonymous Network"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:158
+msgid "2009 paper (pdf), not current but still generally accurate"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:161
+msgid "Transport Layer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:162
+msgid ""
+"The protocols for direct (point-to-point) router to router communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:164
+msgid "Transport layer overview"
+msgstr "Fampitana amin'ny antsipiriany"
+
+#: i2p2www/pages/site/docs/index.html:166
+msgid "TCP-based transport overview and specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:168
+msgid "NTCP2 specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:170
+msgid "UDP-based transport overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:172
+msgid "SSU specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:174
+msgid "NTCP transport encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:176
+msgid "SSU transport encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:178
+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:185
+msgid "Other Router Topics"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:187
+msgid "Router software updates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:191
+msgid "Native BigInteger Library"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:193
+msgid "Time synchronization and NTP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:195
+msgid "Performance"
+msgstr "Tanjany"
+
+#: i2p2www/pages/site/docs/index.html:202
+msgid "Developer's Guides and Resources"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:204
+msgid "New Developer's Guide"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:206
+msgid "New Translator's Guide"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:208
+msgid "Monotone Guide"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:210
+msgid "Developer Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:212
+msgid "Javadocs on the standard internet:"
+msgstr ""
+
+#: 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: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:216
+msgid "Javadocs inside I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:229
+msgid "Proposals"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:233
+msgid "How to Set up a Reseed Server"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:235
+msgid "Ports used by I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:237
+msgid "Automatic updates to development builds inside I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:239
+msgid "Updating the wrapper manually"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:241
+msgid "User forum"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:243
+msgid "Developer forum inside I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:245
+msgid "Bug tracker"
+msgstr "Fanarahana ny tsy mety"
+
+#: i2p2www/pages/site/docs/index.html:248
+msgid "Viewmtn inside I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:251
+msgid "I2P Source exported to GitHub"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:253
+msgid "I2P Source Git Repo inside I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:255
+msgid "Source translation at Transifex"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:257
+msgid "Roadmap"
+msgstr "Lalana mbola ho aleha"
+
+#: i2p2www/pages/site/docs/index.html:259
+msgid "To Do List"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:259
+msgid "not current"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:8
+msgid ""
+"I2P ships with a generic naming library and a base implementation \n"
+"designed to work off a local name to destination mapping, as well as an\n"
+"add-on application called the addressbook. \n"
+"I2P also supports Base32 hostnames similar to Tor's .onion addresses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:15
+msgid ""
+"The addressbook is a web-of-trust\n"
+"driven secure, distributed, and human readable naming system, sacrificing only\n"
+"the call for all human readable names to be globally unique by mandating only\n"
+"local uniqueness. While all messages in I2P are cryptographically addressed\n"
+"by their destination, different people can have local addressbook entries for\n"
+"\"Alice\" which refer to different destinations. People can still discover new\n"
+"names by importing published addressbooks of peers specified in their web of trust,\n"
+"by adding in the entries provided through a third party, or (if some people organize\n"
+"a series of published addressbooks using a first come first serve registration\n"
+"system) people can choose to treat these addressbooks as name servers, emulating\n"
+"traditional DNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:29
+#, python-format
+msgid ""
+"NOTE: For the reasoning behind the I2P naming system, common arguments against it\n"
+"and possible alternatives see the naming discussion\n"
+"page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:36
+msgid "Naming System Components"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:38
+msgid ""
+"There is no central naming authority in I2P.\n"
+"All hostnames are local."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:43
+msgid ""
+"The naming system is quite simple and most of it is implemented\n"
+"in applications external to the router, but bundled with\n"
+"the I2P distribution.\n"
+"The components are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:51
+msgid ""
+"The local naming service which does lookups\n"
+"and also handles Base32 hostnames."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:55
+msgid ""
+"The HTTP proxy which asks the router for lookups and points\n"
+"the user to remote jump services to assist with failed lookups."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:59
+msgid ""
+"HTTP host-add forms which allow users to add "
+"hosts to their local hosts.txt"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:62
+msgid ""
+"HTTP jump services which provide their own "
+"lookups and redirection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:65
+msgid ""
+"The addressbook application which merges external\n"
+"host lists, retrieved via HTTP, with the local list."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:69
+msgid ""
+"The SusiDNS application which is a simple web front-end\n"
+"for addressbook configuration and viewing of the local host lists."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:76
+msgid "Naming Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:78
+#, python-format
+msgid ""
+"All destinations in I2P are 516-byte (or longer) keys.\n"
+"(To be more precise, it is a 256-byte public key plus a 128-byte signing key\n"
+"plus a 3-or-more byte certificate, which in Base64 representation is 516 or more bytes.\n"
+"Non-null Certificates are in use now\n"
+"for signature type indication.\n"
+"Therefore, certificates in recently-generated destinations are more than 3 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:87
+msgid ""
+"If an application (i2ptunnel or the HTTP proxy) wishes to access\n"
+"a destination by name, the router does a very simple local lookup\n"
+"to resolve that name."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:93
+msgid "Hosts.txt Naming Service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:95
+msgid ""
+"The hosts.txt Naming Service does a simple linear search through\n"
+"text files. This naming service was the default until\n"
+"release 0.8.8 when it was replaced by the Blockfile Naming Service.\n"
+"The hosts.txt format had become too slow after the file grew to thousands of entries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:102
+#, python-format
+msgid ""
+"It does a linear search through three local files, in order, to\n"
+"look up host names and convert them to a 516-byte destination key.\n"
+"Each file is in a simple configuration file format, with hostname=base64, one per line.\n"
+"The files are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:114
+msgid "Blockfile Naming Service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:116
+msgid ""
+"The Blockfile Naming Service stores multiple \"addressbooks\" in a single\n"
+"database file named hostsdb.blockfile.\n"
+"This Naming Service is the default since release 0.8.8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:122
+#, python-format
+msgid ""
+"A blockfile is simply on-disk storage of multiple sorted maps (key-value pairs),\n"
+"implemented as skiplists.\n"
+"The blockfile format is specified on the Blockfile page.\n"
+"It provides fast Destination lookup in a compact format. While the blockfile overhead is substantial,\n"
+"the destinations are stored in binary rather than in Base 64 as in the hosts.txt format.\n"
+"In addition, the blockfile provides the capability of arbitrary metadata storage\n"
+"(such as added date, source, and comments) for each entry to implement advanced addressbook features.\n"
+"The blockfile storage requirement is a modest increase over the hosts.txt format, and the blockfile provides\n"
+"approximately 10x reduction in lookup times."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:134
+msgid ""
+"On creation, the naming service imports entries from the three files used by the hosts.txt Naming Service.\n"
+"The blockfile mimics the previous implementation by maintaining three maps that\n"
+"are searched in-order, named privatehosts.txt, userhosts.txt, and hosts.txt.\n"
+"It also maintains a reverse-lookup map to implement rapid reverse lookups."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:141
+msgid "Other Naming Service Facilities"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:143
+#, python-format
+msgid ""
+"The lookup is case-insensitive.\n"
+"The first match is used, and conflicts are not detected.\n"
+"There is no enforcement of naming rules in lookups.\n"
+"Lookups are cached for a few minutes.\n"
+"Base 32 resolution is described below.\n"
+"For a full description of the Naming Service API see the\n"
+"Naming Service Javadocs.\n"
+"This API was significantly expanded in release 0.8.7 to provide\n"
+"adds and removes, storage of arbitrary properties with the hostname,\n"
+"and other features."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:156
+msgid "Alternatives and Experimental Naming Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:158
+#, python-format
+msgid ""
+"The naming service is specified with the configuration property i2p.naming.impl=class.\n"
+"Other implementations are possible. For example,\n"
+"there is an experimental facility for real-time lookups (a la DNS) over the network within the router.\n"
+"For more information see the alternatives on the discussion page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:165
+msgid ""
+"The HTTP proxy does a lookup via the router for all hostnames ending in '.i2p'.\n"
+"Otherwise, it forwards the request to a configured HTTP outproxy.\n"
+"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-Top Level Domain '.i2p'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:171
+#, python-format
+msgid ""
+"We have applied to reserve the .i2p TLD\n"
+"following the procedures specified in RFC 6761."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:177
+msgid ""
+"If the router fails to resolve the hostname, the HTTP proxy returns\n"
+"an error page to the user with links to several \"jump\" services.\n"
+"See below for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:183
+msgid "Addressbook"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:184
+msgid "Incoming Subscriptions and Merging"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:186
+msgid ""
+"The addressbook application periodically\n"
+"retrieves other users' hosts.txt files and merges\n"
+"them with the local hosts.txt, after several checks.\n"
+"Naming conflicts are resolved on a first-come first-served\n"
+"basis."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:194
+msgid ""
+"Subscribing to another user's hosts.txt file involves\n"
+"giving them a certain amount of trust.\n"
+"You do not want them, for example, 'hijacking' a new site\n"
+"by quickly entering in their own key for a new site before\n"
+"passing the new host/key entry to you."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:202
+msgid ""
+"For this reason, the only subscription configured by\n"
+"default is http://i2p-projekt.i2p/hosts.txt (http://udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p/hosts.txt)
, \n"
+"which contains a copy of the hosts.txt included\n"
+"in the I2P release.\n"
+"Users must configure additional subscriptions in their\n"
+"local addressbook application (via subscriptions.txt or SusiDNS)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:211
+msgid "Some other public addressbook subscription links:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:218
+msgid ""
+"The operators of these services may have various policies for listing hosts.\n"
+"Presence on this list does not imply endorsement."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:223
+#: i2p2www/pages/site/docs/naming.html:235
+msgid "Naming Rules"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:224
+msgid ""
+"While there are hopefully not any technical limitations within I2P on host names,\n"
+"the addressbook enforces several restrictions on host names\n"
+"imported from subscriptions.\n"
+"It does this for basic typographical sanity and compatibility with browsers,\n"
+"and for security.\n"
+"The rules are essentially the same as those in RFC2396 Section 3.2.2.\n"
+"Any hostnames violating these rules may not be propagated\n"
+"to other routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:239
+msgid "Names are converted to lower case on import."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:243
+msgid ""
+"Names are checked for conflict with existing names in the existing userhosts.txt and hosts.txt\n"
+"(but not privatehosts.txt) after conversion to lower case."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:248
+msgid ""
+"Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:252
+msgid "Must not start with '.' or '-'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:256
+msgid "Must end with '.i2p'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:260
+msgid "67 characters maximum, including the '.i2p'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:264
+msgid "Must not contain '..'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:268
+msgid "Must not contain '.-' or '-.' (as of 0.6.1.33)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:272
+msgid "Must not contain '--' except in 'xn--' for IDN."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:276
+msgid ""
+"Base32 hostnames (*.b32.i2p) are reserved for base 32 use and so are not "
+"allowed to be imported."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:280
+msgid ""
+"Certain hostnames reserved for project use are not allowed\n"
+"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, *.console.i2p, and others)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:285
+msgid "Keys are checked for base64 validity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:289
+msgid ""
+"Keys are checked for conflict with existing keys in hosts.txt (but not "
+"privatehosts.txt)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:293
+msgid "Minimum key length 516 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:297
+msgid "Maximum key length 616 bytes (to account for certs up to 100 bytes)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:302
+msgid ""
+"Any name received via subscription that passes all the checks is added via "
+"the local naming service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:306
+msgid ""
+"Note that the '.' symbols in a host name are of no significance,\n"
+"and do not denote any actual naming or trust hierarchy.\n"
+"If the name 'host.i2p' already exists, there is nothing\n"
+"to prevent anybody from adding a name 'a.host.i2p' to their hosts.txt,\n"
+"and this name can be imported by others' addressbook.\n"
+"Methods to deny subdomains to non-domain 'owners' (certificates?),\n"
+"and the desirability and feasibility of these methods,\n"
+"are topics for future discussion."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:317
+msgid ""
+"International Domain Names (IDN) also work in i2p (using punycode 'xn--' form).\n"
+"To see IDN .i2p domain names rendered correctly in Firefox's location bar,\n"
+"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:323
+msgid ""
+"As the addressbook application does not use privatehosts.txt at all, in practice\n"
+"this file is the only place where it is appropriate to place private aliases or\n"
+"\"pet names\" for sites already in hosts.txt."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:329
+msgid "Advanced Subscription Feed Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:337
+msgid "Outgoing Subscriptions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:338
+msgid ""
+"Addressbook will publish the merged hosts.txt to a location\n"
+"(traditionally hosts.txt in the local eepsite's home directory) to be accessed by others\n"
+"for their subscriptions.\n"
+"This step is optional and is disabled by default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:346
+msgid ""
+"The addressbook application, together with eepget, saves the Etag and/or Last-Modified\n"
+"information returned by the web server of the subscription.\n"
+"This greatly reduces the bandwidth required, as the web server will\n"
+"return a '304 Not Modified' on the next fetch if nothing has changed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:353
+msgid ""
+"However the entire hosts.txt is downloaded if it has changed.\n"
+"See below for discussion on this issue."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:358
+msgid ""
+"Hosts serving a static hosts.txt or an equivalent CGI application\n"
+"are strongly encouraged to deliver\n"
+"a Content-Length header, and either an Etag or Last-Modified header.\n"
+"Also ensure that the server delivers a '304 Not Modified' when appropriate.\n"
+"This will dramatically reduce the network bandwidth, and\n"
+"reduce chances of corruption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:367
+msgid "Host Add Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:368
+msgid ""
+"A host add service is a simple CGI application that takes a hostname and a Base64 key as parameters\n"
+"and adds that to its local hosts.txt.\n"
+"If other routers subscribe to that hosts.txt, the new hostname/key\n"
+"will be propagated through the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:375
+msgid ""
+"It is recommended that host add services impose, at a minimum, the restrictions imposed by the addressbook application listed above.\n"
+"Host add services may impose additional restrictions on hostnames and keys, for example:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:380
+msgid "A limit on number of 'subdomains'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:384
+msgid "Authorization for 'subdomains' through various methods."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:388
+msgid "Hashcash or signed certificates."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:392
+msgid "Editorial review of host names and/or content."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:396
+msgid "Categorization of hosts by content."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:400
+msgid "Reservation or rejection of certain host names."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:404
+msgid "Restrictions on the number of names registered in a given time period."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:408
+msgid "Delays between registration and publication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:412
+msgid "Requirement that the host be up for verification."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:416
+msgid "Expiration and/or revocation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:420
+msgid "IDN spoof rejection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:425
+msgid "Jump Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:426
+msgid ""
+"A jump service is a simple CGI application that takes a hostname as a parameter\n"
+"and returns a 301 redirect to the proper URL with a ?i2paddresshelper=key
\n"
+"string appended.\n"
+"The HTTP proxy will interpret the appended string and\n"
+"use that key as the actual destination.\n"
+"In addition, the proxy will cache that key so the\n"
+"address helper is not necessary until restart."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:436
+msgid ""
+"Note that, like with subscriptions, using a jump service\n"
+"implies a certain amount of trust, as a jump service could maliciously\n"
+"redirect a user to an incorrect destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:442
+msgid ""
+"To provide the best service, a jump service should be subscribed to\n"
+"several hosts.txt providers so that its local host list is current."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:448
+msgid ""
+"SusiDNS is simply a web interface front-end to configuring addressbook subscriptions\n"
+"and accessing the four addressbook files.\n"
+"All the real work is done by the 'addressbook' application."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:454
+msgid ""
+"Currently, there is little enforcement of addressbook naming rules within SusiDNS,\n"
+"so a user may enter hostnames locally that would be rejected by\n"
+"the addressbook subscription rules."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:460
+msgid "Base32 Names"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:461
+msgid ""
+"I2P supports Base32 hostnames similar to Tor's .onion addresses.\n"
+"Base32 addresses are much shorter and easier to handle than the\n"
+"full 516-character Base64 Destinations or addresshelpers.\n"
+"Example: ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p
"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:468
+#, python-format
+msgid ""
+"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 hash.\n"
+"I2P uses 52 characters (256 bits) to represent the full SHA-256 hash.\n"
+"The form is {52 chars}.b32.i2p.\n"
+"Tor has recently published a\n"
+"proposal\n"
+"to convert to an identical format of {52 chars}.onion for their hidden services.\n"
+"Base32 is implemented in the naming service, which queries the\n"
+"router over I2CP to lookup the LeaseSet to get the full Destination.\n"
+"Base32 lookups will only be successful when the Destination is up and publishing\n"
+"a LeaseSet.\n"
+"Because resolution may require a network database lookup, it may take significantly\n"
+"longer than a local address book lookup."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:483
+msgid ""
+"Base32 addresses can be used in most places where hostnames or full destinations\n"
+"are used, however there are some exceptions where they may fail if the\n"
+"name does not immediately resolve. I2PTunnel will fail, for example, if\n"
+"the name does not resolve to a destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:2
+msgid "Plugins"
+msgstr "Tovana"
+
+#: i2p2www/pages/site/docs/plugins.html:3
+msgid "June 2012"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:6
+msgid "General Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:7
+msgid ""
+"I2P includes a plugin architecture\n"
+"to support easy development and installation of additional software."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:12
+msgid ""
+"There are now plugins available that support distributed email, blogs, IRC\n"
+"clients, distributed file storage, wikis, and more."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:17
+msgid "Benefits to i2p users and app developers:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:22
+msgid "Easy distribution of applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:26
+msgid ""
+"Allows innovation and use of additional libraries without worrying about\n"
+"increasing the size of i2pupdate.sud
"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:31
+msgid ""
+"Support large or special-purpose applications that would never be bundled\n"
+"with the I2P installation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:36
+msgid "Cryptographically signed and verified applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:40
+msgid "Automatic updates of applications, just like for the router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:44
+msgid ""
+"Separate initial install and update packages, if desired, for smaller update"
+" downloads"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:48
+msgid ""
+"One-click installation of applications. No more asking users to modify\n"
+"wrapper.config
or clients.config
"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:53
+msgid "Isolate applications from the base $I2P
installation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:57
+msgid ""
+"Automatic compatibility checking for I2P version, Java version, Jetty\n"
+"version, and previous installed application version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:62
+msgid "Automatic link addition in console"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:66
+msgid ""
+"Automatic startup of application, including modifying classpath, without "
+"requiring a restart"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:70
+msgid ""
+"Automatic integration and startup of webapps into console Jetty instance"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:74
+#, python-format
+msgid ""
+"Facilitate creation of 'app stores' like the one at\n"
+"%(pluginsite)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:79
+msgid "One-click uninstall"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:83
+msgid "Language and theme packs for the console"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:87
+msgid "Bring detailed application information to the router console"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:91
+msgid "Non-java applications also supported"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:97
+msgid "Required I2P version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:98
+msgid "0.7.12 or newer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:100
+msgid "Installation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:101
+msgid ""
+"To install and start a plugin, copy the .xpi2p
install link to\n"
+"the form at the bottom of\n"
+"configclients.jsp in\n"
+"your router console and click the \"install plugin\" button. After a\n"
+"plugin is installed and started, a link to the plugin will usually appear at\n"
+"the top of your summary bar."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:110
+msgid ""
+"To update a plugin to the latest version, just click the update button on\n"
+"configclients.jsp.\n"
+"There is also a button to check if the plugin has a more recent version, as\n"
+"well as a button to check for updates for all plugins. Plugins will be checked\n"
+"for updates automatically when updating to a new I2P release (not including dev\n"
+"builds)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:120
+msgid "Development"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:121
+#, python-format
+msgid ""
+"See the latest plugin specification and the\n"
+"plugin forum on %(zzz)s."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:126
+#, python-format
+msgid ""
+"See also the sources for plugins developed by various people. Some plugins, such\n"
+"as snowman, were developed\n"
+"specifically as examples."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:132
+msgid ""
+"Developers wanted! Plugins are a great way to learn more about I2P\n"
+"or easily add some feature."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:137
+msgid "Getting Started"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:138
+#, python-format
+msgid ""
+"To create a plugin from an existing binary package you will need to get\n"
+"makeplugin.sh from the i2p.scripts branch in monotone."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:144
+msgid "Known Issues"
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:145
+msgid ""
+"Note that the router's plugin architecture does NOT currently\n"
+"provide any additional security isolation or sandboxing of plugins."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:151
+msgid ""
+"Updates of a plugin with included jars (not wars) won't be recognized if\n"
+"the plugin was already run, as it requires class loader trickery to flush the\n"
+"class cache; a full router restart is required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:157
+msgid "The stop button may be displayed even if there is nothing to stop."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:161
+msgid ""
+"Plugins running in a separate JVM create a logs/
directory in\n"
+"$CWD
."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:166
+msgid ""
+"No initial keys are present, except for those of jrandom and zzz (using the\n"
+"same keys as for router update), so the first key seen for a signer is\n"
+"automatically accepted—there is no signing key authority."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:172
+msgid ""
+"When deleting a plugin, the directory is not always deleted, especially on\n"
+"Windows."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:177
+msgid ""
+"Installing a plugin requiring Java 1.6 on a Java 1.5 machine will result in a\n"
+"\"plugin is corrupt\" message if pack200 compression of the plugin file is used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:182
+msgid "Theme and translation plugins are untested."
+msgstr ""
+
+#: i2p2www/pages/site/docs/plugins.html:186
+msgid "Disabling autostart doesn't always work."
+msgstr ""
+
+#: i2p2www/pages/site/docs/ports.html:2
+msgid "Ports Used by I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/ports.html:3
+msgid "March 2018"
+msgstr ""
+
+#: i2p2www/pages/site/docs/ports.html:7
+msgid ""
+"These are the ports used or reserved by I2P, including those for known plugins,\n"
+"common alternates,\n"
+"and some typical related applications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/ports.html:13
+#, python-format
+msgid ""
+"Note that many of these are not enabled by default.\n"
+"There is more information in the FAQ.\n"
+"See also the documentation for individual plugins.\n"
+"Plugin authors please add any ports you use here.\n"
+"For new plugins, we recommend using the next available port\n"
+"in the 766x range."
+msgstr ""
+
+#: i2p2www/pages/site/docs/ports.html:56
+msgid "recommended spot for new plugins/applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:2
+msgid "Reseed Hosts"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:3
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:3
+msgid "January 2016"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:8
+msgid "About Reseed hosts"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:10
+msgid ""
+"Reseed hosts are needed to for bootstrapping, that is, providing the initial"
+" set of I2P nodes for your I2P node to talk to. Depending on the status of "
+"your node it may need to bootstrap every now and then if many of the nodes "
+"it knows of aren't contactable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:14
+msgid ""
+"Reseeding is done over an encrypted connection and all of the bootstrap "
+"information is signed by the reseed host you connect to, making it "
+"impossible for an unauthenticated source to provide you with false "
+"information."
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:19
+msgid "Running a Reseed host"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:21
+msgid ""
+"The more reseed hosts that are run, the more resilient the I2P network "
+"becomes, and the harder it is to prevent users of I2P from connecting to the"
+" network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:25
+msgid ""
+"There have also been cases where the reseed hosts we had, have been under "
+"heavy load due to botnet activities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:33
+msgid "Thank you"
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:35
+msgid ""
+"If you are running a reseed server, We would like to thank you for helping to\n"
+"make the I2P network stronger and more resilient than ever."
+msgstr ""
+
+#: i2p2www/pages/site/docs/reseed.html:41
+msgid "Thank you."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:2
+msgid "BOB - Basic Open Bridge"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:3
+msgid "August 2016"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:12
+msgid "Technical differences from SAM (for the better?)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:14
+msgid ""
+"BOB has separate command and data channels. \n"
+"One, an application command channel socket to router to configure.\n"
+"Two, the application data sockets to/from router that carry only data.\n"
+"The command channel is only needed for making or setting the initial\n"
+"destination key, and to set the destination key to port bindings. \n"
+"All connections run in parallel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:23
+msgid ""
+"SAM has one connection that does everything, and you need to parse every "
+"packet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:27
+msgid ""
+"BOB does not hold keypair values, nor does the router.\n"
+"Your application holds the keypair values. \n"
+"This is to reduce any extra complexity in the router code, it also adds to\n"
+"your privacy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:34
+msgid "SAM router stores every keypair you ever make."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:38
+msgid "Those are the important differences."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:44
+msgid "KEYS
= keypair public+private, these are BASE64"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:47
+msgid "KEY
= public key, also BASE64"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:50
+msgid ""
+"ERROR
as is implied returns the message \"ERROR "
+"\"+DESCRIPTION+\"\\n\"
, where the DESCRIPTION
is what "
+"went wrong."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:53
+msgid ""
+"OK
returns \"OK\"
, and if data is to be returned, "
+"it is on the same line. OK
means the command is finished."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:56
+msgid ""
+"DATA
lines contain information that you requested. There may be"
+" multiple DATA
lines per request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:60
+msgid ""
+"NOTE: The help command is the ONLY command that has an exception to\n"
+"the rules... it can actually return nothing! This is intentional, since\n"
+"help is a HUMAN and not an APPLICATION command."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:66
+msgid "Connection and Version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:68
+msgid ""
+"All BOB status output is by lines. Lines may be \\n or \\r\\n terminated, depending on the system.\n"
+"On connection, BOB outputs two lines:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:78
+msgid "The current version is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:82
+msgid ""
+"Note that previous versions used upper-case hex digits and did not conform to I2P versioning standards.\n"
+"It is recommended that subsequent versions use digits 0-9 only."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:87
+msgid "Version history"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:92
+msgid "Version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:93
+msgid "I2P Router Version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:94
+msgid "Changes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:97
+msgid "current version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:100
+msgid "development versions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:104
+msgid "Commands"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:106
+msgid ""
+"PLEASE NOTE:\n"
+"For CURRENT details on the commands PLEASE use the built-in help command. \n"
+"Just telnet to localhost 2827 and type help and you can get full documentation on each command."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:112
+msgid ""
+"Commands never get obsoleted or changed, however new commands do get added "
+"from time to time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:117
+msgid "COMMAND"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:117
+msgid "OPERAND"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:117
+msgid "RETURNS"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:145
+msgid ""
+"Once set up, all TCP sockets can and will block as needed, and there is no need for any \n"
+"additional messages to/from the command channel. This allows the router to pace the\n"
+"stream without exploding with OOM like SAM does as it chokes on attempting to shove \n"
+"many streams in or out one socket -- that can't scale when you have alot of connections!"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:152
+msgid ""
+"What is also nice about this particular interface is that writing anything to interface \n"
+"to it, is much much easier than SAM. There is no other processing to do after the set up.\n"
+"It's configuration is so simple, that very simple tools, such as nc (netcat) can be used \n"
+"to point to some application. The value there is that one could schedule up and down times \n"
+"for an application, and not have to change the application to do that, or to even have \n"
+"to stop that application. Instead, you can literally \"unplug\" the destination, and \n"
+"\"plug it in\" again. As long as the same IP/port addresses and destination keys are used \n"
+"when bringing the bridge up, the normal TCP application won't care, and won't notice.\n"
+"It will simply be fooled -- the destinations are not reachable, and that nothing is coming in."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:164
+msgid "Examples"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:166
+msgid ""
+"For the following example, we'll setup a very simple local loopback connection, \n"
+"with two destinations. Destination \"mouth\" will be the CHARGEN service from \n"
+"the INET superserver daemon. Destination \"ear\" will be a local port that you\n"
+"can telnet into, and watch the pretty ASCII test puke forth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:174
+msgid "EXAMPLE SESSION DIALOGUE -- simple telnet 127.0.0.1 2827 works"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:175
+msgid "Application"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:176
+msgid "BOB's Command response."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:178
+#: i2p2www/pages/site/docs/api/bob.html:192
+#: i2p2www/pages/site/docs/api/bob.html:212
+#: i2p2www/pages/site/docs/api/bob.html:322
+#: i2p2www/pages/site/docs/api/bob.html:334
+#: i2p2www/pages/site/docs/api/bob.html:349
+msgid "FROM"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:178
+#: i2p2www/pages/site/docs/api/bob.html:192
+#: i2p2www/pages/site/docs/api/bob.html:212
+#: i2p2www/pages/site/docs/api/bob.html:322
+#: i2p2www/pages/site/docs/api/bob.html:334
+#: i2p2www/pages/site/docs/api/bob.html:349
+msgid "TO"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:178
+#: i2p2www/pages/site/docs/api/bob.html:192
+#: i2p2www/pages/site/docs/api/bob.html:212
+#: i2p2www/pages/site/docs/api/bob.html:322
+#: i2p2www/pages/site/docs/api/bob.html:334
+#: i2p2www/pages/site/docs/api/bob.html:349
+msgid "DIALOGUE"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:187
+msgid "MAKE NOTE OF THE ABOVE DESTINATION KEY, YOURS WILL BE DIFFERENT!"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:201
+msgid ""
+"At this point, there was no error, a destination with a nickname of \"mouth\" \n"
+"is set up. When you contact the destination provided, you actually connect \n"
+"to the CHARGEN
service on 19/TCP
."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:207
+msgid ""
+"Now for the other half, so that we can actually contact this destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:229
+msgid ""
+"Now all we need to do is telnet into 127.0.0.1, port 37337,\n"
+"send the destination key or host address from addressbook we want to contact.\n"
+"In this case, we want to contact \"mouth\", all we do is paste in the\n"
+"key and it goes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:236
+msgid ""
+"NOTE: The \"quit\" command in the command channel does NOT disconnect"
+" the tunnels like SAM."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:253
+msgid "After a few virtual miles of this spew, press Control-]
"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:265
+msgid "Here is what happened..."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:273
+msgid "You can connect to EEPSITES too!"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:306
+msgid ""
+"Pretty cool isn't it? Try some other well known EEPSITES if you like, nonexistent ones, \n"
+"etc, to get a feel for what kind of output to expect in different situations. \n"
+"For the most part, it is suggested that you ignore any of the error messages. \n"
+"They would be meaningless to the application, and are only presented for human debugging."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:313
+msgid "Let's put down our destinations now that we are all done with them."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:317
+msgid "First, lets see what destination nicknames we have."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:329
+msgid "Alright, there they are. First, let's remove \"mouth\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:343
+msgid ""
+"Now to remove \"ear\", note that this is what happens when you type too fast,\n"
+"and shows you what typical ERROR messages looks like."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:362
+msgid ""
+"I won't bother to show an example of the receiver end of a bridge\n"
+"because it is very simple. There are two possible settings for it, and\n"
+"it is toggled with the \"quiet\" command."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:368
+msgid ""
+"The default is NOT quiet, and the first data to come into your\n"
+"listening socket is the destination that is making the contact. It is a\n"
+"single line consisting of the BASE64 address followed by a newline.\n"
+"Everything after that is for the application to actually consume."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:375
+msgid ""
+"In quiet mode, think of it as a regular Internet connection. No\n"
+"extra data comes in at all. It's just as if you are plain connected to\n"
+"the regular Internet. This mode allows a form of transparency much like\n"
+"is available on the router console tunnel settings pages, so that you\n"
+"can use BOB to point a destination at a web server, for example, and\n"
+"you would not have to modify the web server at all."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/bob.html:384
+msgid ""
+"The advantage with using BOB for this is as discussed\n"
+"previously. You could schedule random uptimes for the application,\n"
+"redirect to a different machine, etc. One use of this may be something\n"
+"like wanting to try to goof up router-to-destination upness guessing.\n"
+"You could stop and start the destination with a totally different\n"
+"process to make random up and down times on services. That way you\n"
+"would only be stopping the ability to contact such a service, and not\n"
+"have to bother shutting it down and restarting it. You could redirect\n"
+"and point to a different machine on your LAN while you do updates, or\n"
+"point to a set of backup machines depending on what is running, etc,\n"
+"etc. Only your imagination limits what you could do with BOB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:3
+#: i2p2www/pages/site/docs/protocol/index.html:3
+msgid "August 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:6
+msgid "Datagram Overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:7
+#, python-format
+msgid ""
+"Datagrams build upon the base I2CP to provide authenticated\n"
+"and repliable messages in a standard format. This lets applications reliably read\n"
+"the \"from\" address out of a datagram and know that the address really sent the\n"
+"message. This is necessary for some applications since the base I2P message is\n"
+"completely raw - it has no \"from\" address (unlike IP packets). In addition, the\n"
+"message and sender are authenticated by signing the payload."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:16
+#, python-format
+msgid ""
+"Datagrams, like streaming library packets,\n"
+"are an application-level construct.\n"
+"These protocols are independent of the low-level transports;\n"
+"the protocols are converted to I2NP messages by the router, and\n"
+"either protocol may be carried by either transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:25
+msgid "Application Guide"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:26
+#, python-format
+msgid ""
+"Applications written in Java may use the \n"
+"datagram API,\n"
+"while applications in other languages \n"
+"can use SAM's datagram support.\n"
+"There is also limited support in i2ptunnel in the SOCKS proxy,\n"
+"the 'streamr' tunnel types, and udpTunnel classes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:37
+msgid "Datagram Length"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:38
+msgid ""
+"The application designer should carefully consider the tradeoff of repliable vs. non-repliable\n"
+"datagrams. Also, the datagram size will affect reliability, due to tunnel fragmentation into 1KB\n"
+"tunnel messages. The more message fragments, the more likely that one of them will be dropped\n"
+"by an intermediate hop. Messages larger than a few KB are not recommended.\n"
+"Over about 10 KB, the delivery probablility drops dramatically.\n"
+"Messages over 16 KB cannot be delivered over NTCP, dropping delivery chances even more."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:47
+#, python-format
+msgid ""
+"Also note that the various overheads added by lower layers, in particular asymmetric\n"
+"ElGamal/AES, place a large burden on intermittent messages\n"
+"such as used by a Kademlia-over-UDP application. The implementations are currently tuned\n"
+"for frequent traffic using the streaming library. There are a high number\n"
+"of session tags delivered, and a short session tag lifetime, for example.\n"
+"There are currently no configuration parameters available within I2CP to tune\n"
+"the ElGamal Session Tag parameters."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:57
+msgid "I2CP Protocol Number and Ports"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:58
+msgid ""
+"The standard I2CP protocol number for datagrams is PROTO_DATAGRAM (17).\n"
+"Applications may or may not choose to set the\n"
+"protocol in the I2CP header. It is not set by default.\n"
+"It must be set to demultiplex datagram and streaming traffic received on the same Destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:65
+#, python-format
+msgid ""
+"As datagrams are not connection-oriented, the application may require\n"
+"port numbers to correlate datagrams with particular peers or communications sessions,\n"
+"as is traditional with UDP over IP.\n"
+"Applications may add 'from' and 'to' ports to the I2CP (gzip) header as described in\n"
+"the I2CP page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:73
+#, python-format
+msgid ""
+"There is no method within the datagram API to specify whether it is non-repliable (raw)\n"
+"or repliable. The application should be designed to expect the appropriate type.\n"
+"The I2CP protocol number or port should be used by the application to\n"
+"indicate datagram type.\n"
+"The I2CP protocol numbers PROTO_DATAGRAM (signed) and PROTO_DATAGRAM_RAW are defined in the\n"
+"I2PSession API\n"
+"for this purpose. A common design pattern in client/server datagram applications is to\n"
+"use signed datagrams for a request which includes a nonce, and use a raw datagram\n"
+"for the reply, returning the nonce from the request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:85
+#, python-format
+msgid ""
+"The protocols and ports may be set in I2CP's\n"
+"I2PSession API,\n"
+"as implemented in\n"
+"I2PSessionMuxedImpl."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:93
+#: i2p2www/pages/site/docs/api/streaming.html:418
+msgid "Data Integrity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:94
+#, python-format
+msgid ""
+"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
+"the I2CP layer.\n"
+"There is no checksum field in the datagram protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:100
+#: i2p2www/pages/site/docs/api/streaming.html:426
+msgid "Packet Encapsulation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:101
+#, python-format
+msgid ""
+"Each datagram is sent through I2P as a single message (or as an individual clove in a\n"
+"Garlic Message).\n"
+"Message encapsulation is implemented in the underlying\n"
+"I2CP,\n"
+"I2NP, and\n"
+"tunnel message layers.\n"
+"There is no packet delimiter mechanism or length field in the datagram protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:114
+#: i2p2www/pages/site/docs/transport/ssu.html:650
+msgid "Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/datagrams.html:116
+msgid "See the Datagrams Specification page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:2
+msgid "I2PControl - Remote Control Service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:5
+#, python-format
+msgid ""
+"I2P enables a JSONRPC2 interface via the plugin I2PControl.\n"
+"The aim of the interface is to provide simple way to interface with a running I2P node. A client, itoopie, has been developed in parallel.\n"
+"The JSONRPC2 implementation for the client as well as the plugin is provided by the java libraries JSON-RPC 2.0. \n"
+"A list of implementations of JSON-RPC for various languages can be found at the JSON-RPC wiki."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:12
+msgid "I2PControl is by default listening on https://localhost:7650"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:14
+msgid "API, version 1."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:15
+msgid "Parameters are only provided in a named way (maps)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:19
+msgid "JSON-RPC 2 format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:20
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:45
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:58
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:68
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:77
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:87
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:102
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:155
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:176
+msgid "Request:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:33
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:50
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:62
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:72
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:82
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:93
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:119
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:165
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:191
+msgid "Response:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:44
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:46
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:47
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:51
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:52
+#: i2p2www/pages/site/docs/protocol/i2cp.html:108
+#: i2p2www/pages/site/docs/protocol/i2cp.html:483
+msgid "Description"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:48
+msgid ""
+"Token used for authenticating every request (excluding the 'Authenticate' "
+"RPC method)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:56
+msgid "Implemented methods"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:57
+msgid ""
+"Creates and returns an authentication token used for further communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:59
+msgid "The version of the I2PControl API used by the client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:60
+msgid "The password used for authenticating against the remote server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:63
+msgid "The primary I2PControl API version implemented by the server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:64
+msgid "The token used for further communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:67
+msgid "Echoes the value of the echo key, used for debugging and testing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:69
+msgid "Value will be returned in response."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:70
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:80
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:91
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:117
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:163
+msgid ""
+"Token used for authenticating the client. Is provided by the server via the "
+"'Authenticate' RPC method."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:73
+msgid "Value of the key 'echo' in the request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:76
+msgid ""
+"Fetches rateStat from router statManager. Creates stat if not already "
+"created."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:78
+#, python-format
+msgid ""
+"Determines which rateStat to fetch, see ratestats."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:79
+msgid "Determines which period a stat is fetched for. Measured in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:83
+msgid "Returns the average value for the reuested rateStat and period."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:86
+msgid "Manages I2PControl. Ports, passwords and the like."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:88
+msgid ""
+"Sets a new listen address for I2PControl (only 127.0.0.1 and 0.0.0.0 are "
+"implemented in I2PControl currently)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:89
+msgid ""
+"Sets a new password for I2PControl, all Authentication tokens will be "
+"revoked."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:90
+msgid "Switches which port I2PControl will listen for connections on."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:94
+msgid "Returned if address was changed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:95
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:96
+msgid "Returned if setting was changed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:97
+msgid "Returns true if any changes were made."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:98
+msgid ""
+"Returns true if any changes requiring a restart to take effect were made."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:101
+msgid "Fetches basic information about the I2P router. Uptime, version etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:120
+msgid "What the status of the router is."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:121
+msgid "What the uptime of the router is in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:122
+msgid "What version of I2P the router is running."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:123
+msgid "The 1 second average inbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:124
+msgid "The 15 second average inbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:125
+msgid "The 1 second average outbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:126
+msgid "The 15 second average outbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:127
+msgid "What the current network status is. According to the below enum:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:146
+msgid "How many tunnels on the I2P net are we participating in."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:147
+msgid "How many peers have we communicated with recently."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:148
+msgid "How many peers are considered 'fast'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:149
+msgid "How many peers are considered 'high capacity'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:150
+msgid "Is the router reseeding hosts to its NetDB?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:151
+msgid "How many peers are known to us (listed in our NetDB)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:154
+msgid "Manages I2P router restart/shutdown."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:156
+msgid "Blocking. Initiates a search for signed updates."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:157
+msgid ""
+"Initiates a router reseed, fetching peers into our NetDB from a remote host."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:158
+msgid "Restarts the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:159
+msgid ""
+"Restarts the router gracefully (waits for participating tunnels to expire)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:160
+msgid "Shuts down the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:161
+msgid ""
+"Shuts down the router gracefully (waits for participating tunnels to "
+"expire)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:162
+msgid "Initiates a router update from signed sources."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:166
+msgid "Blocking. Returns true iff a signed update has been found."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:167
+msgid "If requested, verifies that a reseed has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:168
+msgid "If requested, verifies that a restart has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:169
+msgid "If requested, verifies that a graceful restart has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:170
+msgid "If requested, verifies that a shutdown has been initiated"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:171
+msgid "If requested, verifies that a graceful shutdown has been initiated"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:172
+msgid "Blocking. If requested, returns the status of the the update"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:175
+msgid ""
+"Fetches or sets various network related settings. Ports, addresses etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:177
+msgid ""
+"What port is used for the TCP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:178
+msgid ""
+"What hostname is used for the TCP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:179
+msgid ""
+"Use automatically detected ip for TCP transport. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:180
+msgid ""
+"What port is used for the UDP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:181
+msgid ""
+"What hostname is used for the UDP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:182
+msgid ""
+"Which methods should be used for detecting the ip address of the UDP "
+"transport. If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:183
+msgid "What ip has been detected by the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:184
+msgid ""
+"Is UPnP enabled. If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:185
+msgid ""
+"How many percent of bandwidth is usable for participating tunnels. If null "
+"is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:186
+msgid ""
+"How many KB/s of inbound bandwidth is allowed. If null is submitted, current"
+" setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:187
+msgid ""
+"How many KB/s of outbound bandwidth is allowed. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:188
+msgid ""
+"Is laptop mode enabled (change router identity and UDP port when IP changes "
+"). If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:189
+msgid ""
+"Token used for authenticating the client. Is provided by the server via the "
+"'Authenticate' RPC method. If null is submitted, current setting will be "
+"returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:192
+msgid "If requested, returns the port used for the TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:193
+msgid "If requested, returns the hostname used for the TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:194
+msgid ""
+"If requested, returns the method used for automatically detecting ip for the"
+" TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:195
+msgid "If requested, returns the port used for the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:196
+msgid "If requested, returns the hostname used for the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:197
+msgid ""
+"If requested, returns methods used for detecting the ip address of the UDP "
+"transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:198
+msgid "If requested, returns what ip has been detected by the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:199
+msgid "If requested, returns the UPNP setting."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:200
+msgid ""
+"If requested, returns how many percent of bandwidth is usable for "
+"participating tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:201
+msgid "If requested, returns how many KB/s of inbound bandwidth is allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:202
+msgid "If requested, returns how many KB/s of outbound bandwidth is allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:203
+msgid "If requested, returns the laptop mode."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:204
+msgid "Have the provided settings been saved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:205
+msgid "Is a restart needed for the new settings to be used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:208
+msgid "Allows for manipulation of advanced i2p settings"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:209
+msgid "Set:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:209
+msgid "Set the sent key-value pairs"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:212
+msgid "SetAll:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:212
+msgid "Set the sent key-value pairs, remove everything else"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:215
+msgid "Get:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:215
+msgid "Get the key-value pairs for the sent keys"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:218
+msgid "GetAll:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:218
+msgid "Get all the key-value pairs"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:221
+msgid "denotes an optional value."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:222
+msgid "denotes a possibly occuring return value"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:224
+msgid "Error codes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:225
+msgid "Standard JSON-RPC2 error codes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:226
+msgid "JSON parse error."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:227
+msgid "Invalid request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:228
+msgid "Method not found."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:229
+msgid "Invalid parameters."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:230
+msgid "Internal error."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:232
+msgid "I2PControl specific error codes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:233
+msgid "Invalid password provided."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:234
+msgid "No authentication token presented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:235
+msgid "Authentication token doesn't exist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:236
+msgid "The provided authentication token was expired and will be removed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:237
+msgid ""
+"The version of the I2PControl API used wasn't specified, but is required to "
+"be specified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:238
+msgid ""
+"The version of the I2PControl API specified is not supported by I2PControl."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:8
+#, python-format
+msgid ""
+"I2PTunnel is a tool for interfacing with and providing services on I2P.\n"
+"Destination of an I2PTunnel can be defined using a hostname,\n"
+"Base32, or a full 516-byte destination key.\n"
+"An established I2PTunnel will be available on your client machine as localhost:port.\n"
+"If you wish to provide a service on I2P network, you simply create I2PTunnel to the\n"
+"appropriate ip_address:port. A corresponding 516-byte destination key will be generated\n"
+"for the service and it will become avaliable throughout I2P.\n"
+"A web interface for I2PTunnel management is avaliable on\n"
+"localhost:7657/i2ptunnel/."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:20
+msgid "Default Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:21
+msgid "Server tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:23
+msgid ""
+"I2P Webserver - A tunnel pointed to a Jetty webserver run\n"
+"on localhost:7658 for convenient and quick hosting on I2P.\n"
+"
The document root is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:31
+msgid "Client tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:33
+msgid ""
+"A HTTP proxy used for browsing I2P and the regular internet anonymously through I2P. \n"
+"Browsing internet through I2P uses a random proxy specified by the \"Outproxies:\" option."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:37
+msgid "An IRC tunnel to the default anonymous IRC network, Irc2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:38
+#, python-format
+msgid ""
+"The anonymous monotone\n"
+"sourcecode repository for I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:42
+#, python-format
+msgid ""
+"A SMTP service provided by postman at %(postman)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:45
+#, python-format
+msgid ""
+"The accompanying POP sevice of postman at %(postman)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:50
+msgid "Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:54
+msgid "Client Modes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:165
+msgid "Standard"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:56
+msgid ""
+"Opens a local TCP port that connects to a service (like HTTP, FTP or SMTP) on a destination inside of I2P.\n"
+"The tunnel is directed to a random host from the comma seperated (\", \") list of destinations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:62
+msgid ""
+"A HTTP-client tunnel. The tunnel connects to the destination specified by the URL\n"
+"in a HTTP request. Supports proxying onto internet if an outproxy is provided. Strips HTTP connections of the following headers:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:67
+msgid ""
+"Accept, Accept-Charset, Accept-Language\n"
+" and Accept-Ranges as they vary greatly between browsers and can be used as an identifier."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:90
+msgid ""
+"Depending on if the tunnel is using an outproxy or not it will append the "
+"following User-Agent:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:94
+msgid "Outproxy:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:95
+msgid "Internal I2P use:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:100
+msgid ""
+"Creates a connection to a random IRC server specified by the comma seprated (\", \") \n"
+"list of destinations. Only a whitelisted subset of IRC commands are allowed due to anonymity concerns."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:105
+msgid "Whitelist:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:139
+msgid "Enables using the I2P router as a SOCKS proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:144
+msgid ""
+"Enables using the I2P router as a SOCKS proxy with the command whitelist specified by\n"
+"IRC client mode."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:150
+msgid ""
+"Creates a HTTP tunnel and uses the HTTP request method \"CONNECT\" \n"
+"to build a TCP tunnel that usually is used for SSL and HTTPS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:156
+msgid ""
+"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr client tunnel will \n"
+"subscribe to a streamr server tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:164
+msgid "Server Modes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:166
+msgid "Creates a destination to a local ip:port with an open TCP port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:171
+msgid ""
+"Creates a destination to a local HTTP server ip:port. Supports gzip for requests with \n"
+"Accept-encoding: x-i2p-gzip, replies with Content-encoding: x-i2p-gzip in such a request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:177
+msgid ""
+"Functions as both a I2PTunnel HTTP Server, and a I2PTunnel HTTP client with no outproxying\n"
+"capabilities. An example application would be a web application that does client-type\n"
+"requests, or loopback-testing an eepsite as a diagnostic tool."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:184
+msgid ""
+"Creates a destination that filters the reqistration sequence of a client and passes \n"
+"the clients destination key as a hostname to the IRC-server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:190
+msgid ""
+"A UDP-client that connects to a media server is created. The UDP-Client is "
+"coupled with a Streamr server I2PTunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:2
+#: i2p2www/pages/site/docs/api/ministreaming.html:17
+msgid "Ministreaming Library"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:5
+msgid "Note"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:7
+#, python-format
+msgid ""
+"The ministreaming library has been enhanced and extended by the\n"
+"\"full\" streaming library.\n"
+"Ministreaming is deprecated and is incompatible with today's applications.\n"
+"The following documentation is old.\n"
+"Also note that streaming extends ministreaming in the same Java package (net.i2p.client.streaming),\n"
+"so the current API documentation contains both.\n"
+"Obsolete ministreaming classes and methods are clearly marked as deprecated in the Javadocs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:19
+#, python-format
+msgid ""
+"\n"
+"The ministreaming library is a layer on top of the core \n"
+"I2CP that allows reliable, in order, and authenticated streams\n"
+"of messages to operate across an unreliable, unordered, and unauthenticated \n"
+"message layer. Just like the TCP to IP relationship, this streaming \n"
+"functionality has a whole series of tradeoffs and optimizations available, but\n"
+"rather than embed that functionality into the base I2P code, it has been factored\n"
+"off into its own library both to keep the TCP-esque complexities separate and to\n"
+"allow alternative optimized implementations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:30
+#, python-format
+msgid ""
+"The ministreaming library was written by mihi as a part of his \n"
+"I2PTunnel application and then factored out and released\n"
+"under the BSD license. It is called the \"mini\"streaming library because it makes\n"
+"some simplifications in the implementation, while a more robust streaming library\n"
+"could be further optimized for operation over I2P. The two main issues with \n"
+"the ministreaming library are its use of the traditional TCP two phase \n"
+"establishment protocol and the current fixed window size of 1. The establishment\n"
+"issue is minor for long lived streams, but for short ones, such as quick HTTP\n"
+"requests, the impact can be significant. As for the window\n"
+"size, the ministreaming library doesn't maintain any ID or ordering within the \n"
+"messages sent (or include any application level ACK or SACK), so it must wait \n"
+"on average twice the time it takes to send a message before sending another."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:45
+#, python-format
+msgid ""
+"Even with those issues, the ministreaming library performs quite well in many\n"
+"situations, and its API\n"
+"is both quite simple and capable of remaining unchanged as different streaming\n"
+"implementations are introduced. The library is deployed in its own \n"
+"ministreaming.jar.\n"
+"Developers in Java who would like to use it can\n"
+"access the API directly, while developers in other languages can use it through\n"
+"SAM's streaming support."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:4
+msgid "SOCKS and SOCKS proxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:5
+msgid ""
+"\n"
+"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.\n"
+"Enable SOCKS by creating a SOCKS client tunnel in i2ptunnel.\n"
+"Both shared-clients and non-shared are supported.\n"
+"There is no SOCKS outproxy so it is of limited use."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:12
+#, python-format
+msgid ""
+"\n"
+"As it says on the FAQ:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:15
+msgid ""
+"Many applications leak sensitive\n"
+"information that could identify you on the Internet. I2P only filters\n"
+"connection data, but if the program you intend to run sends this\n"
+"information as content, I2P has no way to protect your anonymity. For\n"
+"example, some mail applications will send the IP address of the machine\n"
+"they are running on to a mail server. There is no way for I2P to filter\n"
+"this, thus using I2P to 'socksify' existing applications is possible, but\n"
+"extremely dangerous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:25
+msgid "And quoting from a 2005 email:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:28
+msgid ""
+"... there is a reason why human and\n"
+"others have both built and abandoned the SOCKS proxies. Forwarding\n"
+"arbitrary traffic is just plain unsafe, and it behooves us as\n"
+"developers of anonymity and security software to have the safety of\n"
+"our end users foremost in our minds."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:36
+msgid ""
+"Hoping that we can simply strap an arbitrary client on top of I2P\n"
+"without auditing both its behavior and its exposed protocols for\n"
+"security and anonymity is naive. Pretty much *every* application\n"
+"and protocol violates anonymity, unless it was designed for it\n"
+"specifically, and even then, most of those do too. That's the\n"
+"reality. End users are better served with systems designed for\n"
+"anonymity and security. Modifying existing systems to work in\n"
+"anonymous environments is no small feat, orders of magnitude more\n"
+"work that simply using the existing I2P APIs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:48
+msgid ""
+"The SOCKS proxy\n"
+"supports standard addressbook names, but not Base64 destinations.\n"
+"Base32 hashes should work as of release 0.7.\n"
+"It supports outgoing connections only, i.e. an I2PTunnel Client.\n"
+"UDP support is stubbed out but not working yet.\n"
+"Outproxy selection by port number is stubbed out."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:57
+#: i2p2www/pages/site/docs/how/network-database.html:183
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:281
+msgid "See Also"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:59
+#, python-format
+msgid ""
+"The notes for Meeting 81 and\n"
+"Meeting 82 in March 2004."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:69
+msgid "If You Do Get Something Working"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:70
+msgid ""
+"Please let us know. And please provide substantial warnings about the\n"
+"risks of socks proxies."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:3
+msgid "July 2018"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:8
+#, python-format
+msgid ""
+"The streaming library is technically part of the \"application\" layer,\n"
+"as it is not a core router function.\n"
+"In practice, however, it provides a vital function for almost all\n"
+"existing I2P applications, by providing a TCP-like\n"
+"streams over I2P, and allowing existing apps to be easily ported to I2P.\n"
+"The other end-to-end transport library for client communication is the\n"
+"datagram library."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:18
+#, python-format
+msgid ""
+"The streaming library is a layer on top of the core \n"
+"I2CP API that allows reliable, in-order, and authenticated streams\n"
+"of messages to operate across an unreliable, unordered, and unauthenticated \n"
+"message layer. Just like the TCP to IP relationship, this streaming \n"
+"functionality has a whole series of tradeoffs and optimizations available, but\n"
+"rather than embed that functionality into the base I2P code, it has been factored\n"
+"off into its own library both to keep the TCP-esque complexities separate and to\n"
+"allow alternative optimized implementations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:29
+msgid ""
+"In consideration of the relatively high cost of messages, \n"
+"the streaming library's protocol for scheduling and delivering those messages has been optimized to\n"
+"allow individual messages passed to contain as much information as is available.\n"
+"For instance, a small HTTP transaction proxied through the streaming library can\n"
+"be completed in a single round trip - the first messages bundle a SYN, FIN, and\n"
+"the small HTTP request payload, and the reply bundles the SYN,\n"
+"FIN, ACK, and the HTTP response payload. While an additional\n"
+"ACK must be transmitted to tell the HTTP server that the SYN/FIN/ACK has been\n"
+"received, the local HTTP proxy can often deliver the full response to the browser \n"
+"immediately."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:42
+msgid ""
+"The streaming library bears much resemblance to an \n"
+"abstraction of TCP, with its sliding windows, congestion control algorithms\n"
+"(both slow start and congestion avoidance), and general packet behavior (ACK,\n"
+"SYN, FIN, RST, rto calculation, etc)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:49
+msgid ""
+"The streaming library is\n"
+"a robust library\n"
+"which is optimized for operation over I2P.\n"
+"It has a one-phase setup, and\n"
+"it contains a full windowing implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:58
+msgid "API"
+msgstr "API"
+
+#: i2p2www/pages/site/docs/api/streaming.html:60
+#, python-format
+msgid ""
+"The streaming library API provides a standard socket paradigm to Java applications.\n"
+"The lower-level I2CP API is completely hidden, except that\n"
+"applications may pass I2CP parameters through the\n"
+"streaming library, to be interpreted by I2CP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:67
+#, python-format
+msgid ""
+"The standard interface to the streaming lib is for the application to use the\n"
+"I2PSocketManagerFactory to create an\n"
+"I2PSocketManager. The application then asks the\n"
+"socket manager for an I2PSession, which will cause\n"
+"a connection to the router via I2CP. The application\n"
+"can then setup connections with an I2PSocket or\n"
+"receive connections with an I2PServerSocket."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:82
+#, python-format
+msgid "Here are the full streaming library Javadocs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:86
+msgid "For a good example of usage, see the i2psnark code."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:91
+msgid "Options and Defaults"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:92
+#, python-format
+msgid ""
+"The options and current default values are listed below.\n"
+"Options are case-sensitive and may be set for the whole router, for a particular client, or for an individual socket on a\n"
+"per-connection basis.\n"
+"Many values are tuned for HTTP performance over typical I2P conditions. Other applications such\n"
+"as peer-to-peer services are strongly encouraged to\n"
+"modify as necessary, by setting the options and passing them via the call to\n"
+"I2PSocketManagerFactory.createManager(_i2cpHost, _i2cpPort, opts).\n"
+"Time values are in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:103
+#, python-format
+msgid ""
+"Note that higher-layer APIs, such as SAM,\n"
+"BOB, and I2PTunnel,\n"
+"may override these defaults with their own defaults.\n"
+"Also note that many options only apply to servers listening for incoming connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:110
+msgid ""
+"As of release 0.9.1, most, but not all, options may be changed on an active socket manager or session.\n"
+"See the javadocs for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/protocol/i2cp.html:103
+#: i2p2www/pages/site/docs/protocol/i2cp.html:478
+msgid "Option"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/protocol/i2cp.html:107
+#: i2p2www/pages/site/docs/protocol/i2cp.html:482
+msgid "Default"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:264
+#: i2p2www/pages/site/docs/how/peer-selection.html:282
+msgid "Notes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:119
+msgid ""
+"Comma- or space-separated list of Base64 peer Hashes used for either access "
+"list or blacklist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:121
+#: i2p2www/pages/site/docs/api/streaming.html:129
+#: i2p2www/pages/site/docs/api/streaming.html:135
+#: i2p2www/pages/site/docs/api/streaming.html:141
+#: i2p2www/pages/site/docs/api/streaming.html:148
+#: i2p2www/pages/site/docs/api/streaming.html:160
+#: i2p2www/pages/site/docs/api/streaming.html:171
+#: 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: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 ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:125
+#: i2p2www/pages/site/docs/api/streaming.html:133
+msgid "Use the access list as a whitelist for incoming connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:127
+msgid "The name or number of the signature type for a transient destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:139
+msgid "Use the access list as a blacklist for incoming connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:153
+msgid "Whether to respond to incoming pings"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:165
+msgid ""
+"Comma- or space-separated list of Base64 peer Hashes to be\n"
+"blacklisted for incoming connections to ALL destinations in the context.\n"
+"This option must be set in the context properties, NOT in the createManager() options argument.\n"
+"Note that setting this in the router context will not affect clients outside the\n"
+"router in a separate JVM and context."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:175
+msgid ""
+"How much transmit data (in bytes) will be accepted that hasn't been written "
+"out yet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:179
+msgid ""
+"When we're in congestion avoidance, we grow the window size at the rate\n"
+"of 1/(windowSize*factor)
. In standard TCP, window sizes are in bytes,\n"
+"while in I2P, window sizes are in messages.\n"
+"A higher number means slower growth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:186
+msgid ""
+"How long to wait after instantiating a new con \n"
+"before actually attempting to connect. If this is\n"
+"<= 0, connect immediately with no initial data. If greater than 0, wait\n"
+"until the output stream is flushed, the buffer fills, \n"
+"or that many milliseconds pass, and include any initial data with the SYN."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:194
+msgid ""
+"How long to block on connect, in milliseconds. Negative means indefinitely. "
+"Default is 5 minutes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:198
+msgid ""
+"Whether to disable warnings in the logs when an incoming connection is "
+"rejected due to connection limits."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:204
+msgid ""
+"Comma- or space-separated list of Base64 peer Hashes or host names to be\n"
+"contacted using an alternate DSA destination.\n"
+"Only applies if multisession is enabled and the primary session is non-DSA\n"
+"(generally for shared clients only).\n"
+"This option must be set in the context properties, NOT in the createManager() options argument.\n"
+"Note that setting this in the router context will not affect clients outside the\n"
+"router in a separate JVM and context."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:216
+msgid ""
+"Whether to listen only for the streaming protocol.\n"
+"Setting to true will prohibit communication with Destinations earlier than release 0.7.1\n"
+"(released March 2009). Set to true if running multiple protocols on this Destination."
+msgstr ""
+
+#: 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:232
+msgid "Idle time before sending a keepalive"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:235
+msgid "Delay before sending an ack"
+msgstr ""
+
+#: 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:242
+msgid ""
+"Initial timeout\n"
+"(if no sharing data available)."
+msgstr ""
+
+#: 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:255
+msgid "if no sharing data available"
+msgstr ""
+
+#: 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: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:284
+msgid "Incoming connection limit (per peer; 0 means disabled)"
+msgstr ""
+
+#: 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:302
+msgid "The MTU in bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:306
+msgid "Maximum number of retransmissions before failure."
+msgstr ""
+
+#: 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: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: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:337
+msgid ""
+"How long to block on read, in milliseconds. Negative means indefinitely."
+msgstr ""
+
+#: 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"
+"while in I2P, window sizes are in messages.\n"
+"A higher number means slower growth."
+msgstr ""
+
+#: 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:369
+msgid ""
+"How long to block on write/flush, in milliseconds. Negative means "
+"indefinitely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:377
+msgid "Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:379
+msgid "See the Streaming Library Specification page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:383
+msgid "Implementation Details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:385
+msgid "Setup"
+msgstr "Fampiomanana"
+
+#: 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"
+"The peer replies with a packet with the SYNCHRONIZE flag set. This packet may contain the initial response data as well."
+msgstr ""
+
+#: 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"
+"These packets will also have the send Stream ID field set to 0.\n"
+"Recipients must buffer packets received on unknown streams for a short period of time, as they may\n"
+"arrive out of order, in advance of the SYNCHRONIZE packet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:398
+msgid "MTU Selection and Negotiation"
+msgstr ""
+
+#: 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"
+"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
+"a large amount of overhead.\n"
+"The MTU is specified by the option i2p.streaming.maxMessageSize.\n"
+"The current default MTU of 1730 was chosen to fit precisely into two 1K I2NP tunnel messages,\n"
+"including overhead for the typical case."
+msgstr ""
+
+#: 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"
+"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
+"(The LeaseSet and Session Keys will not be bundled if an ElGamal Session was previously established).\n"
+"Therefore, the goal of fitting a complete HTTP request in a single 1KB I2NP message is not always attainable.\n"
+"However, the selection of the MTU, together with careful implementation of fragmentation\n"
+"and batching strategies in the tunnel gateway processor, are important factors in network bandwidth,\n"
+"latency, reliability, and efficiency, especially for long-lived connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:419
+#, python-format
+msgid ""
+"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
+"the I2CP layer.\n"
+"There is no checksum field in the streaming protocol."
+msgstr ""
+
+#: 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 clove in a\n"
+"Garlic Message). Message encapsulation is implemented\n"
+"in the underlying I2CP, I2NP, and\n"
+"tunnel message layers. There is no packet delimiter\n"
+"mechanism or payload length field in the streaming protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:437
+msgid "Optional Delay"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:438
+msgid ""
+"Data packets may include an optional delay field specifying the requested delay,\n"
+"in ms, before the receiver should ack the packet.\n"
+"Valid values are 0 to 60000 inclusive.\n"
+"A value of 0 requests an immediate ack.\n"
+"This is advisory only, and receivers should delay slightly so that\n"
+"additional packets may be acknowledged with a single ack.\n"
+"Some implementations may include an advisory value of (measured RTT / 2) in this field.\n"
+"For nonzero optional delay values, receivers should limit the maximum delay\n"
+"before sending an ack to a few seconds at most.\n"
+"Optional delay values greater than 60000 indicate choking, see below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:452
+msgid "Receive Window and Choking"
+msgstr ""
+
+#: 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 simple choke/unchoke indication.\n"
+"Each endpoint must maintain its own estimate of the far-end receive window, in either bytes or packets.\n"
+"The recommended minimum buffer size for receiver implementations is 128 packets or 217 KB (approximately 128x1730).\n"
+"Because of I2P netowrk latency, packet drops, and the resulting congestion control,\n"
+"a buffer of this size is rarely filled.\n"
+"Overflow is, however, likely to occur on high-bandwidth \"local loopback\" (same-router) connections."
+msgstr ""
+
+#: 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"
+"If a packet is received with an optional delay field of value of 60001 or higher,\n"
+"that indicates \"choking\" or a receive window of zero.\n"
+"A packet with an optional delay field of value of 60000 or less indicates \"unchoking\".\n"
+"Packets without an optional delay field do not affect the choke/unchoke state."
+msgstr ""
+
+#: 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"
+"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
+"The choked endpoint should start a \"persist timer\" to control the probing, as in TCP.\n"
+"The unchoking endpoint should send several packets with this field set,\n"
+"or continue sending them periodically until data packets are received again.\n"
+"Maximum time to wait for unchoking is implementation-dependent.\n"
+"Transmitter window size and congestion control strategy after being unchoked is implementation-dependent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:481
+msgid "Congestion Control"
+msgstr ""
+
+#: 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"
+"phases, with exponential backoff.\n"
+"Windowing and acknowledgments use packet count, not byte count."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:489
+msgid "Close"
+msgstr ""
+
+#: 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"
+"The connection is not closed until the peer responds with the CLOSE flag.\n"
+"CLOSE packets may contain data as well."
+msgstr ""
+
+#: 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"
+"This function is provided in streaming.\n"
+"Pings and pongs may not be combined with a standard streaming packet;\n"
+"if the ECHO option is set, then\n"
+"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are ignored."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:506
+msgid ""
+"A ping packet must have the ECHO, SIGNATURE_INCLUDED, and FROM_INCLUDED flags set.\n"
+"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
+"The sendStreamId may or may not correspond to an existing connection."
+msgstr ""
+
+#: 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 sendStreamId from the ping.\n"
+"Prior to release 0.9.18, the pong packet does not include any payload that was contained in the ping."
+msgstr ""
+
+#: 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: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:528
+msgid "Control Block Sharing"
+msgstr ""
+
+#: 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"
+"(window size, round trip time, round trip time variance)\n"
+"across connections to the same remote peer.\n"
+"This is used for \"temporal\" sharing at connection open/close time,\n"
+"not \"ensemble\" sharing during a connection (See\n"
+"RFC 2140).\n"
+"There is a separate share per ConnectionManager (i.e. per local Destination)\n"
+"so that there is no information leakage to other Destinations on the\n"
+"same router.\n"
+"The share data for a given peer expires after a few minutes.\n"
+"The following Control Block Sharing parameters can be set per router:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:550
+msgid "Other Parameters"
+msgstr ""
+
+#: 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:570
+#: i2p2www/pages/site/docs/how/network-database.html:895
+msgid "History"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:571
+msgid ""
+"The streaming library has grown organically for I2P - first mihi implemented the\n"
+"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
+"size of 1 message (requiring an ACK before sending the next one), and then it was\n"
+"refactored out into a generic streaming interface (mirroring TCP sockets) and the\n"
+"full streaming implementation was deployed with a sliding window protocol and \n"
+"optimizations to take into account the high bandwidth x delay product. Individual\n"
+"streams may adjust the maximum packet size and other options. The default\n"
+"message size is selected to fit precisely in two 1K I2NP tunnel messages,\n"
+"and is a reasonable tradeoff between the bandwidth costs of \n"
+"retransmitting lost messages, and the latency and overhead of multiple messages."
+msgstr ""
+
+#: 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
+#: i2p2www/pages/site/docs/how/peer-selection.html:265
+#: 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: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: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:592
+msgid "Additional tuning of the streaming lib parameters may be necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:595
+#, python-format
+msgid ""
+"Another area for research is the interaction of the streaming lib with the\n"
+"NTCP and SSU transport layers.\n"
+"See the NTCP discussion page for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:600
+msgid ""
+"The interaction of the routing algorithms with the streaming lib strongly affects performance.\n"
+"In particular, random distribution of messages to multiple tunnels in a pool\n"
+"leads to a high degree of out-of-order delivery which results in smaller window\n"
+"sizes than would otherwise be the case. The router currently routes \n"
+"messages for a single from/to destination pair through a consistent set \n"
+"of tunnels, until tunnel expiration or delivery failure. The router's \n"
+"failure and tunnel selection algorithms should be reviewed for possible \n"
+"improvements."
+msgstr ""
+
+#: 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:613
+msgid "The DELAY_REQUESTED field could be used more."
+msgstr ""
+
+#: 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:619
+msgid "Don't send the MTU in a retransmission."
+msgstr ""
+
+#: 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:627
+msgid ""
+"zzz has added debug code to the streaming library to log packets in a wireshark-compatible\n"
+"(pcap) format; Use this to further analyze performance.\n"
+"The format may require enhancement to map more streaming lib parameters to TCP fields."
+msgstr ""
+
+#: 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"
+"This would unfortunately be incompatible with the streaming lib\n"
+"but it would be good to compare the performance of the two."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:3
+msgid "January 2017"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:7
+msgid ""
+"There are several bittorrent clients and trackers on I2P.\n"
+"As I2P addressing uses a Destination instead of an IP and port, minor\n"
+"changes are required to tracker and client software for operation on I2P.\n"
+"These changes are specified below.\n"
+"Note carefully the guidelines for compatibility with older I2P clients and trackers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:15
+msgid ""
+"This page specifies protocol details common to all clients and trackers.\n"
+"Specific clients and trackers may implement other unique features or protocols."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:20
+msgid "We welcome additional ports of client and tracker software to I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:26
+msgid "Announces"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:27
+msgid ""
+"Clients generally include a fake port=6881 parameter in the announce, for compatibility with older trackers.\n"
+"Trackers may ignore the port parameter, and should not require it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:32
+#, python-format
+msgid ""
+"The ip parameter is the base 64 of the client's\n"
+"Destination,\n"
+"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n"
+"Destinations\n"
+"are 387+ bytes, so the Base 64 is 516+ bytes.\n"
+"Clients generally append \".i2p\" to the Base 64 Destination for compatibility with older trackers.\n"
+"Trackers should not require an appended \".i2p\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:42
+msgid "Other parameters are the same as in standard bittorrent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:46
+msgid ""
+"Current Destinations for clients are 387 or more bytes (516 or more in Base 64 encoding).\n"
+"A reasonable maximum to assume, for now, is 475 bytes.\n"
+"As the tracker must decode the Base64 to deliver compact responses (see below),\n"
+"the tracker should probably decode and reject bad Base64 when announced."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:53
+msgid ""
+"The default response type is non-compact. Clients may request a compact response with\n"
+"the parameter compact=1. A tracker may, but is not required to, return\n"
+"a compact response when requested."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:59
+msgid ""
+"Developers of new I2P clients\n"
+"are strongly encouraged to implemenent announces over their own tunnel rather than\n"
+"the HTTP client proxy at port 4444. Doing so is both more efficient and it allows\n"
+"destination enforcement by the tracker (see below)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:66
+msgid ""
+"There are no known I2P clients or trackers that currently support UDP "
+"announce/responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:71
+msgid "Non-Compact Tracker Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:72
+msgid ""
+"The non-compact response is just as in standard bittorrent, with an I2P "
+"\"ip\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:76
+msgid ""
+"Trackers generally include a fake port key, or use the port from the announce, for compatibility with older clients.\n"
+"Clients must ignore the port parameter, and should not require it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:81
+#, python-format
+msgid ""
+"The value of the ip key is the base 64 of the client's\n"
+"Destination, as described above.\n"
+"Trackers generally append \".i2p\" to the Base 64 Destination if it wasn't in the announce ip, for compatibility with older clients.\n"
+"Clients should not require an appended \".i2p\" in the responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:88
+msgid "Other response keys and values are the same as in standard bittorrent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:94
+msgid "Compact Tracker Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:95
+#, python-format
+msgid ""
+"In the compact response, the value of the \"peers\" dictionary key is a single byte string,\n"
+"whose length is a multiple of 32 bytes.\n"
+"This string contains the concatenated\n"
+"32-byte SHA-256 Hashes\n"
+"of the binary\n"
+"Destinations\n"
+"of the peers.\n"
+"This hash must be computed by the tracker, unless destination enforcement\n"
+"(see below) is used, in which case the hash delivered in the X-I2P-DestHash\n"
+"or X-I2P-DestB32 HTTP headers may be converted to binary and stored.\n"
+"The peers key may be absent, or the peers value may be zero-length."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:109
+msgid ""
+"While compact response support is optional for both clients and trackers, it is highly\n"
+"recommended as it reduces the nominal response size by over 90%."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:116
+msgid "Destination Enforcement"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:117
+#, python-format
+msgid ""
+"Some, but not all, I2P bittorrent clients announce over their own tunnels.\n"
+"Trackers may choose to prevent spoofing by requiring this, and verifying the\n"
+"client's\n"
+"Destination\n"
+"using HTTP headers added by the I2PTunnel HTTP Server tunnel.\n"
+"The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which are\n"
+"different formats for the same information.\n"
+"These headers cannot be spoofed by the client.\n"
+"A tracker enforcing destinations need not require the ip announce parameter at all."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:129
+msgid ""
+"As several clients use the HTTP proxy instead of their own tunnel for announces,\n"
+"destination enforcement will prevent usage by those clients unless or until\n"
+"those clients are converted to announcing over their own tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:135
+msgid ""
+"Unfortunately, as the network grows, so will the amount of maliciousness,\n"
+"so we expect that all trackers will eventually enforce destinations.\n"
+"Both tracker and client developers should anticipate it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:143
+msgid "Announce Host Names"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:144
+#, python-format
+msgid ""
+"Announce URL host names in torrent files generally follow the\n"
+"I2P naming standards.\n"
+"In addition to host names from address books and \".b32.i2p\" Base 32 hostnames,\n"
+"the full Base 64 Destination (with [or without?] \".i2p\" appended) should be supported.\n"
+"Non-open trackers should recognize their own host name in any of these formats."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:152
+msgid ""
+"To preserve anonymity,\n"
+"clients should generally ignore non-I2P announce URLs in torrent files."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:159
+msgid "Client Connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:160
+msgid ""
+"Client-to-client connections use the standard protocol over TCP.\n"
+"There are no known I2P clients that currently support uTP communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:165
+#, python-format
+msgid ""
+"I2P uses 387+ byte Destinations\n"
+"for addresses, as explained above."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:170
+msgid ""
+"If the client has only the hash of the destination (such as from a compact response or PEX), it must perform a lookup\n"
+"by encoding it with Base 32, appending \".b32.i2p\", and querying the Naming Service,\n"
+"which will return the full Destination if available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:176
+msgid ""
+"If the client has a peer's full Destination it received in a non-compact response, it should use it\n"
+"directly in the connection setup.\n"
+"Do not convert a Destination back to a Base 32 hash for lookup, this is quite inefficient."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:183
+msgid "Cross-Network Prevention"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:184
+msgid ""
+"To preserve anonymity,\n"
+"I2P bittorrent clients generally do not support non-I2P announces or peer connections.\n"
+"I2P HTTP outproxies often block announces.\n"
+"There are no known SOCKS outproxies supporting bittorrent traffic."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:191
+msgid ""
+"To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers often\n"
+"block accesses or announces that contain an X-Forwarded-For HTTP header.\n"
+"Trackers should reject standard network announces with IPv4 or IPv6 IPs, and not deliver them in responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:200
+#, python-format
+msgid ""
+"I2P PEX is based on ut_pex.\n"
+"As there does not appear to be a formal specification of ut_pex available,\n"
+"it may be necessary to review the libtorrent source for assistance.\n"
+"It is an extension message, identified as \"i2p_pex\" in\n"
+"the extension handshake.\n"
+"It contains a bencoded dictionary with up to 3 keys, \"added\", \"added.f\", and \"dropped\".\n"
+"The added and dropped values are each a single byte string, whose length is a multiple of 32 bytes.\n"
+"These byte strings are the concatenated SHA-256 Hashes of the binary\n"
+"Destinations\n"
+"of the peers.\n"
+"This is the same format as the peers dictionary value in the i2p compact response format specified above.\n"
+"The added.f value, if present, is the same as in ut_pex."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:218
+msgid ""
+"DHT support is included in the i2psnark client as of version 0.9.2.\n"
+"Preliminary differences from\n"
+"BEP 5\n"
+"are described below, and are subject to change.\n"
+"Contact the I2P developers if you wish to develop a client supporting DHT."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:226
+msgid ""
+"Unlike standard DHT, I2P DHT does not use a bit in the options handshake, or the PORT message.\n"
+"It is advertised with an extension message, identified as \"i2p_dht\" in\n"
+"the extension handshake.\n"
+"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", both integers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:233
+msgid ""
+"The UDP (datagram) port listed in the compact node info is used\n"
+"to receive repliable (signed) datagrams.\n"
+"This is used for queries, except for announces.\n"
+"We call this the \"query port\".\n"
+"This is the \"port\" value from the extension message.\n"
+"Queries use I2CP protocol number 17."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:242
+msgid ""
+"In addition to that UDP port, we use a second datagram\n"
+"port equal to the query port + 1. This is used to receive\n"
+"unsigned (raw) datagrams for replies, errors, and announces.\n"
+"This port provides increased efficiency since replies\n"
+"contain tokens sent in the query, and need not be signed.\n"
+"We call this the \"response port\".\n"
+"This is the \"rport\" value from the extension message.\n"
+"It must be 1 + the query port.\n"
+"Responses and announces use I2CP protocol number 18."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:254
+msgid ""
+"Compact peer info is 32 bytes (32 byte SHA256 Hash)\n"
+"instead of 4 byte IP + 2 byte port. There is no peer port.\n"
+"In a response, the \"values\" key is a list of strings, each containing a single compact peer info."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:260
+msgid ""
+"Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + 2 byte port)\n"
+"instead of 20 byte SHA1 Hash + 4 byte IP + 2 byte port.\n"
+"In a response, the \"nodes\" key is a\n"
+"single byte string with concatenated compact node info."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:267
+msgid ""
+"Secure node ID requirement: To make various DHT attacks more difficult,\n"
+"the first 4 bytes of the Node ID must match the first 4 bytes of the destination Hash,\n"
+"and the next two bytes of the Node ID must match the next two bytes of the\n"
+"destination hash exclusive-ORed with the port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:274
+msgid ""
+"In a torrent file,\n"
+"the trackerless torrent dictionary \"nodes\" key is TBD.\n"
+"It could be a list of\n"
+"32 byte binary strings (SHA256 Hashes) instead of a list of lists\n"
+"containing a host string and a port integer.\n"
+"Alternatives: A single byte string with concatenated hashes,\n"
+"or a list of strings alone."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:286
+msgid "Datagram (UDP) Trackers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:287
+msgid ""
+"UDP tracker support in clients and trackers is not yet available.\n"
+"Preliminary differences from\n"
+"BEP 15\n"
+"are described below, and are subject to change.\n"
+"Contact the I2P developers if you wish to develop a client or tracker supporting datagram announces."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:295
+msgid ""
+"A UDP tracker listens on two ports.\n"
+"The \"query port\" is the advertised port, and is used to receive repliable (signed) datagrams, for the connect request only.\n"
+"The \"response port\" is used to receive unsigned (raw) datagrams, and is the source port for all replies.\n"
+"The response port is arbitrary.\n"
+"A client sends and receives on a single port only.\n"
+"It receives only unsigned (raw) datagrams.\n"
+"Raw datagrams provides increased efficiency for replies since they contain tokens sent in the query, and need not be signed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:305
+msgid ""
+"In the announce request, the 4-byte IP is replaced by a 32-byte hash, and the port is still present,\n"
+"although it may be ignored by the tracker.\n"
+"In the announce response, each 4-byte IP and 2-byte port is replaced by a 32-byte hash (compact peer info), and no port is present.\n"
+"The client sends the announce request and scrape request to the source port in the announce response packet.\n"
+"The connect request, connect response, scrape request, scrape response, and error response are the same as in BEP 15."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:313
+msgid ""
+"Source addresses in I2P cannot be spoofed, so it is possible to use a simplified protocol\n"
+"with 2 packets instead of 4, omitting the connect request and response.\n"
+"In this case, the announce request would be a repliable datagram sent to the tracker's query port,\n"
+"and the tracker would not require a response port.\n"
+"While this is more efficient, it would be more difficult to modify an existing tracker to support this mode.\n"
+"The URL for the 4-packet-mode tracker would use standard \"udp://\" prefix. \n"
+"The URL for a modified 2-packet-mode tracker would require a different prefix if both modes are supported in I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:326
+#: i2p2www/pages/site/docs/how/intro.html:184
+msgid "Additional Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:328
+#, python-format
+msgid ""
+"I2P bittorrent standards are generally discussed on %(zzz)s."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:331
+#, python-format
+msgid ""
+"A chart of current tracker software capabilities is also available there."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:334
+#, python-format
+msgid ""
+"The\n"
+"I2P bittorrent FAQ"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:338
+#, python-format
+msgid "DHT on I2P discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:2
+msgid "Embedding I2P in your Application"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:3
+msgid "November 2017"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:8
+msgid ""
+"This page is about bundling the entire I2P router binary with your application.\n"
+"It is not about writing an application to work with I2P (either bundled or external)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:13
+msgid ""
+"Lots of projects are bundling, or talking about bundling, I2P. That's great if done right.\n"
+"If done wrong, it could cause real harm to our network.\n"
+"The I2P router is complex, and it can be a challenge to hide all the complexity from your users.\n"
+"This page discusses some general guidelines."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:23
+msgid "Talk to us"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:24
+msgid ""
+"Start a dialog. We're here to help. Applications that embed I2P are the most promising - and exciting -\n"
+"opportunities for us to grow the network and improve anonymity for everyone."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:30
+msgid "Choose your router wisely"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:31
+msgid ""
+"If your application is in Java or Scala, it's an easy choice - use the Java router.\n"
+"If in C/C++, we recommend i2pd. The development of i2pcpp has stopped.\n"
+"For apps in other languages, best to use SAM or BOB or SOCKS and bundle the Java router as a separate process.\n"
+"Some of the following only applies to the Java router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:39
+msgid "Licensing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:40
+msgid ""
+"Ensure you meet the license requirements of the software you are bundling."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:45
+msgid "Verify default configuration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:46
+msgid ""
+"A correct default configuration is crucial. Most users will not change the defaults.\n"
+"The defaults for your application may need to be different than the defaults for the router you are bundling.\n"
+"Override the router defaults if necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:51
+msgid ""
+"Some important defaults to review: Max bandwidth, tunnel quantity and length, max participating tunnels.\n"
+"A lot of this depends on the expected bandwidth and usage patterns of your app."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:55
+msgid ""
+"Configure enough bandwidth and tunnels to allow your users to contribute to the network.\n"
+"Consider disabling external I2CP, as you probably don't need it and it would conflict with any other running I2P instance.\n"
+"Also look at the configs for disabling killing of the JVM on exit, for example."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:62
+msgid "Participating Traffic Considerations"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:63
+msgid ""
+"It may be tempting for you to disable participating traffic.\n"
+"There's several ways to do this (hidden mode, setting max tunnels to 0, setting shared bandwidth below 12 KBytes/sec).\n"
+"Without participating traffic, you don't have to worry about graceful shutdown,\n"
+"your users don't see bandwidth usage not generated by them, etc.\n"
+"However, there's lots of reasons why you should allow participating tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:70
+msgid ""
+"First of all, the router doesn't work that well if it doesn't have a chance to \"integrate\" with the network,\n"
+"which is helped tremendously by others building tunnels through you."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:74
+msgid ""
+"Secondly, over 90% of the routers in the current network allow participating traffic.\n"
+"It's the default in the Java router.\n"
+"If your application doesn't route for others and it gets really popular, then it's a leech on the network,\n"
+"and it upsets the balance we have now.\n"
+"If it gets really big, then we become Tor, and spend our time begging for people to enable relaying."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:81
+msgid ""
+"Thirdly, participating traffic is cover traffic that helps your users' "
+"anonymity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:84
+msgid ""
+"We strongly discourage you from disabling participating traffic by default.\n"
+"If you do this and your application gets hugely popular, it could break the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:90
+msgid "Persistence"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:91
+msgid ""
+"You must save the router's data (netdb, configuration, etc.) between runs of the router.\n"
+"I2P does not work well if you must reseed each startup, and that's a huge load on our reseed servers, and not very good for anonymity either.\n"
+"Even if you bundle router infos, I2P needs saved profile data for best performance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:99
+msgid "Configurability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:100
+msgid ""
+"Give your users a way to change the configuration of the important settings.\n"
+"We understand that you will probably want to hide most of I2P's complexity, but it's important to show some basic settings.\n"
+"In addition to the defaults above, some network settings such as UPnP, IP/port may be helpful."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:108
+msgid "Floodfill Considerations"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:109
+msgid ""
+"Above a certain bandwidth setting, and meeting other health criteria, your router will become floodfill,\n"
+"which may cause a large increase in connections and memory usage (at least with the Java router).\n"
+"Think about whether that's OK. You can disable floodfill, but then your fastest users aren't contributing what they could.\n"
+"It also depends on the typical uptime for your application."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:119
+msgid "Reseeding"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:120
+msgid ""
+"Decide if you are bundling router infos or using our reseed hosts.\n"
+"The Java reseed host list is in the source code, so if you keep your source up to date, the host list will be also.\n"
+"Be aware of possible blocking by hostile governments."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:129
+msgid "Reduce Network Resource Usage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:130
+msgid ""
+"Consider setting your application tunnels to delay-open, reduce-on-idle and/or close-on-idle.\n"
+"This is straightforward if using i2ptunnel but you'll have to implement some of it yourself if using I2CP directly.\n"
+"See i2psnark for code that reduces tunnel count and then closes the tunnel, even in the presence of some background DHT activity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:138
+msgid "Updatability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:139
+msgid ""
+"Have an auto-update feature if at all possible, or at least auto-notification of a new version.\n"
+"Our biggest fear is a huge number of routers out there that can't be updated.\n"
+"We have about 6-8 releases a year of the Java router, and it's critical to the health of the network that the users keep up.\n"
+"We usually have over 80% of the network on the latest release within 6 weeks after the release, and we'd like to keep it that way.\n"
+"You don't need to worry about disabling the router's built-in auto-update function, as that code is in the router console,\n"
+"which you presumably are not bundling."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:150
+msgid "Rollout"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:151
+msgid ""
+"Have a gradual rollout plan. Don't overwhelm the network all at once.\n"
+"We currently have approximately 25K unique users per day and 40K uniques per month.\n"
+"We are probably able to handle growth of 2-3X per year without too much issue.\n"
+"If you anticipate a faster rampup than that, OR the bandwidth distribution (or uptime distribution,\n"
+"or any other significant characteristic) of your userbase is significantly different from our current userbase,\n"
+"we really need to have a discussion.\n"
+"The bigger your growth plans, the more important everthing else in this checklist is."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:163
+msgid "Design for and Encourage Long Uptimes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:164
+msgid ""
+"Tell your users that I2P works best if it keeps running.\n"
+"It may be several minutes after startup before it works well, and even more after first install.\n"
+"If your average uptime is less than an hour, I2P is probably the wrong solution."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:172
+msgid "Show Status"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:173
+msgid ""
+"Provide some indication to the user that the application tunnels are ready. "
+"Encourage patience."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:178
+msgid "Graceful Shutdown"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:179
+msgid ""
+"If possible, delay the shutdown until your participating tunnels expire.\n"
+"Don't let your users break tunnels easily, or at least ask them to confirm."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:185
+msgid "Education and Donation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:186
+msgid ""
+"It would be nice if you give your users links to learn more about I2P and to"
+" donate."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:192
+msgid "External Router Option"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:193
+msgid ""
+"Depending on your user base and application,\n"
+"it may be helpful to provide an option or a separate package to use an external router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:200
+msgid "Use of other Common Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:201
+msgid ""
+"If you plan to use or link to other common I2P services (news feeds, hosts.txt subscriptions, trackers, outproxies, etc.),\n"
+"make sure you aren't overloading them,\n"
+"and talk to the people who are running them to make sure it's ok."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:209
+msgid "Time / NTP Issues"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:210
+msgid ""
+"I2P includes an SNTP client. I2P requires correct time to operate.\n"
+"It will compensate for a skewed system clock but this may delay startup. You may disable I2P's SNTP queries,\n"
+"but this isn't advised unless your application makes sure the system clock is correct."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:218
+msgid "Choose What and How you Bundle"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:219
+msgid ""
+"At a minimum you will need i2p.jar, router.jar, streaming.jar, and mstreaming.jar.\n"
+"You may omit the two streaming jars for a datagram-only app.\n"
+"Some apps may need more, e.g. i2ptunnel.jar or addressbook.jar.\n"
+"Don't forget jbigi.jar, or a subset of it for the platforms you support, to make the crypto much faster.\n"
+"We are currently building them for Java 7, as of 0.9.24. The source is mostly compatible with Java 6 if you want to do your own compile,\n"
+"but we may start using Java 7 features at any time without notice.\n"
+"If you're building Debian / Ubuntu packages, you should require the I2P package from our PPA instead of bundling it.\n"
+"You almost certainly do not need susimail, susidns, the router console, and i2psnark, for example."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:229
+msgid ""
+"The following files should be included in the I2P installation directory, specified with the \"i2p.dir.base\" property.\n"
+"Don't forget certificates/reseed and certificates/ssl, required for reseeding, and blocklist.txt for IP validation.\n"
+"The geoip directory is optional, but recommended so the router can make decisions based on location.\n"
+"The hosts.txt file may be necessary, you may modify it to include any hosts your application uses.\n"
+"You may add a router.config file to the base directory to override initial defaults."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:236
+msgid ""
+"License requirements may require you to include the LICENSES.txt file and "
+"the licenses directory."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:242
+msgid "You may also wish to bundle a hosts.txt file."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:245
+msgid "Be sure to specify a Java 7 bootclasspath if compiling with Java 8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:253
+msgid "Android considerations"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:254
+msgid ""
+"Our Android router app may be shared by multiple clients.\n"
+"If it is not installed, the user will be prompted when he starts a client app."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:258
+msgid ""
+"Some developers have expressed concern that this is a poor user experience,\n"
+"and they wish to embed the router in their app.\n"
+"We do have an Android router service library on our roadmap, which could make embedding easier.\n"
+"More information needed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:264
+#: i2p2www/pages/site/docs/applications/embedding.html:275
+msgid "If you require assistance, please contact us."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:270
+msgid "Maven jars"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:271
+msgid ""
+"We have a limited number of our jars on Maven Central.\n"
+"There are numerous trac tickets for us to address that will improve and expand the released jars on Maven Central."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:281
+msgid "Datagram (DHT) considerations"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:282
+msgid ""
+"If your application is using I2P datagrams, e.g. for a DHT,\n"
+"there's lots of advanced options available to reduce overhead and increase reliability.\n"
+"This may take some time and experimentation to get working well.\n"
+"Be aware of size/reliability tradeoffs. Talk to us for help.\n"
+"It is possible - and recommended - to use Datagrams and Streaming on the same Destination.\n"
+"Don't create separate Destinations for this.\n"
+"Don't try to store your unrelated data in the existing network DHTs (iMule, bote, bittorrent, and router).\n"
+"Build your own. If you are hardcoding seed nodes, we recommend that you have several."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:295
+msgid "Comarketing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:296
+msgid ""
+"Let's work together. Don't wait until it's done.\n"
+"Give us your Twitter handle and start tweeting about it, we will return the favor."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:302
+msgid "Malware"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:303
+msgid ""
+"Please don't use I2P for evil.\n"
+"It could cause great harm both to our network and our reputation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:309
+msgid "Join Us"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:310
+msgid ""
+"This may be obvious, but join the community. Run I2P 24/7. Start an eepsite about your project.\n"
+"Hang out in IRC #i2p-dev. Post on the forums. Spread the word.\n"
+"We can help get you users, testers, translators, or even coders."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:318
+msgid "Application Examples"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:319
+msgid ""
+"You may wish to install and play with the I2P Android app, and look at its code, for an example of an application that bundles the router.\n"
+"See what we expose to the user and what we hide.\n"
+"Look at the state machine we use to start and stop the router.\n"
+"Other examples are: Vuze, the Nightweb Android app, iMule, TAILS, iCloak, and Monero."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:327
+msgid "Code Example"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:328
+msgid ""
+"None of the above actually tells you how to write your code to\n"
+"bundle the Java router, so following is a brief example."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/embedding.html:358
+msgid ""
+"This code is for the case where your application starts the router, as in our Android app.\n"
+"You could also have the router start the application via the clients.config and i2ptunnel.config files,\n"
+"together with Jetty webapps,\n"
+"as is done in our Java packages.\n"
+"As always, state management is the difficult part."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:3
+msgid "February 2014"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:8
+#, python-format
+msgid ""
+"Clients may be started directly by the router when they are listed\n"
+"in the clients.config file.\n"
+"These clients may be \"managed\" or \"unmanaged\".\n"
+"This is handled by the ClientAppManager.\n"
+"Additionally, managed or unmanaged clients may register with the\n"
+"ClientAppManager so that other clients may retrieve a reference to them.\n"
+"There is also a simple Port Mapper facility for clients to register an\n"
+"internal port that other clients may look up."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:21
+msgid ""
+"As of release 0.9.4, the router supports managed clients.\n"
+"Managed clients are instantiated and started by the ClientAppManager.\n"
+"The ClientAppManager maintains a reference to the client and receives updates on the client's state.\n"
+"Managed clients are preferred, as it is much easier to implement state tracking\n"
+"and to start and stop a client. It also is much easier to avoid static references in the client code\n"
+"which could lead to excessive memory usage after a client is stopped.\n"
+"Managed clients may be started and stopped by the user in the router console,\n"
+"and are stopped at router shutdown."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:31
+msgid ""
+"Managed clients implement either the net.i2p.app.ClientApp or net.i2p.router.app.RouterApp interface.\n"
+"Clients implementing the ClientApp interface must provide the following constructor:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:38
+msgid ""
+"Clients implementing the RouterApp interface must provide the following "
+"constructor:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:44
+msgid "The arguments provided are specified in the clients.config file."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:48
+msgid "Unmanaged Clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:49
+msgid ""
+"If the main class specified in the clients.config file does not implement a managed interface,\n"
+"it will be started with main() with the arguments specified,\n"
+"and stopped with main() with the arguments specified.\n"
+"The router does not maintain a reference, since all interactions are via the static main() method.\n"
+"The console cannot provide accurate state information to the user."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:57
+msgid "Registered Clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:58
+msgid ""
+"Clients, whether managed or unmanaged, may register with the ClientAppManager\n"
+"so that other clients may retrieve a reference to them.\n"
+"Registration is by name.\n"
+"Known registered clients are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:68
+msgid "Port Mapper"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/managed-clients.html:69
+msgid ""
+"The router also provides a simple mechanism for clients to find an internal socket service,\n"
+"such as the HTTP proxy. This is provided by the Port Mapper.\n"
+"Registration is by name.\n"
+"Clients that register generally provide an internal emulated socket on that port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:2
+msgid "Supported Applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:5
+#: i2p2www/pages/site/docs/applications/supported.html:188
+msgid "Blogging, Forums, and Wikis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:7
+#: i2p2www/pages/site/docs/applications/supported.html:234
+msgid "Decentralized File Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:10
+#: i2p2www/pages/site/docs/applications/supported.html:246
+msgid "Development Tools"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:13
+#: i2p2www/pages/site/docs/applications/supported.html:248
+msgid "Version control"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:17
+#: i2p2www/pages/site/docs/applications/supported.html:267
+msgid "Domain Naming"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:19
+#: i2p2www/pages/site/docs/applications/supported.html:285
+msgid "Email"
+msgstr "Mailaka"
+
+#: i2p2www/pages/site/docs/applications/supported.html:22
+#: i2p2www/pages/site/docs/applications/supported.html:330
+msgid "File Sharing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:25
+#: i2p2www/pages/site/docs/applications/supported.html:332
+msgid "BitTorrent clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:27
+#: i2p2www/pages/site/docs/applications/supported.html:375
+msgid "BitTorrent trackers and indexers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:36
+#: i2p2www/pages/site/docs/applications/supported.html:442
+msgid "Network Administration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:39
+#: i2p2www/pages/site/docs/applications/supported.html:444
+msgid "General-purpose socket utilities"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:46
+#: i2p2www/pages/site/docs/applications/supported.html:485
+msgid "Real-time Chat"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:49
+#: i2p2www/pages/site/docs/applications/supported.html:487
+msgid "Instant messaging clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:51
+#: i2p2www/pages/site/docs/applications/supported.html:497
+msgid "IRC clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:53
+#: i2p2www/pages/site/docs/applications/supported.html:548
+msgid "IRC servers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:58
+#: i2p2www/pages/site/docs/applications/supported.html:564
+msgid "Web Browsing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:61
+#: i2p2www/pages/site/docs/applications/supported.html:566
+msgid "Anonymous websites"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:63
+#: i2p2www/pages/site/docs/applications/supported.html:615
+msgid "Proxy software"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:65
+#: i2p2www/pages/site/docs/applications/supported.html:640
+msgid "Inproxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:67
+#: i2p2www/pages/site/docs/applications/supported.html:681
+msgid "Outproxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:72
+#: i2p2www/pages/site/docs/applications/supported.html:695
+msgid "Website Hosting"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:75
+#: i2p2www/pages/site/docs/applications/supported.html:710
+msgid "Web servers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:82
+#, python-format
+msgid ""
+"This is intended to be a comprehensive listing of applications used with\n"
+"I2P. If you know of something that's missing please submit a ticket on\n"
+"Trac, and be sure to select the\n"
+"“www” component in the submission form."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:89
+msgid ""
+"\n"
+"Supported applications are tagged with one or more of the following:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:94
+#: i2p2www/pages/site/docs/applications/supported.html:281
+#: i2p2www/pages/site/docs/applications/supported.html:313
+#: i2p2www/pages/site/docs/applications/supported.html:338
+#: i2p2www/pages/site/docs/applications/supported.html:707
+msgid "bundled"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:97
+msgid ""
+"Bundled application — I2P ships with a few officially\n"
+"supported applications that let new users take immediate advantage of\n"
+"some of I2P's more useful capabilities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:105
+#: i2p2www/pages/site/docs/applications/supported.html:197
+#: i2p2www/pages/site/docs/applications/supported.html:210
+#: i2p2www/pages/site/docs/applications/supported.html:222
+#: i2p2www/pages/site/docs/applications/supported.html:230
+#: i2p2www/pages/site/docs/applications/supported.html:243
+#: i2p2www/pages/site/docs/applications/supported.html:294
+#: i2p2www/pages/site/docs/applications/supported.html:407
+#: i2p2www/pages/site/docs/applications/supported.html:429
+#: i2p2www/pages/site/docs/applications/supported.html:438
+#: i2p2www/pages/site/docs/applications/supported.html:526
+msgid "plugin"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:108
+#, python-format
+msgid ""
+"Third-party plugin — I2P's plugin system provides convenient\n"
+"deployment of I2P-enabled applications and allows tighter integration\n"
+"with the router. Plugins are [reviewed by the community](http://%(plugins)s) to identify security and\n"
+"anonymity issues."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:119
+#: i2p2www/pages/site/docs/applications/supported.html:222
+#: i2p2www/pages/site/docs/applications/supported.html:230
+#: i2p2www/pages/site/docs/applications/supported.html:243
+#: i2p2www/pages/site/docs/applications/supported.html:254
+#: i2p2www/pages/site/docs/applications/supported.html:263
+#: i2p2www/pages/site/docs/applications/supported.html:326
+#: i2p2www/pages/site/docs/applications/supported.html:345
+#: i2p2www/pages/site/docs/applications/supported.html:356
+#: i2p2www/pages/site/docs/applications/supported.html:371
+#: i2p2www/pages/site/docs/applications/supported.html:417
+#: i2p2www/pages/site/docs/applications/supported.html:429
+#: i2p2www/pages/site/docs/applications/supported.html:438
+#: i2p2www/pages/site/docs/applications/supported.html:453
+#: i2p2www/pages/site/docs/applications/supported.html:459
+#: i2p2www/pages/site/docs/applications/supported.html:465
+#: i2p2www/pages/site/docs/applications/supported.html:475
+#: i2p2www/pages/site/docs/applications/supported.html:481
+#: i2p2www/pages/site/docs/applications/supported.html:493
+#: i2p2www/pages/site/docs/applications/supported.html:526
+#: i2p2www/pages/site/docs/applications/supported.html:532
+#: i2p2www/pages/site/docs/applications/supported.html:538
+#: i2p2www/pages/site/docs/applications/supported.html:544
+#: i2p2www/pages/site/docs/applications/supported.html:621
+#: i2p2www/pages/site/docs/applications/supported.html:630
+#: i2p2www/pages/site/docs/applications/supported.html:636
+#: i2p2www/pages/site/docs/applications/supported.html:707
+#: i2p2www/pages/site/docs/applications/supported.html:722
+#: i2p2www/pages/site/docs/applications/supported.html:728
+#: i2p2www/pages/site/docs/applications/supported.html:734
+#: i2p2www/pages/site/docs/applications/supported.html:740
+msgid "standalone"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:119
+#: i2p2www/pages/site/docs/applications/supported.html:197
+#: i2p2www/pages/site/docs/applications/supported.html:204
+#: i2p2www/pages/site/docs/applications/supported.html:210
+#: i2p2www/pages/site/docs/applications/supported.html:216
+#: i2p2www/pages/site/docs/applications/supported.html:365
+#: i2p2www/pages/site/docs/applications/supported.html:389
+#: i2p2www/pages/site/docs/applications/supported.html:398
+#: i2p2www/pages/site/docs/applications/supported.html:554
+#: i2p2www/pages/site/docs/applications/supported.html:560
+msgid "standalone/mod"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:122
+msgid ""
+"Third-party standalone application — Many standard network\n"
+"applications only require careful setup and configuration to communicate\n"
+"anonymously over I2P. These are tagged with standalone. Some\n"
+"applications, tagged with standalone/mod, require patching to\n"
+"function properly over I2P or to prevent inadvertent disclosure of\n"
+"identifying information such as the user's hostname or external IP\n"
+"address."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:135
+#: i2p2www/pages/site/docs/applications/supported.html:304
+#: i2p2www/pages/site/docs/applications/supported.html:574
+#: i2p2www/pages/site/docs/applications/supported.html:584
+#: i2p2www/pages/site/docs/applications/supported.html:593
+#: i2p2www/pages/site/docs/applications/supported.html:599
+#: i2p2www/pages/site/docs/applications/supported.html:605
+#: i2p2www/pages/site/docs/applications/supported.html:611
+#: i2p2www/pages/site/docs/applications/supported.html:653
+#: i2p2www/pages/site/docs/applications/supported.html:661
+#: i2p2www/pages/site/docs/applications/supported.html:670
+#: i2p2www/pages/site/docs/applications/supported.html:677
+#: i2p2www/pages/site/docs/applications/supported.html:691
+msgid "service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:138
+msgid ""
+"Third-party essential network service — Services which on\n"
+"the I2P network are analogous to those provided on the public Internet\n"
+"by hosting providers, ISPs, and Google: eepsite indexes and jump\n"
+"services, search engines, email, DNS-style name services, hosting,\n"
+"proxies, etc. These services focus on boosting the usefulness of the\n"
+"network as a whole, and making network content more discoverable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:150
+#: i2p2www/pages/site/docs/applications/supported.html:222
+msgid "unmaintained"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:153
+msgid ""
+"Unmaintained — This is used to tag plugins, applications,\n"
+"and services which appear to be unmaintained and may be removed from\n"
+"this listing in the future."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:161
+#, python-format
+msgid ""
+"Warning: Using an application, plugin, or service with I2P\n"
+"doesn't automatically protect your anonymity. I2P is merely a set of tools\n"
+"which can help you mitigate certain identified\n"
+"threats to anonymity. We do not and cannot make any guarantees about the\n"
+"safety of the applications, plugins, and services listed below. Most\n"
+"applications and plugins must be properly configured, and some will need to\n"
+"be patched — and even then your anonymity might not be assured. Similarly,\n"
+"services could put your anonymity at risk, either by design or through\n"
+"carelessness on their part or your own."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:173
+msgid ""
+"If you have doubts about the suitability of an application,\n"
+"plugin, or service for use with I2P, you are urged to inquire about privacy\n"
+"issues with its maintainers, to search its mailing lists and bug tracker if\n"
+"one exists, and consult trusted, knowledgeable members of the I2P\n"
+"community."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:181
+msgid ""
+"Take responsibility for your own anonymity and safety — always\n"
+"seek expert advice, educate yourself, practice good judgment, be mindful of\n"
+"disclosing personally identifying information, and don't take\n"
+"shortcuts."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:203
+msgid "Lightweight forum software."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:209
+msgid "Another lightweight blogging platform."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:215
+msgid "Most popular open source forum software."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:221
+msgid "Distributed forums software, originally developed by jrandom."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:226
+#, python-format
+msgid ""
+"A Java-based MediaWiki clone. No external database needed.\n"
+"Plugin available here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:238
+#, python-format
+msgid ""
+"Port of the Tahoe-LAFS\n"
+"distributed file system to the I2P network. Controller plugin here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:253
+msgid "Most popular distributed version control system."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:259
+#, python-format
+msgid ""
+"Another distributed version control system. Currently\n"
+"used in I2P development."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:271
+#, python-format
+msgid ""
+"Provides management of addressbooks, which are part of a simple,\n"
+"user-controlled I2P naming system somewhat\n"
+"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n"
+"Base64 destinations to short, usually human-readable “domain” names ending\n"
+"with a .i2p suffix which the I2P router's HTTP client can resolve back to\n"
+"Base64 addresses. (Note: While Base64 destinations are globally\n"
+"unique, addressbook “domain” names only resolve to unique destinations\n"
+"locally.)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:290
+msgid ""
+"Serverless peer-to-peer email application using a distributed hash table\n"
+"(DHT) for secure mail storage."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:299
+msgid ""
+"Provides email service within the I2P network via @mail.i2p addresses,\n"
+"and email gateway service between the I2P network and the public Internet\n"
+"via @i2pmail.org addresses. One of the oldest continuous services on I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:309
+msgid ""
+"Simple web browser-based email interface. Configured to use Postman's\n"
+"email service by default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:318
+#, python-format
+msgid ""
+"Can be configured to use Postman's email service. See\n"
+"this comparison of MUAs,\n"
+"and configuration settings for\n"
+"SMTP and POP3."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:337
+msgid "I2P's integrated BitTorrent client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:343
+msgid ""
+"Modified version of I2PSnark, no more supported neither\n"
+" functional."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:350
+msgid ""
+"\n"
+"A fork of rufus that uses the Basic Open Bridge (BOB) and has many\n"
+"improvements, including using the latest wxwidgets and python. It also\n"
+"supports use of seedless if installed for trackerless torrents and\n"
+"magnet-link like fetching of torrents within I2P.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:361
+msgid ""
+"Clean, full-featured cross-platform BitTorrent client with official\n"
+"ports for several GUI toolkits."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:370
+msgid "Has a plugin providing I2P support."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:377
+#, python-format
+msgid ""
+"For a detailed feature comparison of I2P-enabled trackers/indexers, see\n"
+"here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:385
+msgid ""
+"The code that powered one of the first major tracker/indexer sites on the\n"
+"Internet. Patched for I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:394
+#, python-format
+msgid ""
+"Lightweight tracker/indexer. I2P mod available in the i2p.opentracker\n"
+"branch of the I2P Monotone repository."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:403
+#, python-format
+msgid ""
+"zzz's Java-based open tracker. More info\n"
+"here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:416
+msgid "I2P port of the aMule ED2K client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:425
+#, python-format
+msgid ""
+"Port of the Phex Gnutella client. Website\n"
+"for plugin version here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:434
+#, python-format
+msgid ""
+"Cache for Gnutella peers on I2P. Website for plugin version\n"
+"here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:449
+msgid ""
+"OpenBSD's rewrite of the Unix standard tool, netcat, for socket relaying.\n"
+"Several clones, ports, and forks have appeared over the years."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:458
+msgid "Like netcat but more powerful."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:464
+msgid ""
+"Proxy providing simple, transparent SOCKS-ification of network applications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:474
+msgid ""
+"Most popular implementation of the Secure Shell (SSH) protocol and related "
+"tools."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:480
+msgid "Open source Secure Shell (SSH) client for Windows."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:492
+msgid "IM client with multiple incarnations, unsuported."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:499
+msgid ""
+"Many IRC clients leak identifying information to servers or other\n"
+"clients, so I2P's IRC and SOCKS IRC client tunnels filter certain inbound\n"
+"and outbound messages to scrub data such as LAN IP addresses, external IP\n"
+"addresses, local hostnames, and the name and version of the IRC client. Two\n"
+"message types in particular, DCC and CTCP, can't be sufficiently anonymized\n"
+"without changes to the protocols or to IRC client/server code, so they are\n"
+"completely blocked, except for CTCP ACTION (the message emitted by the\n"
+"/me
command) which isn't inherently dangerous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:510
+msgid ""
+"I2P's IRC filtering may not cover every possible leak — users should also\n"
+"check if their client is sending their real name or local username. Packet\n"
+"sniffers such as Wireshark are\n"
+"useful here. Eliminating remaining leaks may be as simple as changing the\n"
+"client's default configuration. If that doesn't help, inform the I2P\n"
+"developers; they may be able to solve it via additional filtering."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:522
+#, python-format
+msgid ""
+"Small Java-based IRC client. Plugin available here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:531
+msgid "Cross-platform graphical IRC client based on XChat."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:537
+msgid "Unixy terminal-based IRC client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:543
+msgid "Another Unixy terminal-based IRC client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:553
+msgid "IRC server developed from scratch."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:559
+msgid "Most popular IRC server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:571
+msgid ""
+"Any website hosted anonymously on I2P, reachable through the I2P router's "
+"HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:579
+msgid ""
+"Distributed anonymous websites hosted\n"
+"using Tahoe-LAFS-I2P, currently only reachable with Tahoe-LAFS-I2P\n"
+"clients or through the Tahoe-LAFS-I2P HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:589
+#, python-format
+msgid ""
+"Website for sponge's jump service.\n"
+"Source code available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:598
+msgid "Another jump service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:604
+msgid "Dynamically updated eepsite index."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:610
+#, python-format
+msgid "Website for zzz's jump service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:620
+msgid "SOCKS-enabled caching web proxy with basic filtering capabilities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:626
+msgid ""
+"Privacy-focused non-caching web proxy with advanced filtering\n"
+"capabilities. Excels at removing ads and other junk."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:635
+msgid "Venerable caching web proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:642
+msgid "Gateways allowing users on the public Internet to access eepsites."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:649
+#, python-format
+msgid ""
+"tino's inproxy on the public Internet,\n"
+"currently out of service,"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:658
+#: i2p2www/pages/site/docs/applications/supported.html:667
+#: i2p2www/pages/site/docs/applications/supported.html:674
+msgid "Another inproxy on the public Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:683
+msgid ""
+"Gateways allowing I2P users to access content hosted on the public Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:690
+msgid "Publicly advertised outproxy running Squid, located in Europe."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:700
+msgid ""
+"Lightweight web server and Java servlet container. I2P is tightly\n"
+"integrated with a bundled copy of Jetty which by default is configured to\n"
+"host the user's eepsite. The bundled\n"
+"Jetty also serves the I2P router console and web applications bundled with\n"
+"I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:712
+msgid ""
+"In addition to Jetty, any web server should function over I2P without\n"
+"modification so long as it's HTTP-compliant. Some web servers known to\n"
+"currently serve content on the I2P network are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:721
+msgid "Most popular web server on the public WWW."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:727
+msgid "Web server and Java servlet container. More features than Jetty."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:733
+msgid "Fast lightweight web server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:739
+msgid "High-performance lightweight web server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:2
+msgid "Naming discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:4
+#, python-format
+msgid ""
+"NOTE: The following is a discussion of the reasons behind the I2P naming system,\n"
+"common arguments and possible alternatives.\n"
+"See the naming page for current documentation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:10
+msgid "Discarded alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:12
+msgid ""
+"Naming within I2P has been an oft-debated topic since the very beginning with\n"
+"advocates across the spectrum of possibilities. However, given I2P's inherent\n"
+"demand for secure communication and decentralized operation, the traditional\n"
+"DNS-style naming system is clearly out, as are \"majority rules\" voting systems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:19
+msgid ""
+"I2P does not promote the use of DNS-like services though, as the damage done\n"
+"by hijacking a site can be tremendous - and insecure destinations have no\n"
+"value. DNSsec itself still falls back on registrars and certificate authorities,\n"
+"while with I2P, requests sent to a destination cannot be intercepted or the reply\n"
+"spoofed, as they are encrypted to the destination's public keys, and a destination\n"
+"itself is just a pair of public keys and a certificate. DNS-style systems on the\n"
+"other hand allow any of the name servers on the lookup path to mount simple denial\n"
+"of service and spoofing attacks. Adding on a certificate authenticating the\n"
+"responses as signed by some centralized certificate authority would address many of\n"
+"the hostile nameserver issues but would leave open replay attacks as well as \n"
+"hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:33
+msgid ""
+"Voting style naming is dangerous as well, especially given the effectiveness of\n"
+"Sybil attacks in anonymous systems - the attacker can simply create an arbitrarily\n"
+"high number of peers and \"vote\" with each to take over a given name. Proof-of-work\n"
+"methods can be used to make identity non-free, but as the network grows the load\n"
+"required to contact everyone to conduct online voting is implausible, or if the\n"
+"full network is not queried, different sets of answers may be reachable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:42
+msgid ""
+"As with the Internet however, I2P is keeping the design and operation of a \n"
+"naming system out of the (IP-like) communication layer. The bundled naming library\n"
+"includes a simple service provider interface which alternate naming systems can\n"
+"plug into, allowing end users to drive what sort of naming tradeoffs they prefer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:50
+msgid ""
+"See also Names: Decentralized, "
+"Secure, Human-Meaningful: Choose Two."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:55
+msgid "(adapted from a post in the old Syndie, November 26, 2005)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:58
+msgid ""
+"Q:\n"
+"What to do if some hosts \n"
+"do not agree on one address and if some addresses are working, others are not? \n"
+"Who is the right source of a name?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:64
+msgid ""
+"A:\n"
+"You don't. This is actually a critical difference between names on I2P and how \n"
+"DNS works - names in I2P are human readable, secure, but not globally \n"
+"unique. This is by design, and an inherent part of our need for security."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:70
+msgid ""
+"If I could somehow convince you to change the destination associated with some \n"
+"name, I'd successfully \"take over\" the site, and under no circumstances is that \n"
+"acceptable. Instead, what we do is make names locally unique: they are \n"
+"what you use to call a site, just as how you can call things whatever \n"
+"you want when you add them to your browser's bookmarks, or your IM client's \n"
+"buddy list. Who you call \"Boss\" may be who someone else calls \"Sally\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:78
+msgid "Names will not, ever, be securely human readable and globally unique."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:83
+msgid ""
+"The following from zzz is a review of several common\n"
+"complaints about I2P's naming system."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:89
+msgid ""
+"Inefficiency:\n"
+"The whole hosts.txt is downloaded (if it has changed, since eepget uses the etag and last-modified headers).\n"
+"It's about 400K right now for almost 800 hosts."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:94
+msgid ""
+"True, but this isn't a lot of traffic in the context of i2p, which is itself wildly inefficient\n"
+"(floodfill databases, huge encryption overhead and padding, garlic routing, etc.).\n"
+"If you downloaded a hosts.txt file from someone every 12 hours it averages out to about 10 bytes/sec."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:99
+msgid ""
+"As is usually the case in i2p, there is a fundamental tradeoff here between anonymity and efficiency.\n"
+"Some would say that using the etag and last-modified headers is hazardous because it exposes when you\n"
+"last requested the data.\n"
+"Others have suggested asking for specific keys only (similar to what jump services do, but\n"
+"in a more automated fashion), possibly at a further cost in anonymity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:106
+#, python-format
+msgid ""
+"Possible improvements would be a replacement or supplement to addressbook (see %(i2host)sp),\n"
+"or something simple like subscribing to http://example.i2p/cgi-bin/recenthosts.cgi rather than http://example.i2p/hosts.txt.\n"
+"If a hypothetical recenthosts.cgi distributed all hosts from the last 24 hours, for example,\n"
+"that could be both more efficient and more anonymous than the current hosts.txt with last-modified and etag."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:112
+#, python-format
+msgid ""
+"A sample implementation is on stats.i2p at\n"
+"%(url)s.\n"
+"This script returns an Etag with a timestamp.\n"
+"When a request comes in with the If-None-Match etag,\n"
+"the script ONLY returns new hosts since that timestamp, or 304 Not Modified if there are none.\n"
+"In this way, the script efficiently returns only the hosts the subscriber\n"
+"does not know about, in an addressbook-compatible manner."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:121
+msgid ""
+"So the inefficiency is not a big issue and there are several ways to improve things without\n"
+"radical change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:127
+msgid ""
+"Not Scalable:\n"
+"The 400K hosts.txt (with linear search) isn't that big at the moment and\n"
+"we can probably grow by 10x or 100x before it's a problem."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:132
+msgid ""
+"As far as network traffic see above.\n"
+"But unless you're going to do a slow real-time query over the network for\n"
+"a key, you need to have the whole set of keys stored locally, at a cost of about 500 bytes per key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:139
+msgid ""
+"Requires configuration and \"trust\":\n"
+"Out-of-the-box addressbook is only subscribed to http://www.i2p2.i2p/hosts.txt, which is rarely updated,\n"
+"leading to poor new-user experience."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:144
+msgid ""
+"This is very much intentional. jrandom wants a user to \"trust\" a hosts.txt\n"
+"provider, and as he likes to say, \"trust is not a boolean\".\n"
+"The configuration step attempts to force users to think about issues of trust in an anonymous network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:149
+msgid ""
+"As another example, the \"Eepsite Unknown\" error page in the HTTP Proxy\n"
+"lists some jump services, but doesn't \"recommend\" any one in particular,\n"
+"and it's up to the user to pick one (or not).\n"
+"jrandom would say we trust the listed providers enough to list them but not enough to\n"
+"automatically go fetch the key from them."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:156
+msgid ""
+"How successful this is, I'm not sure.\n"
+"But there must be some sort of hierarchy of trust for the naming system.\n"
+"To treat everyone equally may increase the risk of hijacking."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:163
+msgid "It isn't DNS"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:166
+msgid ""
+"Unfortunately real-time lookups over i2p would significantly slow down web "
+"browsing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:169
+msgid ""
+"Also, DNS is based on lookups with limited caching and time-to-live, while i2p\n"
+"keys are permanent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:173
+msgid "Sure, we could make it work, but why? It's a bad fit."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:178
+msgid ""
+"Not reliable:\n"
+"It depends on specific servers for addressbook subscriptions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:182
+msgid ""
+"Yes it depends on a few servers that you have configured.\n"
+"Within i2p, servers and services come and go.\n"
+"Any other centralized system (for example DNS root servers) would\n"
+"have the same problem. A completely decentralized system (everybody is authoritative)\n"
+"is possible by implementing an \"everybody is a root DNS server\" solution, or by\n"
+"something even simpler, like a script that adds everybody in your hosts.txt to your addressbook."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:190
+msgid ""
+"People advocating all-authoritative solutions generally haven't thought through\n"
+"the issues of conflicts and hijacking, however."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:196
+msgid ""
+"Awkward, not real-time:\n"
+"It's a patchwork of hosts.txt providers, key-add web form providers, jump service providers,\n"
+"eepsite status reporters.\n"
+"Jump servers and subscriptions are a pain, it should just work like DNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:202
+msgid "See the reliability and trust sections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:207
+msgid ""
+"So, in summary, the current system is not horribly broken, inefficient, or un-scalable,\n"
+"and proposals to \"just use DNS\" aren't well thought-through."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:212
+msgid "Alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:213
+msgid ""
+"The I2P source contains several pluggable naming systems and supports configuration options\n"
+"to enable experimentation with naming systems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:218
+msgid ""
+"Meta - calls two or more other naming systems in order.\n"
+"By default, calls PetName then HostsTxt."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:222
+msgid ""
+"PetName - Looks up in a petnames.txt file.\n"
+"The format for this file is NOT the same as hosts.txt."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:226
+msgid "HostsTxt - Looks up in the following files, in order:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:234
+msgid ""
+"AddressDB - Each host is listed in a separate file in a addressDb/ "
+"directory."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:237
+msgid ""
+"Eepget - does an HTTP lookup request from an external\n"
+"server - must be stacked after the HostsTxt lookup with Meta.\n"
+"This could augment or replace the jump system.\n"
+"Includes in-memory caching."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:243
+msgid ""
+"Exec - calls an external program for lookup, allows\n"
+"additional experimentation in lookup schemes, independent of java.\n"
+"Can be used after HostsTxt or as the sole naming system.\n"
+"Includes in-memory caching."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:249
+msgid "Dummy - used as a fallback for Base64 names, otherwise fails."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:253
+msgid ""
+"The current naming system can be changed with the advanced config option 'i2p.naming.impl'\n"
+"(restart required).\n"
+"See core/java/src/net/i2p/client/naming for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:258
+msgid ""
+"Any new system should be stacked with HostsTxt, or should\n"
+"implement local storage and/or the addressbook subscription functions, since addressbook\n"
+"only knows about the hosts.txt files and format."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:264
+msgid "Certificates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:265
+msgid ""
+"I2P destinations contain a certificate, however at the moment that certificate\n"
+"is always null.\n"
+"With a null certificate, base64 destinations are always 516 bytes ending in \"AAAA\",\n"
+"and this is checked in the addressbook merge mechanism, and possibly other places.\n"
+"Also, there is no method available to generate a certificate or add it to a\n"
+"destination. So these will have to be updated to implement certificates."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:273
+#, python-format
+msgid ""
+"One possible use of certificates is for proof "
+"of work."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:276
+msgid ""
+"Another is for \"subdomains\" (in quotes because there is really no such thing,\n"
+"i2p uses a flat naming system) to be signed by the 2nd level domain's keys."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:280
+msgid ""
+"With any certificate implementation must come the method for verifying the\n"
+"certificates.\n"
+"Presumably this would happen in the addressbook merge code.\n"
+"Is there a method for multiple types of certificates, or multiple certificates?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:286
+msgid ""
+"Adding on a certificate authenticating the\n"
+"responses as signed by some centralized certificate authority would address many of\n"
+"the hostile nameserver issues but would leave open replay attacks as well as \n"
+"hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:2
+msgid "ElGamal/AES + SessionTag Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:7
+msgid "ElGamal/AES+SessionTags is used for end-to-end encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:11
+msgid ""
+"As an unreliable, unordered, message based system, I2P uses a simple combination \n"
+"of asymmetric and symmetric encryption algorithms to provide data confidentiality \n"
+"and integrity to garlic messages. As a whole, the combination is referred \n"
+"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to describe \n"
+"the use of 2048bit ElGamal, AES256, SHA256, and 32 byte nonces."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:19
+#: i2p2www/pages/site/docs/how/tech-intro.html:508
+msgid ""
+"The first time a router wants to encrypt a garlic message to another router, \n"
+"they encrypt the keying material for an AES256 session key with ElGamal and \n"
+"append the AES256/CBC encrypted payload after that encrypted ElGamal block. \n"
+"In addition to the encrypted payload, the AES encrypted section contains the \n"
+"payload length, the SHA256 hash of the unencrypted payload, as well as a number \n"
+"of \"session tags\" - random 32 byte nonces. The next time the sender wants \n"
+"to encrypt a garlic message to another router, rather than ElGamal encrypt \n"
+"a new session key they simply pick one of the previously delivered session \n"
+"tags and AES encrypt the payload like before, using the session key used with \n"
+"that session tag, prepended with the session tag itself. When a router receives \n"
+"a garlic encrypted message, they check the first 32 bytes to see if it matches \n"
+"an available session tag - if it does, they simply AES decrypt the message, \n"
+"but if it does not, they ElGamal decrypt the first block."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:35
+#: i2p2www/pages/site/docs/how/tech-intro.html:524
+msgid ""
+"Each session tag can be used only once so as to prevent internal adversaries \n"
+"from unnecessarily correlating different messages as being between the same \n"
+"routers. The sender of an ElGamal/AES+SessionTag encrypted message chooses \n"
+"when and how many tags to deliver, prestocking the recipient with enough tags \n"
+"to cover a volley of messages. Garlic messages may detect the successful tag \n"
+"delivery by bundling a small additional message as a clove (a \"delivery status \n"
+"message\") - when the garlic message arrives at the intended recipient and \n"
+"is decrypted successfully, this small delivery status message is one of the \n"
+"cloves exposed and has instructions for the recipient to send the clove back \n"
+"to the original sender (through an inbound tunnel, of course). When the original \n"
+"sender receives this delivery status message, they know that the session tags \n"
+"bundled in the garlic message were successfully delivered."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:50
+msgid ""
+"Session tags themselves have a short lifetime, after which they are \n"
+"discarded if not used. In addition, the quantity stored for each key is limited, \n"
+"as are the number of keys themselves - if too many arrive, either new or old \n"
+"messages may be dropped. The sender keeps track whether messages using session \n"
+"tags are getting through, and if there isn't sufficient communication it may \n"
+"drop the ones previously assumed to be properly delivered, reverting back \n"
+"to the full expensive ElGamal encryption.\n"
+"A session will continue to exist until all its tags are exhausted or expire."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:61
+msgid ""
+"Sessions are unidirectional. Tags are delivered from Alice to Bob,\n"
+"and Alice then uses the tags, one by one, in subsequent messages to Bob."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:66
+msgid ""
+"Sessions may be established between Destinations, between Routers, or\n"
+"between a Router and a Destination.\n"
+"Each Router and Destination maintains its own Session Key Manager to\n"
+"keep track of Session Keys and Session Tags.\n"
+"Separate Session Key Managers prevents correlation of multiple Destinations\n"
+"to each other or a Router by adversaries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:77
+msgid "Message Reception"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:78
+msgid ""
+"Each message received has one of two\n"
+"the two possible conditions:
O(log(N))
due to the network database's algorithm, while end\n"
+"to end messages should be O(1)
(scale free), since messages go out K hops through the\n"
+"outbound tunnel and another K hops through the inbound tunnel, with K no longer than 3. The size of\n"
+"the network (N) bears no impact."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:150
+msgid "When?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:151
+#, python-format
+msgid ""
+"I2P initially began in Feb 2003 as a proposed modification to Freenet to allow it to use alternate transports, such as JMS, then grew into its own as an\n"
+"'anonCommFramework' in April 2003, turning into I2P in July, with code being written in earnest\n"
+"starting in August '03. I2P is currently under development, following the roadmap."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:161
+msgid "Who?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:162
+#, python-format
+msgid ""
+"We have a small team spread around several continents, working to advance\n"
+"different aspects of the project. We are very open to other developers who want to get involved and\n"
+"anyone else who would like to contribute in other ways, such as critiques, peer review, testing,\n"
+"writing I2P enabled applications, or documentation. The entire system is open source - the router\n"
+"and most of the SDK are outright public domain with some BSD and Cryptix licensed code, while some\n"
+"applications like I2PTunnel and I2PSnark are GPL. Almost everything is written in Java (1.5+),\n"
+"though some third party applications are being written in Python and other languages. The code works\n"
+"on Sun Java SE and other Java Virtual Machines."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:173
+msgid "Where?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:174
+#, python-format
+msgid ""
+"Anyone interested should join us on the IRC channel #i2p-dev (hosted concurrently on irc.freenode.net,\n"
+"irc.postman.i2p, irc.echelon.i2p, irc.dg.i2p and irc.oftc.net). There are currently no\n"
+"scheduled development meetings, however archives are available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:180
+#, python-format
+msgid "The current source is available in monotone."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:185
+#, python-format
+msgid "See the Index to Technical Documentation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:2
+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"
+"just two types of data - router contact information (RouterInfos) and destination contact\n"
+"information (LeaseSets). Each piece of data is signed by the appropriate party and verified\n"
+"by anyone who uses or stores it. In addition, the data has liveliness information\n"
+"within it, allowing irrelevant entries to be dropped, newer entries to replace\n"
+"older ones, and protection against certain classes of attack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:17
+msgid ""
+"The netDb is distributed with a simple technique called \"floodfill\",\n"
+"where a subset of all routers, called \"floodfill routers\", maintains the distributed database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:25
+msgid ""
+"When an I2P router wants to contact another router, they need to know some \n"
+"key pieces of data - all of which are bundled up and signed by the router into\n"
+"a structure called the \"RouterInfo\", which is distributed with the SHA256 of the router's identity\n"
+"as the key. The structure itself contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:32
+msgid ""
+"The router's identity (a 2048bit ElGamal encryption key, a signing key, and "
+"a certificate)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:33
+msgid ""
+"The contact addresses at which it can be reached (e.g. TCP: example.org port"
+" 4108)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:34
+msgid "When this was published"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:35
+msgid "A set of arbitrary text options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:36
+msgid "The signature of the above, generated by the identity's signing key"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:39
+msgid "Expected Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:41
+msgid ""
+"The following text options, while not strictly required, are expected\n"
+"to be present:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:47
+msgid ""
+"Capabilities flags - used to indicate floodfill participation, approximate "
+"bandwidth, and perceived reachability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:49
+#: i2p2www/pages/site/docs/how/network-database.html:287
+msgid "Floodfill"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:50
+msgid "Hidden"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:51
+#, python-format
+msgid "Under %(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:52
+#: i2p2www/pages/site/docs/how/network-database.html:53
+#: i2p2www/pages/site/docs/how/network-database.html:54
+#: i2p2www/pages/site/docs/how/network-database.html:55
+#: i2p2www/pages/site/docs/how/network-database.html:56
+#, python-format
+msgid "%(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:52
+msgid "default"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:57
+msgid "Reachable"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:58
+msgid "Unreachable"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:59
+#, python-format
+msgid "Over %(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:66
+msgid "The core library version, always the same as the router version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:70
+msgid ""
+"Basic network compatibility - A router will refuse to communicate with a "
+"peer having a different netId"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:73
+msgid "Used to determine compatibility with newer features and messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:76
+msgid ""
+"Always sent as 90m, for compatibility with an older scheme where routers published their actual uptime,\n"
+"and only sent tunnel requests to peers whose uptime was more than 60m"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:82
+msgid ""
+"These values are used by other routers for basic decisions.\n"
+"Should we connect to this router? Should we attempt to route a tunnel through this router?\n"
+"The bandwidth capability flag, in particular, is used only to determine whether\n"
+"the router meets a minimum threshold for routing tunnels.\n"
+"Above the minimum threshold, the advertised bandwidth is not used or trusted anywhere\n"
+"in the router, except for display in the user interface and for debugging and network analysis."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:91
+msgid "Additional Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:93
+#, python-format
+msgid ""
+"Additional text options include\n"
+"a small number of statistics about the router's health, which are aggregated by\n"
+"sites such as %(stats)s\n"
+"for network performance analysis and debugging.\n"
+"These statistics were chosen to provide data crucial to the developers,\n"
+"such as tunnel build success rates, while balancing the need for such data\n"
+"with the side-effects that could result from revealing this data.\n"
+"Current statistics are limited to:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:104
+msgid "Exploratory tunnel build success, reject, and timeout rates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:105
+msgid "1 hour average number of participating tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:108
+msgid ""
+"Floodfill routers publish additional data on the number of entries in their "
+"network database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:112
+msgid ""
+"The data published can be seen in the router's user interface,\n"
+"but is not used or trusted within the router.\n"
+"As the network has matured, we have gradually removed most of the published\n"
+"statistics to improve anonymity, and we plan to remove more in future releases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:119
+msgid "Family Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:121
+msgid ""
+"As of release 0.9.24, routers may declare that they are part of a \"family\", operated by the same entity.\n"
+"Multiple routers in the same family will not be used in a single tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:126
+msgid "The family options are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:132
+msgid "The family name"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:147
+msgid "RouterInfo Expiration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:148
+msgid ""
+"RouterInfos have no set expiration time.\n"
+"Each router is free to maintain its own local policy to trade off the frequency of RouterInfo lookups\n"
+"with memory or disk usage.\n"
+"In the current implementation, there are the following general policies:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:155
+msgid ""
+"There is no expiration during the first hour of uptime, as the persistent "
+"stored data may be old."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:158
+msgid "There is no expiration if there are 25 or less RouterInfos."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:161
+msgid ""
+"As the number of local RouterInfos grows, the expiration time shrinks, in an attempt to maintain\n"
+"a reasonable number RouterInfos. The expiration time with less than 120 routers is 72 hours,\n"
+"while expiration time with 300 routers is around 30 hours."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:166
+#, python-format
+msgid ""
+"RouterInfos containing SSU introducers expire in about an hour, as\n"
+"the introducer list expires in about that time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:170
+msgid ""
+"Floodfills use a short expiration time (1 hour) for all local RouterInfos, as valid RouterInfos will\n"
+"be frequently republished to them."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:176
+msgid "RouterInfo Persistent Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:178
+msgid ""
+"RouterInfos are periodically written to disk so that they are available "
+"after a restart."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:186
+msgid "RouterInfo specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:189
+msgid "RouterInfo Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:194
+msgid ""
+"The second piece of data distributed in the netDb is a \"LeaseSet\" - documenting\n"
+"a group of tunnel entry points (leases) for a particular client destination.\n"
+"Each of these leases specify the following information:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:200
+msgid "The tunnel gateway router (by specifying its identity)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:201
+msgid "The tunnel ID on that router to send messages with (a 4 byte number)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:202
+msgid "When that tunnel will expire."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:204
+msgid ""
+"The LeaseSet itself is stored in the netDb under\n"
+"the key derived from the SHA256 of the destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:209
+msgid "In addition to these leases, the LeaseSet includes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:213
+msgid ""
+"The destination itself (a 2048bit ElGamal encryption key, a signing key and "
+"a certificate)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:214
+msgid ""
+"Additional encryption public key: used for end-to-end encryption of garlic "
+"messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:215
+msgid ""
+"Additional signing public key: intended for LeaseSet revocation, but is "
+"currently unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:216
+msgid ""
+"Signature of all the LeaseSet data, to make sure the Destination published "
+"the LeaseSet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:220
+msgid "Lease specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:222
+msgid "LeaseSet specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:225
+msgid "Lease Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:227
+msgid "LeaseSet Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:231
+msgid "Unpublished LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:232
+msgid ""
+"A LeaseSet for a destination used only for outgoing connections is unpublished.\n"
+"It is never sent for publication to a floodfill router.\n"
+"\"Client\" tunnels, such as those for web browsing and IRC clients, are unpublished.\n"
+"Servers will still be able to send messages back to those unpublished destinations,\n"
+"because of I2NP storage messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:242
+msgid "Revoked LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:243
+msgid ""
+"A LeaseSet may be revoked by publishing a new LeaseSet with zero leases.\n"
+"Revocations must be signed by the additional signing key in the LeaseSet.\n"
+"Revocations are not fully implemented, and it is unclear if they have any practical use.\n"
+"This is the only planned use for that signing key, so it is currently unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:250
+msgid "Encrypted LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:251
+msgid ""
+"In an encrypted LeaseSet, all Leases are encrypted with a separate key.\n"
+"The leases may only be decoded, and thus the destination may only be contacted,\n"
+"by those with the key.\n"
+"There is no flag or other direct indication that the LeaseSet is encrypted.\n"
+"Encrypted LeaseSets are not widely used, and it is a topic for future work to\n"
+"research whether the user interface and implementation of encrypted LeaseSets could be improved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:260
+msgid "LeaseSet Expiration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:261
+msgid ""
+"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet expires\n"
+"10 minutes after the earliest creation time of all its Leases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:266
+msgid "LeaseSet Persistent Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:267
+msgid ""
+"There is no persistent storage of LeaseSet data since they expire so "
+"quickly."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:272
+msgid "Bootstrapping"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:273
+msgid ""
+"The netDb is decentralized, however you do need at\n"
+"least one reference to a peer so that the integration process\n"
+"ties you in. This is accomplished by \"reseeding\" your router with the RouterInfo\n"
+"of an active peer - specifically, by retrieving their routerInfo-$hash.dat
\n"
+"file and storing it in your netDb/
directory. Anyone can provide\n"
+"you with those files - you can even provide them to others by exposing your own\n"
+"netDb directory. To simplify the process,\n"
+"volunteers publish their netDb directories (or a subset) on the regular (non-i2p) network,\n"
+"and the URLs of these directories are hardcoded in I2P.\n"
+"When the router starts up for the first time, it automatically fetches from\n"
+"one of these URLs, selected at random."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:288
+msgid ""
+"The floodfill netDb is a simple distributed storage mechanism. The storage\n"
+"algorithm is simple: send the data to the closest peer that has advertised\n"
+"itself as a floodfill router. When the peer in the floodfill netDb receives a\n"
+"netDb store from a peer not in the floodfill netDb, they send it to a subset of\n"
+"the floodfill netDb-peers. The peers selected are the ones closest (according\n"
+"to the XOR-metric) to a specific key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:297
+msgid ""
+"Determining who is part of the floodfill netDb is trivial - it is exposed in each \n"
+"router's published routerInfo as a capability."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:302
+msgid ""
+"Floodfills have no central authority and do not form a \"consensus\" -\n"
+"they only implement a simple DHT overlay."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:309
+msgid "Floodfill Router Opt-in"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:311
+msgid ""
+"Unlike Tor, where the directory servers are hardcoded and trusted,\n"
+"and operated by known entities,\n"
+"the members of the I2P floodfill peer set need not be trusted, and\n"
+"change over time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:318
+msgid ""
+"To increase reliability of the netDb, and minimize the impact\n"
+"of netDb traffic on a router, floodfill is automatically enabled\n"
+"only on routers that are configured with high bandwidth limits.\n"
+"Routers with high bandwidth limits (which must be manually configured,\n"
+"as the default is much lower) are presumed to be on lower-latency\n"
+"connections, and are more likely to be available 24/7.\n"
+"The current minimum share bandwidth for a floodfill router is 128 KBytes/sec."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:328
+msgid ""
+"In addition, a router must pass several additional tests for health\n"
+"(outbound message queue time, job lag, etc.) before floodfill operation is\n"
+"automatically enabled."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:334
+msgid ""
+"With the current rules for automatic opt-in, approximately 6% of\n"
+"the routers in the network are floodfill routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:339
+msgid ""
+"While some peers are manually configured to be floodfill,\n"
+"others are simply high-bandwidth routers who automatically volunteer\n"
+"when the number of floodfill peers drops below a threshold.\n"
+"This prevents any long-term network damage from losing most or all\n"
+"floodfills to an attack.\n"
+"In turn, these peers will un-floodfill themselves when there are\n"
+"too many floodfills outstanding."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:349
+msgid "Floodfill Router Roles"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:350
+msgid ""
+"A floodfill router's only services that are in addition to those of non-floodfill routers\n"
+"are in accepting netDb stores and responding to netDb queries.\n"
+"Since they are generally high-bandwidth, they are more likely to participate in a high number of tunnels\n"
+"(i.e. be a \"relay\" for others), but this is not directly related to their distributed database services."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:358
+msgid "Kademlia Closeness Metric"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:359
+msgid ""
+"The netDb uses a simple Kademlia-style XOR metric to determine closeness.\n"
+"The SHA256 hash of the key being looked up or stored is XOR-ed with\n"
+"the hash of the router in question to determine closeness.\n"
+"A modification to this algorithm is done to increase the costs of Sybil attacks.\n"
+"Instead of the SHA256 hash of the key being looked up of stored, the SHA256 hash is taken\n"
+"of the 32-byte binary search key appended with the UTC date represented as an 8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n"
+"This is called the \"routing key\", and it changes every day at midnight UTC.\n"
+"Only the search key is modified in this way, not the floodfill router hashes.\n"
+"The daily transformation of the DHT is sometimes called \"keyspace rotation\",\n"
+"although it isn't strictly a rotation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:372
+msgid ""
+"Routing keys are never sent on-the-wire in any I2NP message, they are only used locally for\n"
+"determination of distance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:379
+msgid "Storage, Verification, and Lookup Mechanics"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:381
+msgid "RouterInfo Storage to Peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:382
+#, python-format
+msgid ""
+"I2NP DatabaseStoreMessages containing the local RouterInfo are exchanged with peers\n"
+"as a part of the initialization of a NTCP\n"
+"or SSU transport connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:389
+msgid "LeaseSet Storage to Peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:390
+#, python-format
+msgid ""
+"I2NP DatabaseStoreMessages containing the local LeaseSet are periodically exchanged with peers\n"
+"by bundling them in a garlic message along with normal traffic from the related Destination.\n"
+"This allows an initial response, and later responses, to be sent to an appropriate Lease,\n"
+"without requiring any LeaseSet lookups, or requiring the communicating Destinations to have published LeaseSets at all."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:398
+msgid ""
+"The DatabaseStoreMessage should be sent to the floodfill that is closest\n"
+"to the current routing key for the RouterInfo or LeaseSet being stored.\n"
+"Currently, the closest floodfill is found by a search in the local database.\n"
+"Even if that floodfill is not actually closest, it will flood it \"closer\" by\n"
+"sending it to multiple other floodfills.\n"
+"This provides a high degree of fault-tolerance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:407
+msgid ""
+"In traditional Kademlia, a peer would do a \"find-closest\" search before inserting\n"
+"an item in the DHT to the closest target. As the verify operation will tend to\n"
+"discover closer floodfills if they are present, a router will quickly improve\n"
+"its knowledge of the DHT \"neighborhood\" for the RouterInfo and LeaseSets it regularly publishes.\n"
+"While I2NP does not define a \"find-closest\" message, if it becomes necessary,\n"
+"a router may simply do an iterative search for a key with the least significant bit flipped\n"
+"(i.e. key ^ 0x01) until no closer peers are received in the DatabaseSearchReplyMessages.\n"
+"This ensures that the true closest peer will be found even if a more-distant peer had\n"
+"the netdb item."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:420
+msgid "RouterInfo Storage to Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:421
+#, python-format
+msgid ""
+"A router publishes its own RouterInfo by directly connecting to a floodfill router\n"
+"and sending it a I2NP DatabaseStoreMessage\n"
+"with a nonzero Reply Token. The message is not end-to-end garlic encrypted,\n"
+"as this is a direct connection, so there are no intervening routers\n"
+"(and no need to hide this data anyway).\n"
+"The floodfill router replies with a\n"
+"I2NP DeliveryStatusMessage,\n"
+"with the Message ID set to the value of the Reply Token."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:435
+msgid "LeaseSet Storage to Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:436
+msgid ""
+"Storage of LeaseSets is much more sensitive than for RouterInfos, as a router\n"
+"must take care that the LeaseSet cannot be associated with the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:441
+#, python-format
+msgid ""
+"A router publishes a local LeaseSet by\n"
+"sending a I2NP DatabaseStoreMessage\n"
+"with a nonzero Reply Token over an outbound client tunnel for that Destination.\n"
+"The message is end-to-end garlic encrypted using the Destination's Session Key Manager,\n"
+"to hide the message from the tunnel's outbound endpoint.\n"
+"The floodfill router replies with a\n"
+"I2NP DeliveryStatusMessage,\n"
+"with the Message ID set to the value of the Reply Token.\n"
+"This message is sent back to one of the client's inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:454
+msgid "Flooding"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:455
+#, python-format
+msgid ""
+"After a floodfill router receives a DatabaseStoreMessage containing a\n"
+"valid RouterInfo or LeaseSet which is newer than that previously stored in its\n"
+"local NetDb, it \"floods\" it.\n"
+"To flood a NetDb entry, it looks up several (currently %(floodsize)s) floodfill routers closest to the routing key\n"
+"of the NetDb entry. (The routing key is the SHA256 Hash of the RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n"
+"By flooding to those closest to the key, not closest to itself, the floodfill ensures that the storage\n"
+"gets to the right place, even if the storing router did not have good knowledge of the\n"
+"DHT \"neighborhood\" for the routing key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:466
+#, python-format
+msgid ""
+"The floodfill then directly connects to each of those peers\n"
+"and sends it a I2NP DatabaseStoreMessage\n"
+"with a zero Reply Token. The message is not end-to-end garlic encrypted,\n"
+"as this is a direct connection, so there are no intervening routers\n"
+"(and no need to hide this data anyway).\n"
+"The other routers do not reply or re-flood, as the Reply Token is zero."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:476
+msgid "RouterInfo and LeaseSet Lookup"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:477
+#, python-format
+msgid ""
+"The I2NP DatabaseLookupMessage is used to request a netdb entry from a floodfill router.\n"
+"Lookups are sent out one of the router's outbound exploratory tunnels.\n"
+"The replies are specified to return via one of the router's inbound exploratory tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:483
+msgid ""
+"Lookups are generally sent to the two \"good\" (the connection doesn't fail)"
+" floodfill routers closest to the requested key, in parallel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:487
+#, python-format
+msgid ""
+"If the key is found locally by the floodfill router, it responds with a\n"
+"I2NP DatabaseStoreMessage.\n"
+"If the key is not found locally by the floodfill router, it responds with a\n"
+"I2NP DatabaseSearchReplyMessage\n"
+"containing a list of other floodfill routers close to the key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:495
+msgid ""
+"LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n"
+"RouterInfo lookups are not encrypted and thus are vulnerable to snooping by the outbound endpoint\n"
+"(OBEP) of the client tunnel. This is due to the expense of the ElGamal encryption.\n"
+"RouterInfo lookup encryption may be enabled in a future release."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:502
+msgid ""
+"As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
+"will be encrypted by including the session key and tag in the lookup.\n"
+"This hides the reply from the inbound gateway (IBGW) of the reply tunnel.\n"
+"Responses to RouterInfo lookups will be encrypted if we enable the lookup encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:509
+#, python-format
+msgid ""
+"(Reference: Hashing it out in Public Sections "
+"2.2-2.3 for terms below in italics)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:513
+msgid ""
+"Due to the relatively small size of the network and the flooding redundancy of 8x,\n"
+"lookups are usually O(1) rather than O(log n) --\n"
+"a router is highly likely to know a floodfill router close enough to the key to get the answer on the first try.\n"
+"In releases prior to 0.8.9, routers used a lookup redundancy of two\n"
+"(that is, two lookups were performed in parallel to different peers), and\n"
+"neither recursive nor iterative routing for lookups was implemented.\n"
+"Queries were sent through multiple routes simultaneously\n"
+"to reduce the chance of query failure."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:524
+msgid ""
+"As of release 0.8.9, iterative lookups are implemented with no lookup redundancy.\n"
+"This is a more efficient and reliable lookup that will work much better\n"
+"when not all floodfill peers are known, and it removes a serious\n"
+"limitation to network growth. As the network grows and each router knows only a small\n"
+"subset of the floodfill peers, lookups will become O(log n).\n"
+"Even if the peer does not return references closer to the key, the lookup continues with\n"
+"the next-closest peer, for added robustness, and to prevent a malicious floodfill from\n"
+"black-holing a part of the key space. Lookups continue until a total lookup timeout is reached,\n"
+"or the maximum number of peers is queried."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:536
+msgid ""
+"Node IDs are verifiable in that we use the router hash directly as both the node ID and the Kademlia key.\n"
+"Incorrect responses that are not closer to the search key are generally ignored.\n"
+"Given the current size of the network, a router has\n"
+"detailed knowledge of the neighborhood of the destination ID space."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:545
+msgid "RouterInfo Storage Verification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:546
+#, python-format
+msgid ""
+"Note: RouterInfo verification is disabled as of release 0.9.7.1 to prevent\n"
+"the attack described in the paper\n"
+"Practical Attacks Against the I2P Network.\n"
+"It is not clear if verification can be redesigned to be done safely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:553
+msgid ""
+"To verify a storage was successful, a router simply waits about 10 seconds,\n"
+"then sends a lookup to another floodfill router close to the key\n"
+"(but not the one the store was sent to).\n"
+"Lookups sent out one of the router's outbound exploratory tunnels.\n"
+"Lookups are end-to-end garlic encrypted to prevent snooping by the outbound endpoint(OBEP)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:561
+msgid "LeaseSet Storage Verification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:562
+msgid ""
+"To verify a storage was successful, a router simply waits about 10 seconds,\n"
+"then sends a lookup to another floodfill router close to the key\n"
+"(but not the one the store was sent to).\n"
+"Lookups sent out one of the outbound client tunnels for the destination of the LeaseSet being verified.\n"
+"To prevent snooping by the OBEP of the outbound tunnel,\n"
+"lookups are end-to-end garlic encrypted.\n"
+"The replies are specified to return via one of the client's inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:572
+msgid ""
+"As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
+"will be encrypted,\n"
+"to hide the reply from the inbound gateway (IBGW) of the reply tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:580
+msgid "Exploration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:581
+#, python-format
+msgid ""
+"Exploration is a special form of netdb lookup, where a router attempts to learn about\n"
+"new routers.\n"
+"It does this by sending a floodfill router a I2NP DatabaseLookupMessage, looking for a random key.\n"
+"As this lookup will fail, the floodfill would normally respond with a\n"
+"I2NP DatabaseSearchReplyMessage containing hashes of floodfill routers close to the key.\n"
+"This would not be helpful, as the requesting router probably already knows those floodfills,\n"
+"and it would be impractical to add ALL floodfill routers to the \"don't include\" field of the lookup.\n"
+"For an exploration query, the requesting router adds a router hash of all zeros to the\n"
+"\"don't include\" field of the DatabaseLookupMessage.\n"
+"The floodfill will then respond only with non-floodfill routers close to the requested key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:595
+msgid "Notes on Lookup Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:596
+msgid ""
+"The response to a lookup request is either a Database Store Message (on success) or a\n"
+"Database Search Reply Message (on failure). The DSRM contains a 'from' router hash field\n"
+"to indicate the source of the reply; the DSM does not.\n"
+"The DSRM 'from' field is unauthenticated and may be spoofed or invalid.\n"
+"There are no other response tags. Therefore, when making multiple requests in parallel, it is\n"
+"difficult to monitor the performance of the various floodfill routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:606
+msgid "MultiHoming"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:608
+msgid ""
+"Destinations may be hosted on multiple routers simultaneously, by using the same\n"
+"private and public keys (traditionally stored in eepPriv.dat files).\n"
+"As both instances will periodically publish their signed LeaseSets to the floodfill peers,\n"
+"the most recently published LeaseSet will be returned to a peer requesting a database lookup.\n"
+"As LeaseSets have (at most) a 10 minute lifetime, should a particular instance go down,\n"
+"the outage will be 10 minutes at most, and generally much less than that.\n"
+"The multihoming function has been verified and is in use by several services on the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:618
+msgid "Threat Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:619
+#, python-format
+msgid ""
+"Also discussed on the threat model "
+"page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:623
+msgid ""
+"A hostile user may attempt to harm the network by\n"
+"creating one or more floodfill routers and crafting them to offer\n"
+"bad, slow, or no responses.\n"
+"Some scenarios are discussed below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:630
+msgid "General Mitigation Through Growth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:631
+#, python-format
+msgid ""
+"There are currently around %(ffcount)s floodfill routers in the network.\n"
+"Most of the following attacks will become more difficult, or have less impact,\n"
+"as the network size and number of floodfill routers increase."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:638
+msgid "General Mitigation Through Redundancy"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:639
+#, python-format
+msgid ""
+"Via flooding, all netdb entries are stored on the %(floodsize)s floodfill "
+"routers closest to the key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:644
+msgid "Forgeries"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:645
+msgid ""
+"All netdb entries are signed by their creators, so no router may forge a\n"
+"RouterInfo or LeaseSet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:650
+msgid "Slow or Unresponsive"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:651
+#, python-format
+msgid ""
+"Each router maintains an expanded set of statistics in the\n"
+"peer profile for each floodfill router,\n"
+"covering various quality metrics for that peer.\n"
+"The set includes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:658
+msgid "Average response time"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:659
+msgid "Percentage of queries answered with the data requested"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:660
+msgid "Percentage of stores that were successfully verified"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:661
+msgid "Last successful store"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:662
+msgid "Last successful lookup"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:663
+msgid "Last response"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:666
+msgid ""
+"Each time a router needs to make a determination on which floodfill router is closest to a key,\n"
+"it uses these metrics to determine which floodfill routers are \"good\".\n"
+"The methods, and thresholds, used to determine \"goodness\" are relatively new, and\n"
+"are subject to further analysis and improvement.\n"
+"While a completely unresponsive router will quickly be identified and avoided,\n"
+"routers that are only sometimes malicious may be much harder to deal with."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:676
+msgid "Sybil Attack (Full Keyspace)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:677
+#, python-format
+msgid ""
+"An attacker may mount a Sybil attack\n"
+"by creating a large number of floodfill routers spread throughout the keyspace."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:682
+#, python-format
+msgid ""
+"(In a related example, a researcher recently created a\n"
+"large number of Tor relays.)\n"
+"If successful, this could be an effective DOS attack on the entire network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:688
+msgid ""
+"If the floodfills are not sufficiently misbehaving to be marked as \"bad\" using the peer profile\n"
+"metrics described above, this is a difficult scenario to handle.\n"
+"Tor's response can be much more nimble in the relay case, as the suspicious relays\n"
+"can be manually removed from the consensus.\n"
+"Some possible responses for the I2P network are listed below, however none of them is completely satisfactory:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:696
+msgid ""
+"Compile a list of bad router hashes or IPs, and announce the list through various means\n"
+"(console news, website, forum, etc.); users would have to manually download the list and\n"
+"add it to their local \"blacklist\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:701
+msgid ""
+"Ask everyone in the network to enable floodfill manually (fight Sybil with "
+"more Sybil)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:702
+msgid "Release a new software version that includes the hardcoded \"bad\" list"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:703
+msgid ""
+"Release a new software version that improves the peer profile metrics and thresholds,\n"
+"in an attempt to automatically identify the \"bad\" peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:707
+msgid ""
+"Add software that disqualifies floodfills if too many of them are in a "
+"single IP block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:708
+msgid ""
+"Implement an automatic subscription-based blacklist controlled by a single individual or group.\n"
+"This would essentially implement a portion of the Tor \"consensus\" model.\n"
+"Unfortunately it would also give a single individual or group the power to\n"
+"block participation of any particular router or IP in the network,\n"
+"or even to completely shutdown or destroy the entire network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:717
+msgid "This attack becomes more difficult as the network size grows."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:723
+msgid "Sybil Attack (Partial Keyspace)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:724
+#, python-format
+msgid ""
+"An attacker may mount a Sybil attack\n"
+"by creating a small number (8-15) of floodfill routers clustered closely in the keyspace,\n"
+"and distribute the RouterInfos for these routers widely.\n"
+"Then, all lookups and stores for a key in that keyspace would be directed\n"
+"to one of the attacker's routers.\n"
+"If successful, this could be an effective DOS attack on a particular eepsite, for example."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:733
+msgid ""
+"As the keyspace is indexed by the cryptographic (SHA256) Hash of the key,\n"
+"an attacker must use a brute-force method to repeatedly generate router hashes\n"
+"until he has enough that are sufficiently close to the key.\n"
+"The amount of computational power required for this, which is dependent on network\n"
+"size, is unknown."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:741
+msgid ""
+"As a partial defense against this attack,\n"
+"the algorithm used to determine Kademlia \"closeness\" varies over time.\n"
+"Rather than using the Hash of the key (i.e. H(k)) to determine closeness,\n"
+"we use the Hash of the key appended with the current date string, i.e. H(k + YYYYMMDD).\n"
+"A function called the \"routing key generator\" does this, which transforms the original key into a \"routing key\".\n"
+"In other words, the entire netdb keyspace \"rotates\" every day at UTC midnight.\n"
+"Any partial-keyspace attack would have to be regenerated every day, for\n"
+"after the rotation, the attacking routers would no longer be close\n"
+"to the target key, or to each other."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:753
+msgid ""
+"This attack becomes more difficult as the network size grows.\n"
+"However, recent research demonstrates that the keyspace rotation is not particularly effective.\n"
+"An attacker can precompute numerous router hashes in advance,\n"
+"and only a few routers are sufficient to \"eclipse\" a portion\n"
+"of the keyspace within a half hour after rotation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:761
+msgid ""
+"One consequence of daily keyspace rotation is that the distributed network database\n"
+"may become unreliable for a few minutes after the rotation --\n"
+"lookups will fail because the new \"closest\" router has not received a store yet.\n"
+"The extent of the issue, and methods for mitigation\n"
+"(for example netdb \"handoffs\" at midnight)\n"
+"are a topic for further study."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:771
+msgid "Bootstrap Attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:772
+msgid ""
+"An attacker could attempt to boot new routers into an isolated\n"
+"or majority-controlled network by taking over a reseed website,\n"
+"or tricking the developers into adding his reseed website\n"
+"to the hardcoded list in the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:779
+msgid "Several defenses are possible, and most of these are planned:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:783
+msgid ""
+"Disallow fallback from HTTPS to HTTP for reseeding.\n"
+"A MITM attacker could simply block HTTPS, then respond to the HTTP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:787
+msgid "Bundling reseed data in the installer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:790
+msgid "Defenses that are implemented:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:794
+msgid ""
+"Changing the reseed task to fetch a subset of RouterInfos from\n"
+"each of several reseed sites rather than using only a single site"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:798
+msgid ""
+"Creating an out-of-network reseed monitoring service that\n"
+"periodically polls reseed websites and verifies that the\n"
+"data are not stale or inconsistent with other views of the network"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:803
+msgid ""
+"As of release 0.9.14, reseed data is bundled into a signed zip file and\n"
+"the signature is verified when downloaded."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:811
+msgid "Query Capture"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:812
+#, python-format
+msgid ""
+"See also lookup\n"
+"(Reference: Hashing it out in Public Sections 2.2-2.3 for terms below in italics)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:817
+msgid ""
+"Similar to a bootstrap attack, an attacker using a floodfill router could attempt to \"steer\"\n"
+"peers to a subset of routers controlled by him by returning their references."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:822
+msgid ""
+"This is unlikely to work via exploration, because exploration is a low-frequency task.\n"
+"Routers acquire a majority of their peer references through normal tunnel building activity.\n"
+"Exploration results are generally limited to a few router hashes,\n"
+"and each exploration query is directed to a random floodfill router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:829
+#, python-format
+msgid ""
+"As of release 0.8.9, iterative lookups are implemented.\n"
+"For floodfill router references returned in a\n"
+"I2NP DatabaseSearchReplyMessage\n"
+"response to a lookup,\n"
+"these references are followed if they are closer (or the next closest) to the lookup key.\n"
+"The requesting router does not trust that the references are\n"
+"closer to the key (i.e. they are verifiably correct.\n"
+"The lookup also does not stop when no closer key is found, but continues by querying the\n"
+"next-closet node, until the timeout or maximum number of queries is reached.\n"
+"This prevents a malicious floodfill from black-holing a part of the key space.\n"
+"Also, the daily keyspace rotation requires an attacker to regenerate a router info\n"
+"within the desired key space region.\n"
+"This design ensures that the query capture attack described in\n"
+"Hashing it out in Public\n"
+"is much more difficult."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:848
+msgid "DHT-Based Relay Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:849
+#, python-format
+msgid "(Reference: Hashing it out in Public Section 3)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:853
+#, python-format
+msgid ""
+"This doesn't have much to do with floodfill, but see\n"
+"the peer selection page\n"
+"for a discussion of the vulnerabilities of peer selection for tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:859
+msgid "Information Leaks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:860
+#, python-format
+msgid ""
+"(Reference: In Search of an Anonymous and Secure "
+"Lookup Section 3)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:864
+#, python-format
+msgid ""
+"This paper addresses weaknesses in the \"Finger Table\" DHT lookups used by Torsk and NISAN.\n"
+"At first glance, these do not appear to apply to I2P. First, the use of DHT by Torsk and NISAN\n"
+"is significantly different from that in I2P. Second, I2P's network database lookups are only\n"
+"loosely correlated to the peer selection and\n"
+"tunnel building processes; only previously-known peers\n"
+"are used for tunnels.\n"
+"Also, peer selection is unrelated to any notion of DHT key-closeness."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:875
+msgid ""
+"Some of this may actually be more interesting when the I2P network gets much larger.\n"
+"Right now, each router knows a large proportion of the network, so looking up a particular\n"
+"Router Info in the network database is not strongly indicative of a future intent to use\n"
+"that router in a tunnel. Perhaps when the network is 100 times larger, the lookup may be\n"
+"more correlative. Of course, a larger network makes a Sybil attack that much harder."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:883
+#, python-format
+msgid ""
+"However, the general issue of DHT information leakage in I2P needs further investigation.\n"
+"The floodfill routers are in a position to observe queries and gather information.\n"
+"Certainly, at a level of f = 0.2 (20% malicious nodes, as specifed in the paper)\n"
+"we expect that many of the Sybil threats we describe\n"
+"(here,\n"
+"here and\n"
+"here)\n"
+"become problematic for several reasons."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:897
+msgid "Moved to the netdb discussion page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:901
+msgid "End-to-end encryption of additional netDb lookups and responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:905
+msgid "Better methods for tracking lookup responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:2
+msgid "Peer Profiling and Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:3
+msgid "July 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:8
+msgid "Peer Profiling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:10
+#, python-format
+msgid ""
+"Peer profiling is the process of collecting data based on the observed performance\n"
+"of other routers or peers, and classifying those peers into groups.\n"
+"Profiling does not use any claimed performance data published by the peer itself\n"
+"in the network database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:17
+msgid "Profiles are used for two purposes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:19
+msgid "Selecting peers to relay our traffic through, which is discussed below"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:20
+#, python-format
+msgid ""
+"Choosing peers from the set of floodfill routers to use for network database storage and queries,\n"
+"which is discussed on the network database page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:27
+#: i2p2www/pages/site/docs/how/peer-selection.html:187
+#: i2p2www/pages/site/docs/tunnels/implementation.html:289
+msgid "Peer Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:28
+msgid ""
+"Peer selection is the process of choosing which routers\n"
+"on the network we want to relay our messages to go through (which peers will we \n"
+"ask to join our tunnels). To accomplish this, we keep track of how each\n"
+"peer performs (the peer's \"profile\") and use that data to estimate how \n"
+"fast they are, how often they will be able to accept our requests, and \n"
+"whether they seem to be overloaded or otherwise unable to perform what\n"
+"they agree to reliably."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:38
+#, python-format
+msgid ""
+"Unlike some other anonymous networks, in I2P,\n"
+"claimed bandwidth is untrusted and is only used to avoid those peers\n"
+"advertising very low bandwidth insufficient for routing tunnels.\n"
+"All peer selection is done through profiling.\n"
+"This prevents simple attacks based on peers claiming high bandwidth\n"
+"in order to capture large numbers of tunnels.\n"
+"It also makes\n"
+"timing attacks\n"
+"more difficult."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:50
+msgid ""
+"Peer selection is done quite frequently, as a router may maintain a large number\n"
+"of client and exploratory tunnels, and a tunnel lifetime is only 10 minutes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:56
+msgid "Further Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:57
+#, python-format
+msgid ""
+"For more information see the paper\n"
+"Peer Profiling and Selection in the I2P Anonymous Network\n"
+"presented at PET-CON 2009.1.\n"
+"See below for notes on minor changes since the paper was published."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:65
+msgid "Profiles"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:66
+#, python-format
+msgid ""
+"Each peer has a set of data points collected about them, including statistics \n"
+"about how long it takes for them to reply to a network database query, how \n"
+"often their tunnels fail, and how many new peers they are able to introduce \n"
+"us to, as well as simple data points such as when we last heard from them or\n"
+"when the last communication error occurred. The specific data points gathered\n"
+"can be found in the code."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:75
+msgid ""
+"Profiles are fairly small, a few KB. To control memory usage, the profile expiration time\n"
+"lessens as the number of profiles grows.\n"
+"Profiles are kept in memory until router shutdown, when they are written to disk.\n"
+"At startup, the profiles are read so the router need not reinitialize all profiles,\n"
+"thus allowing a router to quickly re-integrate into the network after startup."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:85
+msgid "Peer Summaries"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:86
+msgid ""
+"While the profiles themselves can be considered a summary of a peer's \n"
+"performance, to allow for effective peer selection we break each summary down \n"
+"into four simple values, representing the peer's speed, its capacity, how well \n"
+"integrated into the network it is, and whether it is failing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:93
+msgid "Speed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:94
+msgid ""
+"The speed calculation\n"
+"simply goes through the profile and estimates how much data we can\n"
+"send or receive on a single tunnel through the peer in a minute. For this estimate it just looks at\n"
+"performance in the previous minute."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:101
+msgid "Capacity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:102
+msgid ""
+"The capacity calculation\n"
+"simply goes through the profile and estimates how many tunnels the peer\n"
+"would agree to participate in over a given time period. For this estimate it looks at \n"
+"how many tunnel build requests\n"
+"the peer has accepted, rejected, and dropped, and how many\n"
+"of the agreed-to tunnels later failed.\n"
+"While the calculation is time-weighted so that recent activity counts more than later activity,\n"
+"statistics up to 48 hours old may be included."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:113
+msgid ""
+"Recognizing and avoiding unreliable and unreachable\n"
+"peers is critically important.\n"
+"Unfortunately, as the tunnel building and testing require the participation of several peers,\n"
+"it is difficult to positively identify the cause of a dropped build request or test failure.\n"
+"The router assigns a probability of failure to each of the\n"
+"peers, and uses that probability in the capacity calculation.\n"
+"Drops and test failures are weighted much higher than rejections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:123
+msgid "Peer organization"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:124
+msgid ""
+"As mentioned above, we drill through each peer's profile to come up with a \n"
+"few key calculations, and based upon those, we organize each peer into three\n"
+"groups - fast, high capacity, and standard."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:130
+msgid "The groupings are not mutually exclusive, nor are they unrelated:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:134
+msgid ""
+"A peer is considered \"high capacity\" if its capacity calculation meets or \n"
+"exceeds the median of all peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:138
+msgid ""
+"A peer is considered \"fast\" if they are already \"high capacity\" and their \n"
+"speed calculation meets or exceeds the median of all peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:142
+msgid "A peer is considered \"standard\" if it is not \"high capacity\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:145
+#, python-format
+msgid ""
+"These groupings are implemented in the router's\n"
+"ProfileOrganizer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:150
+msgid "Group size limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:151
+msgid "The size of the groups may be limited."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:156
+msgid ""
+"The fast group is limited to 30 peers.\n"
+"If there would be more, only the ones with the highest speed rating are placed in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:160
+msgid ""
+"The high capacity group is limited to 75 peers (including the fast group)\n"
+"If there would be more, only the ones with the highest capacity rating are placed in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:164
+msgid ""
+"The standard group has no fixed limit, but is somewhat smaller than the number of RouterInfos\n"
+"stored in the local network database.\n"
+"On an active router in today's network, there may be about 1000 RouterInfos and 500 peer profiles\n"
+"(including those in the fast and high capacity groups)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:172
+msgid "Recalculation and Stability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:173
+msgid ""
+"Summaries are recalculated, and peers are resorted into groups, every 45 "
+"seconds."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:177
+msgid ""
+"The groups tend to be fairly stable, that is, there is not much \"churn\" in the rankings\n"
+"at each recalculation.\n"
+"Peers in the fast and high capacity groups get more tunnels build through them, which increases their speed and capacity ratings,\n"
+"which reinforces their presence in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:188
+msgid ""
+"The router selects peers from the above groups to build tunnels through."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:193
+msgid "Peer Selection for Client Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:194
+msgid ""
+"Client tunnels are used for application traffic, such as for HTTP proxies "
+"and web servers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:198
+msgid ""
+"To reduce the susceptibility to some attacks,\n"
+"and increase performance,\n"
+"peers for building client tunnels are chosen randomly from the smallest group, which is the \"fast\" group.\n"
+"There is no bias toward selecting peers that were previously participants in a tunnel for the same client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:206
+msgid "Peer Selection for Exploratory Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:207
+msgid ""
+"Exploratory tunnels are used for router administrative purposes, such as network database traffic\n"
+"and testing client tunnels.\n"
+"Exploratory tunnels are also used to contact previously unconnected routers, which is why\n"
+"they are called \"exploratory\".\n"
+"These tunnels are usually low-bandwidth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:215
+msgid ""
+"Peers for building exploratory tunnels are generally chosen randomly from the standard group.\n"
+"If the success rate of these build attempts is low compared to the client tunnel build success rate,\n"
+"the router will select a weighted average of peers randomly from the high capacity group instead.\n"
+"This helps maintain a satisfactory build success rate even when network performance is poor.\n"
+"There is no bias toward selecting peers that were previously participants in an exploratory tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:223
+msgid ""
+"As the standard group includes a very large subset of all peers the router knows about,\n"
+"exploratory tunnels are essentially built through a random selection of all peers,\n"
+"until the build success rate becomes too low."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:231
+msgid "Restrictions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:232
+msgid ""
+"To prevent some simple attacks, and for performance, there are the following"
+" restrictions:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:236
+msgid "Two peers from the same /16 IP space may not be in the same tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:239
+msgid ""
+"A peer may participate in a maximum of 33% of all tunnels created by the"
+" router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:242
+msgid "Peers with extremely low bandwidth are not used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:245
+msgid "Peers for which a recent connection attempt failed are not used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:252
+msgid "Peer Ordering in Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:253
+#, python-format
+msgid ""
+"Peers are ordered within tunnels to\n"
+"to deal with the predecessor attack\n"
+"(2008 update).\n"
+"More information is on the tunnel page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:268
+msgid ""
+"Continue to analyze an tune speed and capacity calculations as necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:271
+msgid ""
+"Implement a more aggressive ejection strategy if necessary to control memory"
+" usage as the network grows"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:274
+msgid "Evaluate group size limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:277
+msgid "Use GeoIP data to include or exclude certain peers, if configured"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:283
+#, python-format
+msgid ""
+"For those reading the paper\n"
+"Peer Profiling and Selection in the I2P Anonymous Network,\n"
+"please keep in mind the following minor changes in I2P since the paper's publication:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:289
+msgid "The Integration calculation is still not used"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:290
+msgid "In the paper, \"groups\" are called \"tiers\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:291
+msgid "The \"Failing\" tier is no longer used"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:292
+msgid "The \"Not Failing\" tier is now named \"Standard\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:301
+msgid "One Cell Enough"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:303
+msgid "Tor Entry Guards"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:305
+msgid "Murdoch 2007 Paper"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:307
+msgid "Tune-up for Tor"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:309
+msgid "Low-resource Routing Attacks Against Tor"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:2
+msgid "I2P: A scalable framework for anonymous communication"
+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:342
+msgid "Introduction"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:7
+msgid "I2P Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:12
+#: i2p2www/pages/site/docs/how/tech-intro.html:397
+msgid "Transport protocols"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:13
+#: i2p2www/pages/site/docs/how/tech-intro.html:454
+msgid "Cryptography"
+msgstr "Fanafenana"
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:21
+msgid ""
+"I2P is a scalable, self organizing, resilient packet switched anonymous \n"
+"network layer, upon which any number of different anonymity or security conscious \n"
+"applications can operate. Each of these applications may make their own anonymity, \n"
+"latency, and throughput tradeoffs without worrying about the proper implementation \n"
+"of a free route mixnet, allowing them to blend their activity with the larger \n"
+"anonymity set of users already running on top of I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:30
+msgid ""
+"Applications available already provide the full range of typical Internet activities -\n"
+"anonymous web browsing, web hosting, chat, file sharing, e-mail,\n"
+"blogging and content syndication, newsgroups, as well as several other applications under development."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:36
+msgid "Web browsing: using any existing browser that supports using a proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:37
+msgid "Chat: IRC, Jabber, I2P-Messenger."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:38
+msgid ""
+"File sharing: I2PSnark, Robert, iMule, \n"
+"I2Phex, PyBit, I2P-bt\n"
+"and others."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:43
+msgid ""
+"E-mail: susimail and I2P-Bote."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:44
+msgid ""
+"Blog: using e.g. the pebble plugin or the distributed blogging software Syndie."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:45
+msgid ""
+"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS cloud "
+"over I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:46
+msgid "Newsgroups: using any newsgroup reader that supports using a proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:49
+msgid ""
+"Unlike web sites hosted within content distribution networks like Freenet \n"
+"or GNUnet, the services hosted on \n"
+"I2P are fully interactive - there are traditional web-style search engines, \n"
+"bulletin boards, blogs you can comment on, database driven sites, and bridges \n"
+"to query static systems like Freenet without needing to install it locally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:57
+msgid ""
+"With all of these anonymity enabled applications, I2P takes on the role \n"
+"of the message oriented middleware - applications say that they want to send \n"
+"some data to a cryptographic identifier (a \"destination\") and I2P takes care \n"
+"of making sure it gets there securely and anonymously. I2P also bundles a \n"
+"simple streaming library to allow I2P's anonymous \n"
+"best-effort messages to transfer as reliable, in-order streams, transparently \n"
+"offering a TCP based congestion control algorithm tuned for the high bandwidth \n"
+"delay product of the network. While there have been several simple SOCKS proxies \n"
+"available to tie existing applications into the network, their value has been \n"
+"limited as nearly every application routinely exposes what, in an anonymous \n"
+"context, is sensitive information. The only safe way to go is to fully audit \n"
+"an application to ensure proper operation and to assist in that we provide \n"
+"a series of APIs in various languages which can be used to make the most out \n"
+"of the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:74
+#, python-format
+msgid ""
+"I2P is not a research project - academic, commercial, or governmental, but \n"
+"is instead an engineering effort aimed at doing whatever is necessary to provide \n"
+"a sufficient level of anonymity to those who need it. It has been in active \n"
+"development since early 2003 with one full time developer and a dedicated \n"
+"group of part time contributors from all over the world. All of the work done \n"
+"on I2P is open source and freely available on the website, \n"
+"with the majority of the code released outright into the public domain, though \n"
+"making use of a few cryptographic routines under BSD-style licenses. The people \n"
+"working on I2P do not control what people release client applications under, \n"
+"and there are several GPL'ed applications available (I2PTunnel, \n"
+"susimail, I2PSnark, I2P-Bote, \n"
+"I2Phex and others.).\n"
+"Funding for I2P comes entirely from donations,\n"
+"and does not receive any tax breaks in any jurisdiction at this time,\n"
+"as many of the developers are themselves anonymous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:92
+msgid "Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:94
+msgid ""
+"To understand I2P's operation, it is essential to understand a few key concepts. \n"
+"First, I2P makes a strict separation between the software participating in \n"
+"the network (a \"router\") and the anonymous endpoints (\"destinations\") associated \n"
+"with individual applications. The fact that someone is running I2P is not \n"
+"usually a secret. What is hidden is information on what the user is doing, \n"
+"if anything at all, as well as what router a particular destination is connected \n"
+"to. End users will typically have several local destinations on their router \n"
+"- for instance, one proxying in to IRC servers, another supporting the user's \n"
+"anonymous webserver (\"eepsite\"), another for an I2Phex instance, another for \n"
+"torrents, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:107
+msgid ""
+"Another critical concept to understand is the \"tunnel\".\n"
+"A tunnel is a directed path through an explicitly selected list of routers.\n"
+"Layered encryption is used, so each of the routers can only decrypt a single layer.\n"
+"The decrypted information contains the IP of the next router, along with\n"
+"the encrypted information to be forwarded.\n"
+"Each tunnel has a starting point (the first router, also known as \"gateway\")\n"
+"and an end point. Messages can be sent only in one way. To send messages back,\n"
+"another tunnel is required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:118
+#: i2p2www/pages/site/docs/tunnels/implementation.html:105
+msgid "Inbound and outbound tunnel schematic"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:120
+msgid "Figure 1: Two types of tunnels exist: inbound and outbound."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:123
+msgid ""
+"Two types of tunnels exist:\n"
+"\"outbound\" tunnels send messages away from the tunnel creator,\n"
+"while \"inbound\" tunnels bring messages to the tunnel creator.\n"
+"Combining these two tunnels allows users to send messages to each other.\n"
+"The sender (\"Alice\" in the above image) sets up an outbound tunnel,\n"
+"while the receiver (\"Bob\" in the above image) creates an inbound tunnel.\n"
+"The gateway of an inbound tunnel can receive messages from any other user\n"
+"and will send them on until the endpoint (\"Bob\").\n"
+"The endpoint of the outbound tunnel will need to send the message\n"
+"on to the gateway of the inbound tunnel.\n"
+"To do this, the sender (\"Alice\") adds instructions to her encrypted message.\n"
+"Once the endpoint of the outbound tunnel decrypts the message,\n"
+"it will have instructions to forward the message to the correct\n"
+"inbound gateway (the gateway to \"Bob\")."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:140
+msgid ""
+"A third critical concept to understand is I2P's \"network database\" (or \"netDb\") \n"
+"- a pair of algorithms used to share network metadata. The two types of metadata \n"
+"carried are \"routerInfo\" and \"leaseSets\" - the routerInfo gives routers the \n"
+"data necessary for contacting a particular router (their public keys, transport \n"
+"addresses, etc), while the leaseSet gives routers the information necessary \n"
+"for contacting a particular destination. A leaseSet contains a number of \"leases\".\n"
+"Each of this leases specifies a tunnel gateway, which allows reaching a specific destination.\n"
+"The full information contained in a lease:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:151
+msgid ""
+"Inbound gateway for a tunnel that allows reaching a specific destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:152
+msgid "Time when a tunnel expires."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:153
+msgid ""
+"Pair of public keys to be able to encrypt messages (to send through the "
+"tunnel and reach the destination)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:155
+msgid ""
+"Routers themselves send their routerInfo to the netDb directly, while leaseSets are sent through outbound tunnels\n"
+"(leaseSets need to be sent anonymously, to avoid correlating a router with his leaseSets)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:160
+msgid ""
+"We can combine the above concepts to build successful connections in the "
+"network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:164
+msgid ""
+"To build up her own inbound and outbound tunnels, Alice does a lookup in the netDb to collect routerInfo.\n"
+"This way, she gathers lists of peers she can use as hops in her tunnels.\n"
+"She can then send a build message to the first hop, requesting the construction of a tunnel and asking\n"
+"that router to send the construction message onward, until the tunnel has been constructed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:171
+msgid "Request information on other routers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:173
+msgid "Build tunnel using router information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:175
+msgid "Figure 2: Router information is used to build tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:178
+msgid ""
+"When Alice wants to send a message to Bob, she first does a lookup in the \n"
+"netDb to find Bob's leaseSet, giving her his current inbound tunnel gateways. \n"
+"She then picks one of her outbound tunnels and sends the message down it with \n"
+"instructions for the outbound tunnel's endpoint to forward the message on \n"
+"to one of Bob's inbound tunnel gateways. When the outbound tunnel endpoint \n"
+"receives those instructions, it forwards the message as requested, and when \n"
+"Bob's inbound tunnel gateway receives it, it is forwarded down the tunnel \n"
+"to Bob's router. If Alice wants Bob to be able to reply to the message, she \n"
+"needs to transmit her own destination explicitly as part of the message itself.\n"
+"This can be done by introducing a higher-level layer, which is done in the\n"
+"streaming library.\n"
+"Alice may also cut down on the response time by bundling her most \n"
+"recent LeaseSet with the message so that Bob doesn't need to do a netDb lookup \n"
+"for it when he wants to reply, but this is optional."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:195
+msgid "Connect tunnels using LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:195
+msgid "Connect tunnels using leaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:197
+msgid "Figure 3: LeaseSets are used to connect outbound and inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:200
+msgid ""
+"While the tunnels themselves have layered encryption to prevent unauthorized \n"
+"disclosure to peers inside the network (as the transport layer itself does \n"
+"to prevent unauthorized disclosure to peers outside the network), it is necessary \n"
+"to add an additional end to end layer of encryption to hide the message from \n"
+"the outbound tunnel endpoint and the inbound tunnel gateway. This \"garlic \n"
+"encryption\" lets Alice's router wrap up multiple messages into a single \n"
+"\"garlic message\", encrypted to a particular public key so that intermediary \n"
+"peers cannot determine either how many messages are within the garlic, what \n"
+"those messages say, or where those individual cloves are destined. For typical \n"
+"end to end communication between Alice and Bob, the garlic will be encrypted \n"
+"to the public key published in Bob's leaseSet, allowing the message to be \n"
+"encrypted without giving out the public key to Bob's own router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:215
+msgid ""
+"Another important fact to keep in mind is that I2P is entirely message based \n"
+"and that some messages may be lost along the way. Applications using I2P can \n"
+"use the message oriented interfaces and take care of their own congestion \n"
+"control and reliability needs, but most would be best served by reusing the \n"
+"provided streaming library to view I2P as a streams \n"
+"based network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:225
+msgid ""
+"Both inbound and outbound tunnels work along similar principles.\n"
+"The tunnel gateway accumulates a number of tunnel messages, eventually preprocessing \n"
+"them into something for tunnel delivery. Next, the gateway encrypts that preprocessed \n"
+"data and forwards it to the first hop. That peer and subsequent tunnel participants \n"
+"add on a layer of encryption after verifying that it isn't a duplicate before \n"
+"forward it on to the next peer. Eventually, the message arrives at the endpoint \n"
+"where the messages are split out again and forwarded on as requested. The \n"
+"difference arises in what the tunnel's creator does - for inbound tunnels, \n"
+"the creator is the endpoint and they simply decrypt all of the layers added, \n"
+"while for outbound tunnels, the creator is the gateway and they pre-decrypt \n"
+"all of the layers so that after all of the layers of per-hop encryption are \n"
+"added, the message arrives in the clear at the tunnel endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:240
+msgid ""
+"The choice of specific peers to pass on messages as well as their particular \n"
+"ordering is important to understanding both I2P's anonymity and performance \n"
+"characteristics. While the network database (below) has its own criteria for \n"
+"picking what peers to query and store entries on, tunnel creators may use any peers \n"
+"in the network in any order (and even any number of times) in a single tunnel. \n"
+"If perfect latency and capacity data were globally known, selection and ordering \n"
+"would be driven by the particular needs of the client in tandem with their \n"
+"threat model. Unfortunately, latency and capacity data is not trivial to gather \n"
+"anonymously, and depending upon untrusted peers to provide this information \n"
+"has its own serious anonymity implications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:253
+msgid ""
+"From an anonymity perspective, the simplest technique would be to pick peers \n"
+"randomly from the entire network, order them randomly and use those peers \n"
+"in that order for all eternity. From a performance perspective, the simplest \n"
+"technique would be to pick the fastest peers with the necessary spare capacity, \n"
+"spreading the load across different peers to handle transparent failover, \n"
+"and to rebuild the tunnel whenever capacity information changes. While the \n"
+"former is both brittle and inefficient, the later requires inaccessible information \n"
+"and offers insufficient anonymity. I2P is instead working on offering a range \n"
+"of peer selection strategies, coupled with anonymity aware measurement code \n"
+"to organize the peers by their profiles."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:266
+msgid ""
+"As a base, I2P is constantly profiling the peers with which it interacts \n"
+"with by measuring their indirect behavior - for instance, when a peer responds \n"
+"to a netDb lookup in 1.3 seconds, that round trip latency is recorded in the \n"
+"profiles for all of the routers involved in the two tunnels (inbound and outbound) \n"
+"through which the request and response passed, as well as the queried peer's \n"
+"profile. Direct measurement, such as transport layer latency or congestion, \n"
+"is not used as part of the profile, as it can be manipulated and associated \n"
+"with the measuring router, exposing them to trivial attacks. While gathering \n"
+"these profiles, a series of calculations are run on each to summarize its \n"
+"performance - its latency, capacity to handle lots of activity, whether they \n"
+"are currently overloaded, and how well integrated into the network they seem \n"
+"to be. These calculations are then compared for active peers to organize the \n"
+"routers into four tiers - fast and high capacity, high capacity, not failing, \n"
+"and failing. The thresholds for those tiers are determined dynamically, and \n"
+"while they currently use fairly simple algorithms, alternatives exist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:284
+msgid ""
+"Using this profile data, the simplest reasonable peer selection strategy is to\n"
+"pick peers randomly from the top tier (fast and high capacity), and this is\n"
+"currently deployed for client tunnels. Exploratory tunnels (used for netDb and\n"
+"tunnel management) pick peers randomly from the \"not failing\" tier (which\n"
+"includes routers in 'better' tiers as well), allowing the peer to sample\n"
+"routers more widely, in effect optimizing the peer selection through randomized\n"
+"hill climbing. These\n"
+"strategies alone do however leak information regarding the peers in the\n"
+"router's top tier through predecessor and netDb harvesting attacks. In turn,\n"
+"several alternatives exist which, while not balancing the load as evenly, will\n"
+"address the attacks mounted by particular classes of adversaries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:298
+msgid ""
+"By picking a random key and ordering the peers according to their XOR distance \n"
+"from it, the information leaked is reduced in predecessor and harvesting attacks \n"
+"according to the peers' failure rate and the tier's churn. Another simple \n"
+"strategy for dealing with netDb harvesting attacks is to simply fix the inbound \n"
+"tunnel gateway(s) yet randomize the peers further on in the tunnels. To deal \n"
+"with predecessor attacks for adversaries which the client contacts, the outbound \n"
+"tunnel endpoints would also remain fixed. The selection of which peer to fix \n"
+"on the most exposed point would of course need to have a limit to the duration, \n"
+"as all peers fail eventually, so it could either be reactively adjusted or \n"
+"proactively avoided to mimic a measured mean time between failures of other \n"
+"routers. These two strategies can in turn be combined, using a fixed exposed \n"
+"peer and an XOR based ordering within the tunnels themselves. A more rigid \n"
+"strategy would fix the exact peers and ordering of a potential tunnel, only \n"
+"using individual peers if all of them agree to participate in the same way \n"
+"each time. This varies from the XOR based ordering in that the predecessor \n"
+"and successor of each peer is always the same, while the XOR only makes sure \n"
+"their order doesn't change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:318
+#, python-format
+msgid ""
+"As mentioned before, I2P currently (release 0.8) includes the tiered \n"
+"random strategy above, with XOR-based ordering. A \n"
+"more detailed discussion of the mechanics involved in tunnel operation, management, \n"
+"and peer selection can be found in the tunnel spec."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:326
+#, python-format
+msgid ""
+"As mentioned earlier, I2P's netDb works to share the network's metadata.\n"
+"This is detailed in the network database page,\n"
+"but a basic explanation is available below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:332
+msgid ""
+"A percentage of I2P users are appointed as 'floodfill peers'.\n"
+"Currently, I2P installations that have a lot of bandwidth and are fast enough,\n"
+"will appoint themselves as floodfill as soon as the number of existing floodfill routers\n"
+"drops too low."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:339
+#, python-format
+msgid ""
+"Other I2P routers will store their data and lookup data by sending simple 'store' and 'lookup' queries to the floodfills.\n"
+"If a floodfill router receives a 'store' query, it will spread the information to other floodfill routers\n"
+"using the Kademlia algorithm.\n"
+"The 'lookup' queries currently function differently, to avoid an important\n"
+"security issue.\n"
+"When a lookup is done, the floodfill router will not forward the lookup to other peers,\n"
+"but will always answer by itself (if it has the requested data)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:349
+msgid "Two types of information are stored in the network database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:353
+msgid ""
+"A RouterInfo stores information on a specific I2P router and how to "
+"contact it"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:354
+msgid ""
+"A LeaseSet stores information on a specific destination (e.g. I2P "
+"website, e-mail server...)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:356
+msgid ""
+"All of this information is signed by the publishing party and verified by any I2P router using or storing the information.\n"
+"In addition, the data contains timing information, to avoid storage of old entries and possible attacks.\n"
+"This is also why I2P bundles the necessary code for maintaining the correct time, occasionally querying some SNTP servers \n"
+"(the pool.ntp.org round robin by default)\n"
+"and detecting skew between routers at the transport layer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:364
+msgid "Some additional remarks are also important."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:369
+msgid "Unpublished and encrypted leasesets:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:370
+msgid ""
+"One could only want specific people to be able to reach a destination.\n"
+"This is possible by not publishing the destination in the netDb. You will however have to transmit the destination by other means.\n"
+"An alternative are the 'encrypted leaseSets'. These leaseSets can only be decoded by people with access to the decryption key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:377
+msgid "Bootstrapping:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:378
+msgid ""
+"Bootstrapping the netDb is quite simple. Once a router manages to receive a single routerInfo of a reachable peer,\n"
+"it can query that router for references to other routers in the network.\n"
+"Currently, a number of users post their routerInfo files to a website to make this information available.\n"
+"I2P automatically connects to one of these websites to gather routerInfo files and bootstrap."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:386
+msgid "Lookup scalability:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:387
+msgid ""
+"Lookups in the I2P network are not forwarded to other netDb routers.\n"
+"Currently, this is not a major problem, since the network is not very large.\n"
+"However, as the network grows, not all routerInfo and leaseSet files will be present\n"
+"on each netDb router. This will cause a deterioration of the percentage of successful lookups.\n"
+"Because of this, refinements to the netDb will be done in the next releases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:398
+msgid ""
+"Communication between routers needs to provide confidentiality and integrity \n"
+"against external adversaries while authenticating that the router contacted \n"
+"is the one who should receive a given message. The particulars of how routers \n"
+"communicate with other routers aren't critical - three separate protocols \n"
+"have been used at different points to provide those bare necessities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:406
+#, python-format
+msgid ""
+"I2P started with a TCP-based protocol which \n"
+"has since been disabled. Then, to accommodate the need for high degree communication \n"
+"(as a number of routers will end up speaking with many others), I2P moved \n"
+"from a TCP based transport to a UDP-based one - \"Secure \n"
+"Semireliable UDP\", or \"SSU\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:414
+#, python-format
+msgid "As described in the SSU spec:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:418
+msgid ""
+"The goal of this protocol is to provide secure, authenticated, \n"
+"semireliable and unordered message delivery, exposing only a minimal amount \n"
+"of data easily discernible to third parties. It should support high degree \n"
+"communication as well as TCP-friendly congestion control and may include \n"
+"PMTU detection. It should be capable of efficiently moving bulk data at rates \n"
+"sufficient for home users. In addition, it should support techniques for addressing \n"
+"network obstacles, like most NATs or firewalls."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:428
+#, python-format
+msgid ""
+"Following the introduction of SSU, after issues with congestion collapse \n"
+"appeared, a new NIO-based TCP transport called NTCP \n"
+"was implemented. It is enabled by default for outbound connections only. Those \n"
+"who configure their NAT/firewall to allow inbound connections and specify \n"
+"the external host and port (dyndns/etc is ok) on /config.jsp can receive inbound \n"
+"connections. As NTCP is NIO based, so it doesn't suffer from the 1 thread \n"
+"per connection issues of the old TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:438
+msgid ""
+"I2P supports multiple transports simultaneously. A particular transport \n"
+"for an outbound connection is selected with \"bids\". Each transport bids for \n"
+"the connection and the relative value of these bids assigns the priority. \n"
+"Transports may reply with different bids, depending on whether there is already \n"
+"an established connection to the peer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:446
+#, python-format
+msgid ""
+"The current implementation ranks NTCP as the highest-priority transport \n"
+"for outbound connections in most situations. SSU is enabled for both outbound \n"
+"and inbound connections. Your firewall and your I2P router must be configured \n"
+"to allow inbound NTCP connections. For further information see the NTCP \n"
+"page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:455
+msgid ""
+"A bare minimum set of cryptographic primitives are combined together to \n"
+"provide I2P's layered defenses against a variety of adversaries. At the lowest \n"
+"level, inter router communication is protected by the transport layer security \n"
+"- SSU encrypts each packet with AES256/CBC with both an explicit IV and MAC \n"
+"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a 2048bit \n"
+"Diffie-Hellman exchange, station-to-station authentication with the other \n"
+"router's DSA key, plus each network message has their own hash for local integrity \n"
+"checking. Tunnel messages passed over the transports \n"
+"have their own layered AES256/CBC encryption with an explicit IV and verified \n"
+"at the tunnel endpoint with an additional SHA256 hash. Various other messages \n"
+"are passed along inside \"garlic messages\", which are encrypted with ElGamal/AES+SessionTags \n"
+"(explained below)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:470
+msgid "Garlic messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:471
+msgid ""
+"Garlic messages are an extension of \"onion\" layered encryption, allowing \n"
+"the contents of a single message to contain multiple \"cloves\" - fully formed \n"
+"messages alongside their own instructions for delivery. Messages are wrapped \n"
+"into a garlic message whenever the message would otherwise be passing in cleartext \n"
+"through a peer who should not have access to the information - for instance, \n"
+"when a router wants to ask another router to participate in a tunnel, they \n"
+"wrap the request inside a garlic, encrypt that garlic to the receiving router's \n"
+"2048bit ElGamal public key, and forward it through a tunnel. Another example \n"
+"is when a client wants to send a message to a destination - the sender's router \n"
+"will wrap up that data message (alongside some other messages) into a garlic, \n"
+"encrypt that garlic to the 2048bit ElGamal public key published in the recipient's \n"
+"leaseSet, and forward it through the appropriate tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:486
+msgid ""
+"The \"instructions\" attached to each clove inside the encryption layer includes \n"
+"the ability to request that the clove be forwarded locally, to a remote router, \n"
+"or to a remote tunnel on a remote router. There are fields in those instructions \n"
+"allowing a peer to request that the delivery be delayed until a certain time \n"
+"or condition has been met, though they won't be honored until the nontrivial \n"
+"delays are deployed. It is possible to explicitly route garlic messages \n"
+"any number of hops without building tunnels, or even to reroute tunnel messages \n"
+"by wrapping them in garlic messages and forwarding them a number of hops prior \n"
+"to delivering them to the next hop in the tunnel, but those techniques are \n"
+"not currently used in the existing implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:499
+msgid "Session tags"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:500
+msgid ""
+"As an unreliable, unordered, message based system, I2P uses a simple combination \n"
+"of asymmetric and symmetric encryption algorithms to provide data confidentiality \n"
+"and integrity to garlic messages. As a whole, the combination is referred \n"
+"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to describe \n"
+"the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:539
+msgid ""
+"Session tags themselves have a very short lifetime, after which they are \n"
+"discarded if not used. In addition, the quantity stored for each key is limited, \n"
+"as are the number of keys themselves - if too many arrive, either new or old \n"
+"messages may be dropped. The sender keeps track whether messages using session \n"
+"tags are getting through, and if there isn't sufficient communication it may \n"
+"drop the ones previously assumed to be properly delivered, reverting back \n"
+"to the full expensive ElGamal encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:549
+msgid ""
+"One alternative is to transmit only a single session tag, and from that, \n"
+"seed a deterministic PRNG for determining what tags to use or expect. By keeping \n"
+"this PRNG roughly synchronized between the sender and recipient (the recipient \n"
+"precomputes a window of the next e.g. 50 tags), the overhead of periodically \n"
+"bundling a large number of tags is removed, allowing more options in the space/time \n"
+"tradeoff, and perhaps reducing the number of ElGamal encryptions necessary. \n"
+"However, it would depend upon the strength of the PRNG to provide the necessary \n"
+"cover against internal adversaries, though perhaps by limiting the amount \n"
+"of times each PRNG is used, any weaknesses can be minimized. At the moment, \n"
+"there are no immediate plans to move towards these synchronized PRNGs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:562
+msgid "Future"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:563
+msgid ""
+"While I2P is currently functional and sufficient for many scenarios, there \n"
+"are several areas which require further improvement to meet the needs of those \n"
+"facing more powerful adversaries as well as substantial user experience optimization."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:569
+msgid "Restricted route operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:570
+msgid ""
+"I2P is an overlay network designed to be run on top of a functional packet \n"
+"switched network, exploiting the end to end principle to offer anonymity and \n"
+"security. While the Internet no longer fully embraces the end to end principle\n"
+"(due to the usage of NAT), \n"
+"I2P does require a substantial portion of the network to be reachable - there \n"
+"may be a number of peers along the edges running using restricted routes, \n"
+"but I2P does not include an appropriate routing algorithm for the degenerate \n"
+"case where most peers are unreachable. It would, however work on top of a \n"
+"network employing such an algorithm."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:582
+msgid ""
+"Restricted route operation, where there are limits to what peers are reachable \n"
+"directly, has several different functional and anonymity implications, dependent \n"
+"upon how the restricted routes are handled. At the most basic level, restricted \n"
+"routes exist when a peer is behind a NAT or firewall which does not allow \n"
+"inbound connections. This was largely addressed in I2P 0.6.0.6 by integrating \n"
+"distributed hole punching into the transport layer, allowing people behind \n"
+"most NATs and firewalls to receive unsolicited connections without any configuration. \n"
+"However, this does not limit the exposure of the peer's IP address to routers \n"
+"inside the network, as they can simply get introduced to the peer through \n"
+"the published introducer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:595
+msgid ""
+"Beyond the functional handling of restricted routes, there are two levels \n"
+"of restricted operation that can be used to limit the exposure of one's IP \n"
+"address - using router-specific tunnels for communication, and offering 'client \n"
+"routers'. For the former, routers can either build a new pool of tunnels or \n"
+"reuse their exploratory pool, publishing the inbound gateways to some of them \n"
+"as part of their routerInfo in place of their transport addresses. When a \n"
+"peer wants to get in touch with them, they see those tunnel gateways in the \n"
+"netDb and simply send the relevant message to them through one of the published \n"
+"tunnels. If the peer behind the restricted route wants to reply, it may do \n"
+"so either directly (if they are willing to expose their IP to the peer) or \n"
+"indirectly through their outbound tunnels. When the routers that the peer \n"
+"has direct connections to want to reach it (to forward tunnel messages, for \n"
+"instance), they simply prioritize their direct connection over the published \n"
+"tunnel gateway. The concept of 'client routers' simply extends the restricted \n"
+"route by not publishing any router addresses. Such a router would not even \n"
+"need to publish their routerInfo in the netDb, merely providing their self \n"
+"signed routerInfo to the peers that it contacts (necessary to pass the router's \n"
+"public keys). Both levels of restricted route operation are planned for I2P \n"
+"2.0."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:617
+msgid ""
+"There are tradeoffs for those behind restricted routes, as they would likely \n"
+"participate in other people's tunnels less frequently, and the routers which \n"
+"they are connected to would be able to infer traffic patterns that would not \n"
+"otherwise be exposed. On the other hand, if the cost of that exposure is less \n"
+"than the cost of an IP being made available, it may be worthwhile. This, of \n"
+"course, assumes that the peers that the router behind a restricted route contacts \n"
+"are not hostile - either the network is large enough that the probability \n"
+"of using a hostile peer to get connected is small enough, or trusted (and \n"
+"perhaps temporary) peers are used instead."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:629
+msgid "Variable latency"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:630
+msgid ""
+"Even though the bulk of I2P's initial efforts have been on low latency communication, \n"
+"it was designed with variable latency services in mind from the beginning. \n"
+"At the most basic level, applications running on top of I2P can offer the \n"
+"anonymity of medium and high latency communication while still blending their \n"
+"traffic patterns in with low latency traffic. Internally though, I2P can offer \n"
+"its own medium and high latency communication through the garlic encryption \n"
+"- specifying that the message should be sent after a certain delay, at a certain \n"
+"time, after a certain number of messages have passed, or another mix strategy. \n"
+"With the layered encryption, only the router that the clove exposed the delay \n"
+"request would know that the message requires high latency, allowing the traffic \n"
+"to blend in further with the low latency traffic. Once the transmission precondition \n"
+"is met, the router holding on to the clove (which itself would likely be a \n"
+"garlic message) simply forwards it as requested - to a router, to a tunnel, \n"
+"or, most likely, to a remote client destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:647
+msgid ""
+"There are a substantial number of ways to exploit this capacity for high \n"
+"latency comm in I2P, but for the moment, doing so has been scheduled for the \n"
+"I2P 3.0 release. In the meantime, those requiring the anonymity that high \n"
+"latency comm can offer should look towards the application layer to provide \n"
+"it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:655
+msgid "Open questions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:657
+msgid "How to get rid of the timing constraint?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:658
+msgid "Can we deal with the sessionTags more efficiently?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:659
+msgid ""
+"What, if any, batching/mixing strategies should be made available on the "
+"tunnels?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:660
+msgid ""
+"What other tunnel peer selection and ordering strategies should be "
+"available?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:663
+msgid "Similar systems"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:665
+msgid ""
+"I2P's architecture builds on the concepts of message oriented middleware, \n"
+"the topology of DHTs, the anonymity and cryptography of free route mixnets, \n"
+"and the adaptability of packet switched networking. The value comes not from \n"
+"novel concepts of algorithms though, but from careful engineering combining \n"
+"the research results of existing systems and papers. While there are a few \n"
+"similar efforts worth reviewing, both for technical and functional comparisons, \n"
+"two in particular are pulled out here - Tor and Freenet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:675
+#, python-format
+msgid "See also the Network Comparisons Page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:680
+#: i2p2www/pages/site/docs/how/tech-intro.html:745
+msgid "website"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:682
+msgid ""
+"At first glance, Tor and I2P have many functional and anonymity related \n"
+"similarities. While I2P's development began before we were aware of the early \n"
+"stage efforts on Tor, many of the lessons of the original onion routing and \n"
+"ZKS efforts were integrated into I2P's design. Rather than building an essentially \n"
+"trusted, centralized system with directory servers, I2P has a self organizing \n"
+"network database with each peer taking on the responsibility of profiling \n"
+"other routers to determine how best to exploit available resources. Another \n"
+"key difference is that while both I2P and Tor use layered and ordered paths \n"
+"(tunnels and circuits/streams), I2P is fundamentally a packet switched network, \n"
+"while Tor is fundamentally a circuit switched one, allowing I2P to transparently \n"
+"route around congestion or other network failures, operate redundant pathways, \n"
+"and load balance the data across available resources. While Tor offers the \n"
+"useful outproxy functionality by offering integrated outproxy discovery and \n"
+"selection, I2P leaves such application layer decisions up to applications \n"
+"running on top of I2P - in fact, I2P has even externalized the TCP-like streaming \n"
+"library itself to the application layer, allowing developers to experiment \n"
+"with different strategies, exploiting their domain specific knowledge to offer \n"
+"better performance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:703
+msgid ""
+"From an anonymity perspective, there is much similarity when the core networks \n"
+"are compared. However, there are a few key differences. When dealing with \n"
+"an internal adversary or most external adversaries, I2P's simplex tunnels \n"
+"expose half as much traffic data than would be exposed with Tor's duplex circuits \n"
+"by simply looking at the flows themselves - an HTTP request and response would \n"
+"follow the same path in Tor, while in I2P the packets making up the request \n"
+"would go out through one or more outbound tunnels and the packets making up \n"
+"the response would come back through one or more different inbound tunnels. \n"
+"While I2P's peer selection and ordering strategies should sufficiently address \n"
+"predecessor attacks, should a switch to bidirectional tunnels be necessary,\n"
+"we could simply build an inbound and outbound tunnel along the same routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:717
+msgid ""
+"Another anonymity issue comes up in Tor's use of telescopic tunnel creation, \n"
+"as simple packet counting and timing measurements as the cells in a circuit \n"
+"pass through an adversary's node exposes statistical information regarding \n"
+"where the adversary is within the circuit. I2P's unidirectional tunnel creation \n"
+"with a single message so that this data is not exposed. Protecting the position \n"
+"in a tunnel is important, as an adversary would otherwise be able to mount \n"
+"a series of powerful predecessor, intersection, and traffic confirmation attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:727
+msgid ""
+"Tor's support for a second tier of \"onion proxies\" does offer a non-trivial \n"
+"degree of anonymity while requiring a low cost of entry, while I2P will not \n"
+"offer this topology until 2.0."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:733
+msgid ""
+"On the whole, Tor and I2P complement each other in their focus - Tor works \n"
+"towards offering high speed anonymous Internet outproxying, while I2P works \n"
+"towards offering a decentralized resilient network in itself. In theory, both \n"
+"can be used to achieve both purposes, but given limited development resources, \n"
+"they both have their strengths and weaknesses. The I2P developers have considered \n"
+"the steps necessary to modify Tor to take advantage of I2P's design, but concerns \n"
+"of Tor's viability under resource scarcity suggest that I2P's packet switching \n"
+"architecture will be able to exploit scarce resources more effectively."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:747
+msgid ""
+"Freenet played a large part in the initial stages of I2P's design - giving \n"
+"proof to the viability of a vibrant pseudonymous community completely contained \n"
+"within the network, demonstrating that the dangers inherent in outproxies \n"
+"could be avoided. The first seed of I2P began as a replacement communication \n"
+"layer for Freenet, attempting to factor out the complexities of a scalable, \n"
+"anonymous and secure point to point communication from the complexities of \n"
+"a censorship resistant distributed data store. Over time however, some of \n"
+"the anonymity and scalability issues inherent in Freenet's algorithms made \n"
+"it clear that I2P's focus should stay strictly on providing a generic anonymous \n"
+"communication layer, rather than as a component of Freenet. Over the years, \n"
+"the Freenet developers have come to see the weaknesses in the older design, \n"
+"prompting them to suggest that they will require a \"premix\" layer to offer \n"
+"substantial anonymity. In other words, Freenet needs to run on top of a mixnet \n"
+"such as I2P or Tor, with \"client nodes\" requesting and publishing data through \n"
+"the mixnet to the \"server nodes\" which then fetch and store the data according \n"
+"to Freenet's heuristic distributed data storage algorithms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:766
+msgid ""
+"Freenet's functionality is very complementary to I2P's, as Freenet natively \n"
+"provides many of the tools for operating medium and high latency systems, \n"
+"while I2P natively provides the low latency mix network suitable for offering \n"
+"adequate anonymity. The logic of separating the mixnet from the censorship-\n"
+"resistant distributed data store still seems self-evident from an engineering, \n"
+"anonymity, security, and resource allocation perspective, so hopefully the \n"
+"Freenet team will pursue efforts in that direction, if not simply reusing \n"
+"(or helping to improve, as necessary) existing mixnets like I2P or Tor."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:777
+msgid ""
+"It is worth mentioning that there has recently been discussion and work \n"
+"by the Freenet developers on a \"globally scalable darknet\" using restricted \n"
+"routes between peers of various trust. While insufficient information has \n"
+"been made publicly available regarding how such a system would operate for \n"
+"a full review, from what has been said the anonymity and scalability claims \n"
+"seem highly dubious. In particular, the appropriateness for use in hostile \n"
+"regimes against state level adversaries has been tremendously overstated, \n"
+"and any analysis on the implications of resource scarcity upon the scalability \n"
+"of the network has seemingly been avoided. Further questions regarding susceptibility \n"
+"to traffic analysis, trust and other topics do exist, but a more in-depth \n"
+"review of this \"globally scalable darknet\" will have to wait until the Freenet \n"
+"team makes more information available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:793
+msgid ""
+"I2P itself doesn't really do much - it simply sends messages to remote destinations \n"
+"and receives messages targeting local destinations - most of the interesting \n"
+"work goes on at the layers above it. By itself, I2P could be seen as an anonymous \n"
+"and secure IP layer, and the bundled streaming library \n"
+"as an implementation of an anonymous and secure TCP layer on top of it. Beyond \n"
+"that, I2PTunnel exposes a generic TCP proxying \n"
+"system for either getting into or out of the I2P network, plus a variety of \n"
+"network applications provide further functionality for end users."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:804
+msgid "Streaming library"
+msgstr "Tahiry fampielezana"
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:805
+msgid ""
+"The I2P streaming library can be viewed as a generic streaming interface (mirroring TCP sockets),\n"
+"and the implementation supports a sliding window protocol\n"
+"with several optimizations, to take into account the high delay over I2P.\n"
+"Individual streams may adjust the maximum packet size and \n"
+"other options, though the default of 4KB compressed seems a reasonable tradeoff \n"
+"between the bandwidth costs of retransmitting lost messages and the latency \n"
+"of multiple messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:815
+msgid ""
+"In addition, in consideration of the relatively high cost of subsequent \n"
+"messages, the streaming library's protocol for scheduling and delivering messages \n"
+"has been optimized to allow individual messages passed to contain as much \n"
+"information as is available. For instance, a small HTTP transaction proxied \n"
+"through the streaming library can be completed in a single round trip - the \n"
+"first message bundles a SYN, FIN and the small payload (an HTTP request typically \n"
+"fits) and the reply bundles the SYN, FIN, ACK and the small payload (many \n"
+"HTTP responses fit). While an additional ACK must be transmitted to tell the \n"
+"HTTP server that the SYN/FIN/ACK has been received, the local HTTP proxy can \n"
+"deliver the full response to the browser immediately."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:828
+msgid ""
+"On the whole, however, the streaming library bears much resemblance to an \n"
+"abstraction of TCP, with its sliding windows, congestion control algorithms \n"
+"(both slow start and congestion avoidance), and general packet behavior (ACK, \n"
+"SYN, FIN, RST, etc)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:835
+msgid "Naming library and addressbook"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:836
+#, python-format
+msgid ""
+"For more information see the Naming and "
+"Addressbook page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:840
+#: i2p2www/pages/site/docs/how/tech-intro.html:914
+#: i2p2www/pages/site/docs/how/tech-intro.html:961
+#: i2p2www/pages/site/docs/how/tech-intro.html:993
+#: i2p2www/pages/site/docs/how/tech-intro.html:1001
+#: i2p2www/pages/site/docs/how/tech-intro.html:1009
+#: i2p2www/pages/site/docs/how/tech-intro.html:1019
+#: i2p2www/pages/site/docs/how/tech-intro.html:1027
+#: i2p2www/pages/site/docs/how/tech-intro.html:1049
+#, python-format
+msgid "Developed by: %(dev)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:842
+msgid ""
+"Naming within I2P has been an oft-debated topic since the very beginning \n"
+"with advocates across the spectrum of possibilities. However, given I2P's \n"
+"inherent demand for secure communication and decentralized operation, the \n"
+"traditional DNS-style naming system is clearly out, as are \"majority rules\" \n"
+"voting systems. Instead, I2P ships with a generic naming library and a base \n"
+"implementation designed to work off a local name to destination mapping, as \n"
+"well as an optional add-on application called the \"addressbook\". The addressbook \n"
+"is a web-of-trust-driven secure, distributed, and human readable naming system, \n"
+"sacrificing only the call for all human readable names to be globally unique \n"
+"by mandating only local uniqueness. While all messages in I2P are cryptographically \n"
+"addressed by their destination, different people can have local addressbook \n"
+"entries for \"Alice\" which refer to different destinations. People can still \n"
+"discover new names by importing published addressbooks of peers specified \n"
+"in their web of trust, by adding in the entries provided through a third party, \n"
+"or (if some people organize a series of published addressbooks using a first \n"
+"come first serve registration system) people can choose to treat these addressbooks \n"
+"as name servers, emulating traditional DNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:862
+msgid ""
+"I2P does not promote the use of DNS-like services though, as the damage \n"
+"done by hijacking a site can be tremendous - and insecure destinations have \n"
+"no value. DNSsec itself still falls back on registrars and certificate authorities, \n"
+"while with I2P, requests sent to a destination cannot be intercepted or the \n"
+"reply spoofed, as they are encrypted to the destination's public keys, and \n"
+"a destination itself is just a pair of public keys and a certificate. DNS-style \n"
+"systems on the other hand allow any of the name servers on the lookup path \n"
+"to mount simple denial of service and spoofing attacks. Adding on a certificate \n"
+"authenticating the responses as signed by some centralized certificate authority \n"
+"would address many of the hostile nameserver issues but would leave open replay \n"
+"attacks as well as hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:876
+msgid ""
+"Voting style naming is dangerous as well, especially given the effectiveness \n"
+"of Sybil attacks in anonymous systems - the attacker can simply create an \n"
+"arbitrarily high number of peers and \"vote\" with each to take over a given \n"
+"name. Proof-of-work methods can be used to make identity non-free, but as \n"
+"the network grows the load required to contact everyone to conduct online \n"
+"voting is implausible, or if the full network is not queried, different sets \n"
+"of answers may be reachable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:886
+msgid ""
+"As with the Internet however, I2P is keeping the design and operation of \n"
+"a naming system out of the (IP-like) communication layer. The bundled naming \n"
+"library includes a simple service provider interface which alternate naming \n"
+"systems can plug into, allowing end users to drive what sort of naming tradeoffs \n"
+"they prefer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:895
+msgid ""
+"The old Syndie bundled with I2P has been replaced by the new Syndie which\n"
+"is distributed separately. For more information see the Syndie\n"
+"pages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:901
+msgid ""
+"Syndie is a safe, anonymous blogging / content publication / content aggregation \n"
+"system. It lets you create information, share it with others, and read posts \n"
+"from those you're interested in, all while taking into consideration your \n"
+"needs for security and anonymity. Rather than building its own content distribution \n"
+"network, Syndie is designed to run on top of existing networks, syndicating \n"
+"content through eepsites, Tor hidden services, Freenet freesites, normal websites, \n"
+"usenet newsgroups, email lists, RSS feeds, etc. Data published with Syndie \n"
+"is done so as to offer pseudonymous authentication to anyone reading or archiving \n"
+"it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:916
+msgid ""
+"I2PTunnel is probably I2P's most popular and versatile client application, \n"
+"allowing generic proxying both into and out of the I2P network. I2PTunnel \n"
+"can be viewed as four separate proxying applications - a \"client\" which receives \n"
+"inbound TCP connections and forwards them to a given I2P destination, an \"httpclient\" \n"
+"(aka \"eepproxy\") which acts like an HTTP proxy and forwards the requests to \n"
+"the appropriate I2P destination (after querying the naming service if necessary), \n"
+"a \"server\" which receives inbound I2P streaming connections on a destination \n"
+"and forwards them to a given TCP host+port, and an \"httpserver\" which extends \n"
+"the \"server\" by parsing the HTTP request and responses to allow safer operation. \n"
+"There is an additional \"socksclient\" application, but its use is not encouraged \n"
+"for reasons previously mentioned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:930
+msgid ""
+"I2P itself is not an outproxy network - the anonymity and security concerns \n"
+"inherent in a mix net which forwards data into and out of the mix have kept \n"
+"I2P's design focused on providing an anonymous network which capable of meeting \n"
+"the user's needs without requiring external resources. However, the I2PTunnel \n"
+"\"httpclient\" application offers a hook for outproxying - if the hostname requested \n"
+"doesn't end in \".i2p\", it picks a random destination from a user-provided \n"
+"set of outproxies and forwards the request to them. These destinations are \n"
+"simply I2PTunnel \"server\" instances run by volunteers who have explicitly \n"
+"chosen to run outproxies - no one is an outproxy by default, and running an \n"
+"outproxy doesn't automatically tell other people to proxy through you. While \n"
+"outproxies do have inherent weaknesses, they offer a simple proof of concept \n"
+"for using I2P and provide some functionality under a threat model which may \n"
+"be sufficient for some users."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:946
+msgid ""
+"I2PTunnel enables most of the applications in use. An \"httpserver\" pointing \n"
+"at a webserver lets anyone run their own anonymous website (or \"eepsite\") \n"
+"- a webserver is bundled with I2P for this purpose, but any webserver can \n"
+"be used. Anyone may run a \"client\" pointing at one of the anonymously hosted \n"
+"IRC servers, each of which are running a \"server\" pointing at their local \n"
+"IRCd and communicating between IRCds over their own \"client\" tunnels. End \n"
+"users also have \"client\" tunnels pointing at I2Pmail's \n"
+"POP3 and SMTP destinations (which in turn are simply \"server\" instances pointing \n"
+"at POP3 and SMTP servers), as well as \"client\" tunnels pointing at I2P's CVS \n"
+"server, allowing anonymous development. At times people have even run \"client\" \n"
+"proxies to access the \"server\" instances pointing at an NNTP server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:963
+msgid ""
+"i2p-bt is a port of the mainline python BitTorrent client to run both the \n"
+"tracker and peer communication over I2P. Tracker requests are forwarded through \n"
+"the eepproxy to eepsites specified in the torrent file while tracker responses \n"
+"refer to peers by their destination explicitly, allowing i2p-bt to open up \n"
+"a streaming lib connection to query them for \n"
+"blocks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:972
+msgid ""
+"In addition to i2p-bt, a port of bytemonsoon has been made to I2P, making \n"
+"a few modifications as necessary to strip any anonymity-compromising information \n"
+"from the application and to take into consideration the fact that IPs cannot \n"
+"be used for identifying peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:980
+msgid ""
+"I2PSnark developed: jrandom, et al, ported from mjw's Snark client"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:986
+msgid ""
+"Bundled with the I2P install, I2PSnark offers a simple anonymous BitTorrent \n"
+"client with multitorrent capabilities, exposing all of the functionality through \n"
+"a plain HTML web interface."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:995
+#, python-format
+msgid ""
+"Robert is a Bittorrent client written in Python.\n"
+"It is hosted on http://%(bob)s/Robert.html "
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1003
+#, python-format
+msgid ""
+"PyBit is a Bittorrent client written in Python.\n"
+"It is hosted on %(pybit)s "
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1011
+msgid ""
+"I2Phex is a fairly direct port of the Phex Gnutella filesharing client to \n"
+"run entirely on top of I2P. While it has disabled some of Phex's functionality, \n"
+"such as integration with Gnutella webcaches, the basic file sharing and chatting \n"
+"system is fully functional."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1021
+msgid ""
+"iMule is a fairly direct port of the aMule filesharing client \n"
+"running entirely inside I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1029
+#, python-format
+msgid ""
+"I2Pmail is more a service than an application - postman offers both internal \n"
+"and external email with POP3 and SMTP service through I2PTunnel instances \n"
+"accessing a series of components developed with mastiejaner, allowing people \n"
+"to use their preferred mail clients to send and receive mail pseudonymously. \n"
+"However, as most mail clients expose substantial identifying information, \n"
+"I2P bundles susi23's web based susimail client which has been built specifically \n"
+"with I2P's anonymity needs in mind. The I2Pmail/mail.i2p service offers transparent \n"
+"virus filtering as well as denial of service prevention with hashcash augmented \n"
+"quotas. In addition, each user has control of their batching strategy prior \n"
+"to delivery through the mail.i2p outproxies, which are separate from the mail.i2p \n"
+"SMTP and POP3 servers - both the outproxies and inproxies communicate with \n"
+"the mail.i2p SMTP and POP3 servers through I2P itself, so compromising those \n"
+"non-anonymous locations does not give access to the mail accounts or activity \n"
+"patterns of the user. At the moment the developers work on a decentralized \n"
+"mailsystem, called \"v2mail\". More information can be found on the eepsite \n"
+"%(postman)s."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1051
+msgid ""
+"I2P-Bote is a distributed e-mail application. It does not use the traditional\n"
+"e-mail concept of sending an e-mail to a server and retrieving it from a server.\n"
+"Instead, it uses a Kademlia Distributed Hash Table to store mails.\n"
+"One user can push a mail into the DHT, while another can request the e-mail from the DHT.\n"
+"And all the mails sent within the I2P-Bote network are automatically encrypted end-to-end. X = g^x mod "
+"p
."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:166
+msgid "Alice sends X to Bob (Message 1)."
+msgstr ""
+
+#: 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:168
+msgid "Bob sends Y to Alice.(Message 2)"
+msgstr ""
+
+#: 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:170
+msgid "Bob can now compute sessionKey = X^y mod p
."
+msgstr ""
+
+#: 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:173
+#, python-format
+msgid ""
+"The sessionKey is then used to exchange identities in Message 3 and Message 4.\n"
+"The exponent (x and y) length for the DH exchange is documented on the\n"
+"cryptography page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:193
+msgid "Message 1 (Session Request)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:194
+#, python-format
+msgid ""
+"This is the DH request. Alice already has Bob's\n"
+"Router Identity,\n"
+"IP address, and port, as contained in his\n"
+"Router Info,\n"
+"which was published to the\n"
+"network database.\n"
+"Alice sends Bob:"
+msgstr ""
+
+#: 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:209
+msgid "Contents:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:227
+msgid "256 byte X from Diffie Hellman"
+msgstr ""
+
+#: 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: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: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:243
+msgid "Message 2 (Session Created)"
+msgstr ""
+
+#: 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: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:274
+#: i2p2www/pages/site/docs/transport/ntcp.html:310
+msgid "256 byte Y from Diffie Hellman"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:276
+msgid "SHA256 Hash(X concatenated with Y)"
+msgstr ""
+
+#: 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:281
+msgid "12 bytes random data"
+msgstr ""
+
+#: 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:312
+#, python-format
+msgid ""
+"48 bytes AES encrypted using the DH session key and\n"
+" the last 16 bytes of Y as the IV"
+msgstr ""
+
+#: 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:325
+msgid "Message 3 (Session Confirm A)"
+msgstr ""
+
+#: 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:360
+msgid "2 byte size of Alice's router identity to follow (387+)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:362
+msgid "Alice's 387+ byte `RouterIdentity`"
+msgstr ""
+
+#: 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:368
+msgid ""
+"the `Signature` of the following concatenated data:\n"
+" X, Y, Bob's `RouterIdentity`, tsA, tsB.\n"
+" Alice signs it with the `SigningPrivateKey` associated with the `SigningPublicKey` in her `RouterIdentity`"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:389
+#, python-format
+msgid ""
+"448 bytes AES encrypted using the DH session key and\n"
+" the last 16 bytes of HXxorHI (i.e., the last 16 bytes of message #1) as the IV"
+msgstr ""
+
+#: 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: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: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:430
+msgid "Message 4 (Session Confirm B)"
+msgstr ""
+
+#: 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:455
+msgid ""
+"the `Signature` of the following concatenated data:\n"
+" X, Y, Alice's `RouterIdentity`, tsA, tsB.\n"
+" Bob signs it with the `SigningPrivateKey` associated with the `SigningPublicKey` in his `RouterIdentity`"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:479
+#, python-format
+msgid ""
+"Data AES encrypted using the DH session key and\n"
+" the last 16 bytes of the encrypted contents of message #2 as the IV\n"
+" 48 bytes for a DSA signature, may vary for other signature types"
+msgstr ""
+
+#: 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: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:506
+msgid "After Establishment"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:507
+msgid ""
+"The connection is established, and standard or time sync messages may be exchanged.\n"
+"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
+"Alice will use the last 16 bytes of the encrypted contents of message #3 as the next IV.\n"
+"Bob will use the last 16 bytes of the encrypted contents of message #4 as the next IV."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:516
+msgid "Check Connection Message"
+msgstr ""
+
+#: 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"
+"to verify his listener).\n"
+"Check Connection is not currently used.\n"
+"However, for the record, check connections are formatted as follows.\n"
+"A check info connection will receive 256 bytes containing:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:526
+msgid "32 bytes of uninterpreted, ignored data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:527
+msgid "1 byte size"
+msgstr ""
+
+#: 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:529
+msgid "2 byte port number that the local router was reached on"
+msgstr ""
+
+#: 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:531
+msgid "uninterpreted padding data, up to byte 223"
+msgstr ""
+
+#: 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:535
+msgid "Check connection is completely disabled as of release 0.9.12."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:539
+msgid "Discussion"
+msgstr ""
+
+#: 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:546
+msgid "The maximum message size should be increased to approximately 32 KB."
+msgstr ""
+
+#: 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 \n"
+"end padding should be sufficient for most needs until then.\n"
+"However, there is currently no provision for padding beyond the next 16-byte boundary,\n"
+"to create a limited number of message sizes."
+msgstr ""
+
+#: 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:562
+msgid ""
+"Can the establishment messages be randomly padded somehow, to frustrate\n"
+"identification of I2P traffic based on initial packet sizes?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:2
+msgid "Secure Semireliable UDP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:7
+#, python-format
+msgid ""
+"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
+"is one of three transports currently implemented in I2P.\n"
+"The others are NTCP and NTCP2."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:13
+msgid ""
+"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:19
+msgid ""
+"SSU is called \"semireliable\" because it will repeatedly retransmit unacknowledged messages,\n"
+"but only up to a maximum number of times. After that, the message is dropped."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:24
+msgid "SSU Services"
+msgstr ""
+
+#: 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"
+"Unique to SSU, it also provides IP detection and NAT traversal services, including:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:32
+msgid ""
+"Cooperative NAT/Firewall traversal using introducers"
+msgstr ""
+
+#: 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:34
+msgid ""
+"Communication of firewall status and local IP, and changes to either to NTCP"
+msgstr ""
+
+#: 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: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:77
+msgid "See below"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:84
+msgid "Protocol Details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:86
+msgid "Congestion control"
+msgstr ""
+
+#: 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"
+"congestion control. The congestion control algorithm outlined below is\n"
+"meant to be both efficient in bandwidth as well as simple to implement."
+msgstr ""
+
+#: 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"
+"capacity of the remote peer. The measured capacity operates along the\n"
+"lines of TCP's slow start and congestion avoidance, with additive increases\n"
+"to the sending capacity and multiplicative decreases in face of congestion.\n"
+"Unlike for TCP, routers may give up on some messages after\n"
+"a given period or number of retransmissions while continuing to transmit \n"
+"other messages."
+msgstr ""
+
+#: 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\n"
+"has a limited size - at most, 32KB. To efficiently transmit this feedback\n"
+"to the sender, the receiver periodically includes a list of fully ACKed \n"
+"message identifiers and may also include bitfields for partially received\n"
+"messages, where each bit represents the reception of a fragment. If \n"
+"duplicate fragments arrive, the message should be ACKed again, or if the\n"
+"message has still not been fully received, the bitfield should be \n"
+"retransmitted with any new updates."
+msgstr ""
+
+#: 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 into\n"
+"a packet and sends it off (careful not to exceed the MTU)."
+msgstr ""
+
+#: 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"
+"The MTU value is adjusted based on the percentage of packets that are retransmitted."
+msgstr ""
+
+#: 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: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:143
+msgid ""
+"Based on measurements, 1492 fits nearly all reasonably small I2NP messages\n"
+"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
+"into a live network MTU anyway)."
+msgstr ""
+
+#: 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:154
+msgid ""
+"The maximum receive packet size\n"
+"is 1571 bytes as of release 0.8.12.\n"
+"For releases 0.8.9 - 0.8.11 it was 1535 bytes.\n"
+"Prior to release 0.8.9 it was 2048 bytes."
+msgstr ""
+
+#: 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"
+"it will publish that in the network database, and other routers should\n"
+"honor that when a connection is established."
+msgstr ""
+
+#: 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"
+"The maximum IPv6 MTU is 1488.\n"
+" (max was 1472 prior to version 0.9.28)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:174
+msgid "Message Size Limits"
+msgstr ""
+
+#: 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 128.\n"
+"The current implementation, however, limits each message to a maximum of 64 fragments,\n"
+"which is sufficient for 64 * 534 = 33.3 KB when using the 608 MTU.\n"
+"Due to overhead for bundled LeaseSets and session keys, the practical limit\n"
+"at the application level is about 6KB lower, or about 26KB.\n"
+"Further work is necessary to raise the UDP transport limit above 32KB.\n"
+"For connections using the larger MTU, larger messages are possible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:197
+msgid "Keys"
+msgstr ""
+
+#: 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"
+"the MAC and session keys are negotiated as part of the DH exchange, and are then used\n"
+"for the HMAC and encryption, respectively. During the DH exchange, \n"
+"Bob's publicly knowable introKey is used for the MAC and encryption."
+msgstr ""
+
+#: 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"
+"not need to know the introKey of the requester (Alice). The DSA \n"
+"signing key used by Bob should already be known to Alice when she \n"
+"contacts him, though Alice's DSA key may not already be known by \n"
+"Bob."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:216
+msgid ""
+"Upon receiving a message, the receiver checks the \"from\" IP address and port\n"
+"with all established sessions - if there are matches,\n"
+"that session's MAC keys are tested in the HMAC. If none\n"
+"of those verify or if there are no matching IP addresses, the \n"
+"receiver tries their introKey in the MAC. If that does not verify,\n"
+"the packet is dropped. If it does verify, it is interpreted \n"
+"according to the message type, though if the receiver is overloaded,\n"
+"it may be dropped anyway."
+msgstr ""
+
+#: 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"
+"time simply establish a new session through the SessionRequest and\n"
+"related messages. If Bob has lost the key but Alice does not know\n"
+"that, she will first attempt to prod him to reply, by sending a \n"
+"DataMessage with the wantReply flag set, and if Bob continually \n"
+"fails to reply, she will assume the key is lost and reestablish a \n"
+"new one."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:238
+#, python-format
+msgid ""
+"For the DH key agreement,\n"
+"RFC3526 2048bit\n"
+"MODP group (#14) is used:"
+msgstr ""
+
+#: 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:253
+msgid "Replay prevention"
+msgstr ""
+
+#: 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"
+"detect duplicate IVs, a sequence of Bloom filters are employed to\n"
+"\"decay\" periodically so that only recently added IVs are detected."
+msgstr ""
+
+#: 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"
+"are not in any particular order - in fact, they are likely to be\n"
+"entirely random. The SSU layer makes no attempt at messageId \n"
+"replay prevention - higher layers should take that into account."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:270
+msgid "Addressing"
+msgstr ""
+
+#: 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"
+"indirect address, for using a third party to introduce the peer.\n"
+"There is no restriction on the number of addresses a peer may have."
+msgstr ""
+
+#: 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:290
+#, python-format
+msgid ""
+"The addresses, options, and capabilities are published in the network database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:295
+msgid "Direct Session Establishment"
+msgstr ""
+
+#: 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:301
+msgid "Connection establishment (direct)"
+msgstr ""
+
+#: 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:317
+#, python-format
+msgid ""
+"After the SessionConfirmed message is received, Bob sends a small\n"
+"DeliveryStatus message\n"
+"as a confirmation.\n"
+"In this message, the 4-byte message ID is set to a random number, and the\n"
+"8-byte \"arrival time\" is set to the current network-wide ID, which is 2\n"
+"(i.e. 0x0000000000000002)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:326
+#, python-format
+msgid ""
+"After the status message is sent, the peers usually exchange\n"
+"DatabaseStore messages\n"
+"containing their\n"
+"RouterInfos,\n"
+"however, this is not required."
+msgstr ""
+
+#: 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"
+"It was originally added becasue the DatabaseStore message was delayed\n"
+"several seconds; since the store is now sent immediately, perhaps\n"
+"the status message can be eliminated."
+msgstr ""
+
+#: 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 now)\n"
+"and must be used when establishing a session key. For the indirect\n"
+"address, the peer must first contact the relayhost and ask them for\n"
+"an introduction to the peer known at that relayhost under the given\n"
+"tag. If possible, the relayhost sends a message to the addressed\n"
+"peer telling them to contact the requesting peer, and also gives \n"
+"the requesting peer the IP and port on which the addressed peer is\n"
+"located. In addition, the peer establishing the connection must \n"
+"already know the public keys of the peer they are connecting to (but\n"
+"not necessary to any intermediary relay peer)."
+msgstr ""
+
+#: 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"
+"NAT or firewall which does not allow unsolicited inbound UDP packets,\n"
+"first contacts a few peers, choosing some to serve as introducers. Each\n"
+"of these peers (Bob, Bill, Betty, etc) provide Charlie with an introduction\n"
+"tag - a 4 byte random number - which he then makes available to the public\n"
+"as methods of contacting him. Alice, a router who has Charlie's published\n"
+"contact methods, first sends a RelayRequest packet to one or more of the \n"
+"introducers, asking each to introduce her to Charlie (offering the \n"
+"introduction tag to identify Charlie). Bob then forwards a RelayIntro\n"
+"packet to Charlie including Alice's public IP and port number, then sends\n"
+"Alice back a RelayResponse packet containing Charlie's public IP and port\n"
+"number. When Charlie receives the RelayIntro packet, he sends off a small\n"
+"random packet to Alice's IP and port (poking a hole in his NAT/firewall),\n"
+"and when Alice receives Bob's RelayResponse packet, she begins a new \n"
+"full direction session establishment with the specified IP and port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:385
+msgid "Connection establishment (indirect using an introducer)"
+msgstr ""
+
+#: 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: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:419
+msgid "Peer testing"
+msgstr ""
+
+#: 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"
+"execution, a peer will be able to determine their own reachability\n"
+"and may update its behavior accordingly. The testing process is \n"
+"quite simple:"
+msgstr ""
+
+#: 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"
+"get a particular message that she expects, she will retransmit\n"
+"accordingly, and based upon the data received or the messages\n"
+"missing, she will know her reachability. The various end states\n"
+"that may be reached are as follows:"
+msgstr ""
+
+#: 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"
+"she will know that her firewall or NAT is somehow misconfigured, \n"
+"rejecting all inbound UDP packets even in direct response to an\n"
+"outbound packet. Alternately, Bob may be down or unable to get \n"
+"Charlie to reply."
+msgstr ""
+
+#: 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"
+"her initial request to Bob up to a certain number of times, even\n"
+"if she has received Bob's reply already. If Charlie's first message \n"
+"still doesn't get through but Bob's does, she knows that she is\n"
+"behind a NAT or firewall that is rejecting unsolicited connection\n"
+"attempts and that port forwarding is not operating properly (the\n"
+"IP and port that Bob offered up should be forwarded)."
+msgstr ""
+
+#: 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"
+"and Charlie's second messages don't match, she knows that she is \n"
+"behind a symmetric NAT, rewriting all of her outbound packets with\n"
+"different 'from' ports for each peer contacted. She will need to\n"
+"explicitly forward a port and always have that port exposed for \n"
+"remote connectivity, ignoring further port discovery."
+msgstr ""
+
+#: 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"
+"certain number of times, but if no response is received she knows\n"
+"that Charlie is either confused or no longer online."
+msgstr ""
+
+#: 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"
+"choose Charlie arbitrarily from peers that he knows who seem to be\n"
+"capable of participating in peer tests and who are on a different\n"
+"IP from both Bob and Alice. If the first error condition occurs\n"
+"(Alice doesn't get PeerTest messages from Bob), Alice may decide\n"
+"to designate a new peer as Bob and try again with a different nonce."
+msgstr ""
+
+#: 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"
+"session with Bob and so that Charlie can contact her without knowing\n"
+"any additional information. Alice may go on to establish a session\n"
+"with either Bob or Charlie, but it is not required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:526
+msgid "Transmission window, ACKs and Retransmissions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:527
+#, python-format
+msgid ""
+"The DATA message may contain ACKs of full messages and\n"
+"partial ACKs of individual fragments of a message. See\n"
+"the data message section of\n"
+"the protocol specification page\n"
+"for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:535
+#, python-format
+msgid ""
+"The details of windowing, ACK, and retransmission strategies are not specified\n"
+"here. See the Java code for the current implementation.\n"
+"During the establishment phase, and for peer testing, routers\n"
+"should implement exponential backoff for retransmission.\n"
+"For an established connection, routers should implement\n"
+"an adjustable transmission window, RTT estimate and timeout, similar to TCP\n"
+"or streaming.\n"
+"See the code for initial, min and max parameters."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:547
+msgid "Security"
+msgstr ""
+
+#: 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"
+"SSU messages (RelayRequest, RelayResponse, RelayIntro, PeerTest)\n"
+"may not be legitimate.\n"
+"Also, certain actions and responses may need to be rate-limited."
+msgstr ""
+
+#: 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:562
+msgid "Peer capabilities"
+msgstr ""
+
+#: 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: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:587
+msgid ""
+"Analysis of current SSU performance, including assessment of window size adjustment\n"
+"and other parameters, and adjustment of the protocol implementation to improve\n"
+"performance, is a topic for future work."
+msgstr ""
+
+#: 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:598
+msgid ""
+"The default small MTU value of 620 should be analyzed and possibly increased.\n"
+"The current MTU adjustment strategy should be evaluated.\n"
+"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? Probably not."
+msgstr ""
+
+#: 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:608
+msgid "Rekeying is currently unimplemented and may never be."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:612
+msgid ""
+"The potential use of the 'challenge' fields in RelayIntro and RelayResponse,\n"
+"and use of the padding field in SessionRequest and SessionCreated, is undocumented."
+msgstr ""
+
+#: 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 packet,\n"
+"so long as it doesn't exceed the MTU."
+msgstr ""
+
+#: 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 \n"
+"end padding should be sufficient for most needs until then."
+msgstr ""
+
+#: 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:633
+msgid "Capacities appear to be unused."
+msgstr ""
+
+#: 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:642
+msgid "Implementation Diagram"
+msgstr ""
+
+#: 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:651
+msgid "Now on the SSU specification page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:2
+msgid "Tunnel Implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:3
+msgid "October 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:7
+msgid "This page documents the current tunnel implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:9
+msgid "Tunnel overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:11
+msgid ""
+"Within I2P, messages are passed in one direction through a virtual\n"
+"tunnel of peers, using whatever means are available to pass the \n"
+"message on to the next hop. Messages arrive at the tunnel's \n"
+"gateway, get bundled up and/or fragmented into fixed-size tunnel messages, \n"
+"and are forwarded on to the next hop in the tunnel, which processes and verifies\n"
+"the validity of the message and sends it on to the next hop, and so on, until\n"
+"it reaches the tunnel endpoint. That endpoint takes the messages\n"
+"bundled up by the gateway and forwards them as instructed - either\n"
+"to another router, to another tunnel on another router, or locally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:23
+msgid ""
+"Tunnels all work the same, but can be segmented into two different\n"
+"groups - inbound tunnels and outbound tunnels. The inbound tunnels\n"
+"have an untrusted gateway which passes messages down towards the \n"
+"tunnel creator, which serves as the tunnel endpoint. For outbound \n"
+"tunnels, the tunnel creator serves as the gateway, passing messages\n"
+"out to the remote endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:32
+msgid ""
+"The tunnel's creator selects exactly which peers will participate\n"
+"in the tunnel, and provides each with the necessary configuration\n"
+"data. They may have any number of hops.\n"
+"It is the intent to make\n"
+"it hard for either participants or third parties to determine the length of \n"
+"a tunnel, or even for colluding participants to determine whether they are a\n"
+"part of the same tunnel at all (barring the situation where colluding peers are\n"
+"next to each other in the tunnel)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:43
+msgid ""
+"In practice, a series of tunnel pools are used for different\n"
+"purposes - each local client destination has its own set of inbound\n"
+"tunnels and outbound tunnels, configured to meet its anonymity and\n"
+"performance needs. In addition, the router itself maintains a series\n"
+"of pools for participating in the network database and for managing\n"
+"the tunnels themselves."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:52
+msgid ""
+"I2P is an inherently packet switched network, even with these \n"
+"tunnels, allowing it to take advantage of multiple tunnels running \n"
+"in parallel, increasing resilience and balancing load. Outside of\n"
+"the core I2P layer, there is an optional end to end streaming library \n"
+"available for client applications, exposing TCP-esque operation,\n"
+"including message reordering, retransmission, congestion control, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:61
+#, python-format
+msgid ""
+"An overview of I2P tunnel terminology is\n"
+"on the tunnel overview page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:66
+msgid "Tunnel Operation (Message Processing)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:69
+#, python-format
+msgid ""
+"After a tunnel is built, I2NP messages are processed and passed through it.\n"
+"Tunnel operation has four distinct processes, taken on by various \n"
+"peers in the tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:75
+msgid ""
+"First, the tunnel gateway accumulates a number\n"
+"of I2NP messages and preprocesses them into tunnel messages for\n"
+"delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:80
+msgid ""
+"Next, that gateway encrypts that preprocessed data, then\n"
+"forwards it to the first hop."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:84
+msgid ""
+"That peer, and subsequent tunnel \n"
+"participants, unwrap a layer of the encryption, verifying that it isn't\n"
+"a duplicate, then forward it on to the next peer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:89
+msgid ""
+"Eventually, the tunnel messages arrive at the endpoint where the I2NP messages\n"
+"originally bundled by the gateway are reassembled and forwarded on as \n"
+"requested."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:96
+msgid ""
+"Intermediate tunnel participants do not know whether they are in an\n"
+"inbound or an outbound tunnel; they always \"encrypt\" for the next hop.\n"
+"Therefore, we take advantage of symmetric AES encryption\n"
+"to \"decrypt\" at the outbound tunnel gateway,\n"
+"so that the plaintext is revealed at the outbound endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:110
+msgid "Role"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:111
+msgid "Preprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:112
+msgid "Encryption Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:113
+msgid "Postprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:117
+msgid "Outbound Gateway (Creator)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:118
+#: i2p2www/pages/site/docs/tunnels/implementation.html:141
+msgid "Fragment, Batch, and Pad"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:119
+msgid "Iteratively encrypt (using decryption operations)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:120
+#: i2p2www/pages/site/docs/tunnels/implementation.html:127
+#: i2p2www/pages/site/docs/tunnels/implementation.html:143
+#: i2p2www/pages/site/docs/tunnels/implementation.html:150
+msgid "Forward to next hop"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:124
+#: i2p2www/pages/site/docs/tunnels/implementation.html:147
+msgid "Participant"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:126
+msgid "Decrypt (using an encryption operation)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:133
+msgid ""
+"Decrypt (using an encryption operation) to reveal plaintext tunnel message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:134
+msgid ""
+"Reassemble Fragments, Forward as instructed to Inbound Gateway or Router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:142
+#: i2p2www/pages/site/docs/tunnels/implementation.html:149
+msgid "Encrypt"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:154
+msgid "Inbound Endpoint (Creator)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:156
+msgid "Iteratively decrypt to reveal plaintext tunnel message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:157
+msgid "Reassemble Fragments, Receive data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:163
+msgid "Gateway Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:164
+msgid "Message Preprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:166
+#, python-format
+msgid ""
+"A tunnel gateway's function is to fragment and pack\n"
+"I2NP messages into fixed-size\n"
+"tunnel messages\n"
+"and encrypt the tunnel messages.\n"
+"Tunnel messages contain the following:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:174
+msgid "A 4 byte Tunnel ID"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:175
+msgid "A 16 byte IV (initialization vector)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:176
+msgid "A checksum"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:177
+msgid "Padding, if necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:178
+msgid "One or more { delivery instruction, I2NP message fragment } pairs"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:181
+msgid ""
+"Tunnel IDs are 4 byte numbers used at each hop - participants know what\n"
+"tunnel ID to listen for messages with and what tunnel ID they should be forwarded\n"
+"on as to the next hop, and each hop chooses the tunnel ID which they receive messages\n"
+"on. Tunnels themselves are short-lived (10 minutes).\n"
+"Even if subsequent tunnels are built using the same sequence of \n"
+"peers, each hop's tunnel ID will change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:190
+msgid ""
+"To prevent adversaries from tagging the messages along the path by adjusting\n"
+"the message size, all tunnel messages are a fixed 1024 bytes in size. To accommodate \n"
+"larger I2NP messages as well as to support smaller ones more efficiently, the\n"
+"gateway splits up the larger I2NP messages into fragments contained within each\n"
+"tunnel message. The endpoint will attempt to rebuild the I2NP message from the\n"
+"fragments for a short period of time, but will discard them as necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:199
+#, python-format
+msgid ""
+"Details are in the\n"
+"tunnel message specification."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:205
+msgid "Gateway Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:207
+msgid ""
+"After the preprocessing of messages into a padded payload, the gateway builds\n"
+"a random 16 byte IV value, iteratively encrypting it and the tunnel message as\n"
+"necessary, and forwards the tuple {tunnelID, IV, encrypted tunnel message} to the next hop."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:213
+msgid ""
+"How encryption at the gateway is done depends on whether the tunnel is an\n"
+"inbound or an outbound tunnel. For inbound tunnels, they simply select a random\n"
+"IV, postprocessing and updating it to generate the IV for the gateway and using \n"
+"that IV along side their own layer key to encrypt the preprocessed data. For outbound \n"
+"tunnels they must iteratively decrypt the (unencrypted) IV and preprocessed \n"
+"data with the IV and layer keys for all hops in the tunnel. The result of the outbound\n"
+"tunnel encryption is that when each peer encrypts it, the endpoint will recover \n"
+"the initial preprocessed data."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:225
+msgid "Participant Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:227
+msgid ""
+"When a peer receives a tunnel message, it checks that the message came from\n"
+"the same previous hop as before (initialized when the first message comes through\n"
+"the tunnel). If the previous peer is a different router, or if the message has\n"
+"already been seen, the message is dropped. The participant then encrypts the \n"
+"received IV with AES256/ECB using their IV key to determine the current IV, uses \n"
+"that IV with the participant's layer key to encrypt the data, encrypts the \n"
+"current IV with AES256/ECB using their IV key again, then forwards the tuple \n"
+"{nextTunnelId, nextIV, encryptedData} to the next hop. This double encryption\n"
+"of the IV (both before and after use) help address a certain class of\n"
+"confirmation attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:243
+msgid ""
+"Duplicate message detection is handled by a decaying Bloom filter on message\n"
+"IVs. Each router maintains a single Bloom filter to contain the XOR of the IV and\n"
+"the first block of the message received for all of the tunnels it is participating\n"
+"in, modified to drop seen entries after 10-20 minutes (when the tunnels will have\n"
+"expired). The size of the bloom filter and the parameters used are sufficient to\n"
+"more than saturate the router's network connection with a negligible chance of \n"
+"false positive. The unique value fed into the Bloom filter is the XOR of the IV \n"
+"and the first block so as to prevent nonsequential colluding peers in the tunnel \n"
+"from tagging a message by resending it with the IV and first block switched."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:256
+msgid "Endpoint Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:258
+msgid ""
+"After receiving and validating a tunnel message at the last hop in the tunnel,\n"
+"how the endpoint recovers the data encoded by the gateway depends upon whether \n"
+"the tunnel is an inbound or an outbound tunnel. For outbound tunnels, the \n"
+"endpoint encrypts the message with its layer key just like any other participant, \n"
+"exposing the preprocessed data. For inbound tunnels, the endpoint is also the \n"
+"tunnel creator so they can merely iteratively decrypt the IV and message, using the \n"
+"layer and IV keys of each step in reverse order."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:268
+msgid ""
+"At this point, the tunnel endpoint has the preprocessed data sent by the gateway,\n"
+"which it may then parse out into the included I2NP messages and forwards them as\n"
+"requested in their delivery instructions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:275
+msgid "Tunnel Building"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:277
+msgid ""
+"When building a tunnel, the creator must send a request with the necessary\n"
+"configuration data to each of the hops and wait for all of them to agree before\n"
+"enabling the tunnel. The requests are encrypted so that only the peers who need\n"
+"to know a piece of information (such as the tunnel layer or IV key) has that\n"
+"data. In addition, only the tunnel creator will have access to the peer's\n"
+"reply. There are three important dimensions to keep in mind when producing\n"
+"the tunnels: what peers are used (and where), how the requests are sent (and \n"
+"replies received), and how they are maintained."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:291
+msgid ""
+"Beyond the two types of tunnels - inbound and outbound - there are two styles\n"
+"of peer selection used for different tunnels - exploratory and client.\n"
+"Exploratory tunnels are used for both network database maintenance and tunnel\n"
+"maintenance, while client tunnels are used for end to end client messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:299
+msgid "Exploratory tunnel peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:301
+msgid ""
+"Exploratory tunnels are built out of a random selection of peers from a subset\n"
+"of the network. The particular subset varies on the local router and on what their\n"
+"tunnel routing needs are. In general, the exploratory tunnels are built out of\n"
+"randomly selected peers who are in the peer's \"not failing but active\" profile\n"
+"category. The secondary purpose of the tunnels, beyond merely tunnel routing,\n"
+"is to find underutilized high capacity peers so that they can be promoted for\n"
+"use in client tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:311
+#, python-format
+msgid ""
+"Exploratory peer selection is discussed further on the\n"
+"Peer Profiling and Selection page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:317
+msgid "Client tunnel peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:319
+msgid ""
+"Client tunnels are built with a more stringent set of requirements - the local\n"
+"router will select peers out of its \"fast and high capacity\" profile category so\n"
+"that performance and reliability will meet the needs of the client application.\n"
+"However, there are several important details beyond that basic selection that \n"
+"should be adhered to, depending upon the client's anonymity needs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:327
+#, python-format
+msgid ""
+"Client peer selection is discussed further on the\n"
+"Peer Profiling and Selection page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:332
+msgid "Peer Ordering within Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:334
+#, python-format
+msgid ""
+"Peers are ordered within tunnels to deal with the\n"
+"predecessor attack\n"
+"(2008 update)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:341
+msgid ""
+"To frustrate the predecessor \n"
+"attack, the tunnel selection keeps the peers selected in a strict order -\n"
+"if A, B, and C are in a tunnel for a particular tunnel pool, the hop after A is always B, and the hop after\n"
+"B is always C."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:348
+msgid ""
+"Ordering is implemented by generating a random 32-byte key for each\n"
+"tunnel pool at startup.\n"
+"Peers should not be able to guess the ordering, or an attacker could\n"
+"craft two router hashes far apart to maximize the chance of being at both\n"
+"ends of a tunnel.\n"
+"Peers are sorted by XOR distance of the\n"
+"SHA256 Hash of (the peer's hash concatenated with the random key) from the random key"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:363
+msgid ""
+"Because each tunnel pool uses a different random key, ordering is consistent\n"
+"within a single pool but not between different pools.\n"
+"New keys are generated at each router restart."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:370
+msgid "Request delivery"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:372
+#, python-format
+msgid ""
+"A multi-hop tunnel is built using a single build message which is repeatedly\n"
+"decrypted and forwarded. In the terminology of\n"
+"Hashing it out in Public,\n"
+"this is \"non-interactive\" telescopic tunnel building."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:379
+#, python-format
+msgid ""
+"This tunnel request preparation, delivery, and response method is\n"
+"designed to reduce the number of\n"
+"predecessors exposed, cuts the number of messages transmitted, verifies proper\n"
+"connectivity, and avoids the message counting attack of traditional telescopic\n"
+"tunnel creation.\n"
+"(This method, which sends messages to extend a tunnel through the already-established\n"
+"part of the tunnel, is termed \"interactive\" telescopic tunnel building in\n"
+"the \"Hashing it out\" paper.)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:390
+#, python-format
+msgid ""
+"The details of tunnel request and response messages, and their encryption,\n"
+"are specified here."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:395
+msgid ""
+"Peers may reject tunnel creation requests for a variety of reasons, though\n"
+"a series of four increasingly severe rejections are known: probabilistic rejection\n"
+"(due to approaching the router's capacity, or in response to a flood of requests), \n"
+"transient overload, bandwidth overload, and critical failure. When received, \n"
+"those four are interpreted by the tunnel creator to help adjust their profile of\n"
+"the router in question."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:404
+#, python-format
+msgid ""
+"For more information on peer profiling, see the\n"
+"Peer Profiling and Selection page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:410
+msgid "Tunnel Pools"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:412
+#, python-format
+msgid ""
+"To allow efficient operation, the router maintains a series of tunnel pools,\n"
+"each managing a group of tunnels used for a specific purpose with their own\n"
+"configuration. When a tunnel is needed for that purpose, the router selects one\n"
+"out of the appropriate pool at random. Overall, there are two exploratory tunnel\n"
+"pools - one inbound and one outbound - each using the router's default configuration.\n"
+"In addition, there is a pair of pools for each local destination -\n"
+"one inbound and one outbound tunnel pool. Those pools use the configuration specified\n"
+"when the local destination connects to the router via I2CP, or the router's defaults if\n"
+"not specified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:424
+#, python-format
+msgid ""
+"Each pool has within its configuration a few key settings, defining how many\n"
+"tunnels to keep active, how many backup tunnels to maintain in case of failure,\n"
+"how long the tunnels should be, whether those\n"
+"lengths should be randomized, as \n"
+"well as any of the other settings allowed when configuring individual tunnels.\n"
+"Configuration options are specified on the I2CP page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:434
+msgid "Tunnel Lengths and Defaults"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:436
+msgid "On the tunnel overview page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:438
+msgid "Anticipatory Build Strategy and Priority"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:440
+msgid ""
+"Tunnel building is expensive, and tunnels expire a fixed time after they are built.\n"
+"However, when a pool that runs out of tunnels, the Destination is essentially dead.\n"
+"In addition, tunnel build success rate may vary greatly with both local and global\n"
+"network conditions.\n"
+"Therefore, it is important to maintain an anticipatory, adaptive build strategy\n"
+"to ensure that new tunnels are successfully built before they are needed,\n"
+"without building an excess of tunnels, building them too soon,\n"
+"or consuming too much CPU or bandwidth creating and sending the encrypted build messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:451
+msgid ""
+"For each tuple {exploratory/client, in/out, length, length variance}\n"
+"the router maintains statistics on the time required for a successful\n"
+"tunnel build.\n"
+"Using these statistics, it calculates how long before a tunnel's expiration\n"
+"it should start attempting to build a replacement.\n"
+"As the expiration time approaches without a successful replacement,\n"
+"it starts multiple build attempts in parallel, and then\n"
+"will increase the number of parallel attempts if necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:462
+msgid ""
+"To cap bandwidth and CPU usage,\n"
+"the router also limits the maximum number of build attempts outstanding\n"
+"across all pools.\n"
+"Critical builds (those for exploratory tunnels, and for pools that have\n"
+"run out of tunnels) are prioritized."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:471
+msgid "Tunnel Message Throttling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:473
+msgid ""
+"Even though the tunnels within I2P bear a resemblance to a circuit switched\n"
+"network, everything within I2P is strictly message based - tunnels are merely\n"
+"accounting tricks to help organize the delivery of messages. No assumptions are\n"
+"made regarding reliability or ordering of messages, and retransmissions are left\n"
+"to higher levels (e.g. I2P's client layer streaming library). This allows I2P\n"
+"to take advantage of throttling techniques available to both packet switched and\n"
+"circuit switched networks. For instance, each router may keep track of the \n"
+"moving average of how much data each tunnel is using, combine that with all of \n"
+"the averages used by other tunnels the router is participating in, and be able\n"
+"to accept or reject additional tunnel participation requests based on its \n"
+"capacity and utilization. On the other hand, each router can simply drop \n"
+"messages that are beyond its capacity, exploiting the research used on the \n"
+"normal Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:489
+msgid ""
+"In the current implementation, routers implement a\n"
+"weighted random early discard (WRED) strategy.\n"
+"For all participating routers (internal participant, inbound gateway, and outbound endpoint),\n"
+"the router will start randomly dropping a portion of messages as the\n"
+"bandwidth limits are approached.\n"
+"As traffic gets closer to, or exceeds, the limits, more messages are dropped.\n"
+"For an internal participant, all messages are fragmented and padded and therefore are the same size.\n"
+"At the inbound gateway and outbound endpoint, however, the dropping decision is made\n"
+"on the full (coalesced) message, and the message size is taken into account.\n"
+"Larger messages are more likely to be dropped.\n"
+"Also, messages are more likely to be dropped at the outbound endpoint than the inbound gateway,\n"
+"as those messages are not as \"far along\" in their journey and thus the network cost of\n"
+"dropping those messages is lower."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:507
+msgid "Mixing/batching"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:509
+msgid ""
+"What strategies could be used at the gateway and at each hop for delaying,\n"
+"reordering, rerouting, or padding messages? To what extent should this be done\n"
+"automatically, how much should be configured as a per tunnel or per hop setting,\n"
+"and how should the tunnel's creator (and in turn, user) control this operation?\n"
+"All of this is left as unknown, to be worked out for a distant future release."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:518
+msgid "Padding"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:519
+msgid ""
+"The padding strategies can be used on a variety of levels, addressing the\n"
+"exposure of message size information to different adversaries.\n"
+"The current fixed tunnel message size is 1024 bytes. Within this however, the fragmented\n"
+"messages themselves are not padded by the tunnel at all, though for end to end \n"
+"messages, they may be padded as part of the garlic wrapping."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:529
+msgid ""
+"WRED strategies have a significant impact on end-to-end performance,\n"
+"and prevention of network congestion collapse.\n"
+"The current WRED strategy should be carefully evaluated and improved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/old-implementation.html:2
+msgid "Old Tunnel Implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/old-implementation.html:5
+#, python-format
+msgid ""
+"Note: Obsolete - NOT used! Replaced in 0.6.1.10 - see here for the current implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:3
+msgid "November 2016"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7
+msgid ""
+"This page describes the origins and design of I2P's unidirectional tunnels.\n"
+"For further information see:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:13
+msgid "Tunnel overview page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:19
+msgid "Tunnel design discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:21
+msgid "Peer selection"
+msgstr "Fifidianana Akama"
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:23
+msgid "Meeting 125 (~13:12-13:30)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:28
+msgid "Review"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:30
+msgid ""
+"While we aren't aware of any published research on the advantages of \n"
+"unidirecdtional tunnels,\n"
+"they appear to make it harder to detect a \n"
+"request/response pattern, which is quite possible to detect over a \n"
+"bidirectional tunnel.\n"
+"Several apps and protocols, notably HTTP,\n"
+"do transfer data in such manner. Having the traffic follow the same \n"
+"route to its destination and back could make it easier for an \n"
+"attacker who has only timing and traffic volume data to infer the path a \n"
+"tunnel is taking.\n"
+"Having the response come back along a different path arguably \n"
+"makes it harder."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:45
+msgid ""
+"When dealing with \n"
+"an internal adversary or most external adversaries, I2P's undirectional tunnels\n"
+"expose half as much traffic data than would be exposed with bidirectional circuits\n"
+"by simply looking at the flows themselves - an HTTP request and response would \n"
+"follow the same path in Tor, while in I2P the packets making up the request \n"
+"would go out through one or more outbound tunnels and the packets making up \n"
+"the response would come back through one or more different inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55
+msgid ""
+"The strategy of using two separate tunnels for inbound and outbound\n"
+"communication is not the only technique available, and it does have anonymity\n"
+"implications. On the positive side, by using separate tunnels it lessens the\n"
+"traffic data exposed for analysis to participants in a tunnel - for instance,\n"
+"peers in an outbound tunnel from a web browser would only see the traffic of\n"
+"an HTTP GET, while the peers in an inbound tunnel would see the payload \n"
+"delivered along the tunnel. With bidirectional tunnels, all participants would\n"
+"have access to the fact that e.g. 1KB was sent in one direction, then 100KB\n"
+"in the other. On the negative side, using unidirectional tunnels means that\n"
+"there are two sets of peers which need to be profiled and accounted for, and\n"
+"additional care must be taken to address the increased speed of predecessor\n"
+"attacks. The tunnel pooling and building process\n"
+"(peer selection and ordering strategies)\n"
+"should minimize the worries of the predecessor attack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:73
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
+#, python-format
+msgid ""
+"A recent paper by Hermann and Grothoff\n"
+"declared that I2P's unidirectional tunnels \"seems to be a bad design decision\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80
+msgid ""
+"The paper's main point is that\n"
+"deanonymizations on unidirectional tunnels take a longer time, which is an \n"
+"advantage, but that an attacker can be more certain in the unidirectional case. \n"
+"Therefore, the paper claims it isn't an advantage at all, but a disadvantage, at least\n"
+"with long-living eepsites."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88
+msgid ""
+"This conclusion is not fully supported by the paper. Unidirectional tunnels clearly \n"
+"mitigate other attacks and it's not clear how to trade off the risk of the \n"
+"attack in the paper\n"
+"with attacks on a bidirectional tunnel architecture."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:95
+msgid ""
+"This conclusion is based on an arbitrary certainty vs. time weighting \n"
+"(tradeoff) that may not be applicable in all cases. For \n"
+"example, somebody could make a list of possible IPs then issue subpoenas to \n"
+"each. Or the attacker could DDoS each in turn and via a simple \n"
+"intersection attack see if the eepsite goes down or is slowed down. So close \n"
+"may be good enough, or time may be more important."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104
+msgid ""
+"The conclusion is based on a specific weighting of the importance of certainty \n"
+"vs. time, and that weighting may be wrong, and it's definitely debatable, \n"
+"especially in a real world with subpoenas, search warrants, and other methods \n"
+"available for final confirmation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:111
+msgid ""
+"A full analysis of the tradeoffs of unidirectional vs. bidirectional \n"
+"tunnels is clearly outside the scope of the paper, and has not been done \n"
+"elsewhere. For example, how does this attack compare to the numerous possible \n"
+"timing attacks published about onion-routed networks? Clearly the authors have not\n"
+"done that analysis, if it's even possible to do it\n"
+"effectively."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120
+msgid ""
+"Tor uses bidirectional tunnels and has had a lot of academic review. I2P \n"
+"uses unidirectional tunnels and has had very little review. Does the lack of a \n"
+"research paper defending unidirectional tunnels mean that it is a poor design \n"
+"choice, or just that it needs more study? Timing attacks and \n"
+"distributed attacks are difficult to defend against in both I2P and Tor. The \n"
+"design intent (see references above) was that unidirectional tunnels are more \n"
+"resistant to timing attacks. However, the paper presents a somewhat different type of timing \n"
+"attack. Is this attack, innovative as it is, sufficient to label I2P's \n"
+"tunnel architecture (and thus I2P as a whole) a \"bad design\", and by \n"
+"implication clearly inferior to Tor, or is it just a design alternative that \n"
+"clearly needs further investigation and analysis? There are several other reasons \n"
+"to consider I2P currently inferior to Tor and other projects (small network \n"
+"size, lack of funding, lack of review) but is unidirectional tunnels really a \n"
+"reason?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:137
+msgid ""
+"In summary, \"bad design decision\" is apparently (since the paper does\n"
+"not label bidirectional tunnels \"bad\") shorthand for \"unidirectional \n"
+"tunnels are unequivocally inferior to bidirectional tunnels\", yet this \n"
+"conclusion is not supported by the paper."
+msgstr ""
diff --git a/i2p2www/translations/mg/LC_MESSAGES/priority.po b/i2p2www/translations/mg/LC_MESSAGES/priority.po
index b64037b2..3671e7dd 100644
--- a/i2p2www/translations/mg/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/mg/LC_MESSAGES/priority.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Malagasy (http://www.transifex.com/otf/I2P/language/mg/)\n"
"MIME-Version: 1.0\n"
@@ -65,29 +65,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Ny entana Debian\n dia voatsara ary tokony>/em> handeha amin'ny fitaovana x86/x86_64 mampiasa:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Precis 12.04 sady vaovao)"
-#: 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 report any issues\n"
@@ -95,73 +94,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Ny entana I2P metyhandeha amin'ny fitaovana tsy voalaza eo ambony. Azafady manaova tatitra amin'ny tsy fihetezana hita\namin'ireo entana ireo ao amin'ny Trac at\nhttps://trac.i2p2.de."
-#: 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 "Tetika 1: Modely taty aoriana an'i Ubuntu sy ny sampany (Andramo ity raha tsy mapiasa Debian ianao)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Tetika 2: Debian (miaraka amin'ny sampan'i Debian)"
-#: 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 "Fanampiana ny PPA avy amin'ny command line ary mametraka ny I2P"
-#: i2p2www/pages/downloads/debian.html:39
+#: i2p2www/pages/downloads/debian.html:38
msgid "Open a terminal and enter:"
msgstr "Sokafy ny terminal dia ampidiro:"
-#: 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 "Ity baiko ity dia hanampy ny PPA ao amin'ny /etc/apt/sources.list.d ary hisintona ny\nfanalahidy gpg izay nosoniavin'ny toeram'pitahirizana. Ny fanalahidy GPG dia manamarina\nfa ny entana dia tsy nisy niova hatramin'ny nanamboarana azy."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "Hilazao ny mpitsinjara entan'ny PPA vaovao amin'izao fomba izao:"
-#: 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 "Ity baiko ity dia hisintona ny lisitry ny fampiarana farany avy amin'ny\ntoeram-pitahirizana izay efa vonona ao amin'ny fitaovanao, miaraka ny PPA an'ny I2P izay efa nampiana teo aloha."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "Vonona ianao izao hametraka an'i I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Fanampiana ny PPA amin'ny fampiasana ny Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Vao misokatra ny Synaptic, fidio Repositorieseo amin'ny Settingsmenu."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Rehefa misokatra ny Synaptic, dia fidio Repositories avy eo amin'ny Settings menu."
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "Tsindrio ny loharanon'entana hafa tab ary click Ampio. Araiketoppa:i2p-maintainers/i2p
ao anaty ny andalan'ny APT dia tsindrioAmpio loharon'entana. Tsindrio Hidio ny bokotra ary Avereno ampiakarina."
-#: 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 "
@@ -170,85 +169,105 @@ msgid ""
" Mark then Apply."
msgstr "Ao anaty vata fanasarahana, ampidiro ny i2p
dia tsindrio enter. Rehefai2p
no hita eo amin'ny valiny, tsindry havanana i2p
dia fidioMariho ho apetraka. Rehefa vita izay dia mety ahita soaratra mivoakaAsiana fanampiny?. raha izay, tsindrio MarihoaryApetraho."
-#: 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 "Rehefa vita ny ny fametrahana dia afaka mandroso any amin'ny fandaharana manaraka\nizay ao anatin'nymamelona an'i I2Pary mandamina azy hifandahatra amin'ny fitaovanao."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Toromarika hoan i Debian"
-#: 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\")."
-msgstr "Fanamarihana: Ireto andalana manaraka ireto dia totonsaina avy amin'ny alalan'i root "
+"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
."
-msgstr "Ampio andalana mitovy an'izao eo amin'ny %(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:"
-msgstr "Ampidino ny fanalahidy dia nampiasaina hanaova sonian' ny toeram'pitehirizana ary ampio ao amin'ny 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 "Hilazao ny mpitsinjara entan'ny PPA vaovao amin'izao fomba izao"
-#: 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 step\n"
"1."
msgstr "Ity baiko ity dia hisintona ny fampiarana farany avy amin'ny\nfitehirizan'entana rehetra hita anaty fitaovanao, miaraka ny fitehirizana an'i I2P izay natao teo amin'ny ambaratonga\n1."
-#: 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 "Vonona ny hametraka an'i I2P ianao! mametrakai2p-keyring
\n ny entana rehetra dia manamarina fa ho voarainao ny fanavaozana rehetra ao amin'ny fitehirizana ny fanalahidy GPG."
-#: 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 "Rehefa vita ny fametrahana dia afaka mandroso ao amin'ny ambaratonga manaraka toy ny mamelona an'i I2Pary mandamina sy mampifandrindra azy amin'ny fitaovanao."
-#: 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 "Asa aorian'ny fametrahana"
-#: 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 "Raha ireo entana I2P ireo no ampiasaina, dia afaka velomina torak'izao ny router I2P\nfomba telo:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""raha ilaina" ny mampiasana ny script'ny router i2p. dia alefaso "i2prouter\nstart
"avy amin'ny baiko an-tsoratra. (fanamarihana: Aza mampiasa\nsudo na mandefa azy raha root ianao!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -256,14 +275,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""raha ilaina" tsy misy ny java service wrapper\n(izay ilaina amin'ny fitaovana tsy mampiasa linux/na fitaovana tsy x86) amin'ny alalan'ny fandefasana \"i2prouter-nowrapper
\".\n(Note: aza\nmampiasa sudo raha root ianao!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "Servisy velona miaraka amin'ny solon'tsaina ,ary alohan'ny hidiranao ao anaty ny solon'tsainao koa aza. Ny servisy dia azovelomina amin'ny \"dpkg-reconfigure\n i2p
\" raha root na mampiasa sudo. Hafatra momba ny fampiasana azy."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -271,14 +290,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Rehefa mametraka ny i2p amin'ny voalohany, tadidio nymanamboatra ny NAT/rindrin'afon raha hainao. Ny port izay ho tondroina dia hita ato amin'ny \npejy fanamboarana ny tambazotra ao anaty fibaikona ny router. Raha ilaina ny fanoroana momban'ny fampiasana ny port,\ndia jereo ny portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Azafady jereo ary amboary ny salan'ny bandwidtheo amin'nypejy fanitsiana,\nmba ho 96 KB/s down / 40 KB/s up, izay hita fa antonony."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/nb/LC_MESSAGES/comparison.po b/i2p2www/translations/nb/LC_MESSAGES/comparison.po
index aa6d76a5..a809d0d7 100644
--- a/i2p2www/translations/nb/LC_MESSAGES/comparison.po
+++ b/i2p2www/translations/nb/LC_MESSAGES/comparison.po
@@ -1,23 +1,23 @@
-# Norwegian Bokmål translations for I2P.
-# Copyright (C) 2017 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# Allan Nordhøy 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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/nb/LC_MESSAGES/get-involved.po b/i2p2www/translations/nb/LC_MESSAGES/get-involved.po
index 097ec1b9..c15b8a93 100644
--- a/i2p2www/translations/nb/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/nb/LC_MESSAGES/get-involved.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Allan Nordhøy ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/nb/LC_MESSAGES/priority.po b/i2p2www/translations/nb/LC_MESSAGES/priority.po
index 0ca15c25..46f891a1 100644
--- a/i2p2www/translations/nb/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/nb/LC_MESSAGES/priority.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Allan Nordhøy ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then 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 "
@@ -171,85 +170,105 @@ msgid ""
" 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 "Instruksjoner for Debian"
-#: 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 step\n"
"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 "Endre repository addressen til http://deb.i2p2.no/"
-
-#: 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"
"start
" from a command prompt. (Note: Do not use\n"
"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"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -257,14 +276,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -272,14 +291,14 @@ msgid ""
"you may find portforward.com to be 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/nl/LC_MESSAGES/blog.po b/i2p2www/translations/nl/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..987c7d50
--- /dev/null
+++ b/i2p2www/translations/nl/LC_MESSAGES/blog.po
@@ -0,0 +1,7549 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# Nathan Follens, 2015,2018
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Dutch (http://www.transifex.com/otf/I2P/language/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
+msgid "Files are available on the `download page`_."
+msgstr "Bestanden zijn beschikbaar op de `downloadpagina`_."
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:39
+msgid "`download page`"
+msgstr "`downloadpagina`"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:45
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:13
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:101
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:26
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:48
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:34
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:35
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:65
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:29
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:37
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:32
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:38
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:36
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:43
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:27
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:30
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:44
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:36
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:34
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:73
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:53
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:35
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:54
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:33
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:35
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:32
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:56
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:32
+#: 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.rst:36
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:33
+msgid "RELEASE DETAILS"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:103
+msgid "Major Changes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:54
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:112
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:34
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:51
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:40
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:41
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:76
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:39
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:50
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:35
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:51
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:55
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:53
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:30
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:40
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:57
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:52
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:42
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:80
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:63
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:47
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:71
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:43
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:47
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:48
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:68
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:41
+#: 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.rst:45
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:43
+msgid "Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:63
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:19
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:118
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:52
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:99
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:49
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:47
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:87
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:49
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:57
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:42
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:60
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:68
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:65
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:38
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:49
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:75
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:65
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:50
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:89
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:76
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:53
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:83
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:58
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:57
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:62
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:82
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:54
+#: 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.rst:57
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:53
+msgid "Other"
+msgstr "Overige"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:79
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:30
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:129
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:27
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:76
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:64
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:59
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:104
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:62
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:73
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:52
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:76
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:86
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:81
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:61
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:69
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:101
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:75
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:56
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:115
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:105
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:76
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:96
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:73
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:103
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:77
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:25
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:102
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:69
+#: 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.rst:79
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:73
+msgid "SHA256 Checksums:"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
+msgid "Major changes"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
+msgid "Wrapper Update"
+msgstr ""
+
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
+msgid "Update Info"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
+msgid "0.9.2 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
+msgid ""
+"0.9.2 includes extensive low-level changes to improve the performance and "
+"efficiency of the router. We have updated our UPnP library, to hopefully "
+"make UPnP work for more people. I2PSnark now has DHT support, but it is not "
+"yet enabled by default, as we plan to do more testing during the upcoming "
+"0.9.3 development cycle."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
+msgid ""
+"As usual, there's also lots of bug fixes in this release, so updating is "
+"recommended."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
+msgid ""
+"SSU: Fix several problems in our UDP transport, to improve efficiency and "
+"reliability for connection setup. Also improve defenses against various "
+"types of bad input."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
+msgid ""
+"UPnP: Updated our library to fix several issues, should work for more "
+"routers now"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
+msgid ""
+"Transport: Improve performance in both our TCP and UDP transports, to "
+"benefit high-bandwidth routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
+msgid ""
+"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered are "
+"now much more flexible, which should lessen protocol overhead and reduce "
+"stalls caused by dropped tags."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
+msgid ""
+"I2PSnark: Add DHT support, not yet enabled by default, will do further "
+"testing and plan to enable by default in 0.9.3."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
+msgid ""
+"Fix various issues affecting memory usage and performance on high-bandwidth "
+"routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
+msgid ""
+"Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
+msgid ""
+"Fix i2psnark bug that prevented a completion announcement to the tracker"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
+msgid "Fix a lock contention problem in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
+msgid "Fix some OSX installation issues"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
+msgid "Remove uses of direct byte buffers that may have been leaking"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
+msgid "Reduce overhead in network messages"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
+msgid "Add \"universal\" theme support"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
+msgid "Theme updates"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
+msgid "Add a jbigi library for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
+msgid "New Scala unit test framework"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
+msgid "Translation updates for Czech, Dutch, German, and Greek"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
+msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:77
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:127
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:74
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:62
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:57
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:100
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:58
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:70
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:49
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:83
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:78
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:58
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:66
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:96
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:72
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:53
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:112
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:97
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:68
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:88
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:65
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:95
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:69
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:94
+#: 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.rst:71
+msgid "Update GeoIP data (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
+msgid "0.9.3 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
+msgid ""
+"0.9.3 includes extensive low-level changes to the queueing of messages in "
+"the router. We implement the CoDel Active Queue Management (AQM) algorithm."
+" We also unify the queueing and priority mechanisms in the transports to "
+"aid diagnosis and reduce network latency. Work continues on fixing UDP "
+"transport bugs and making UDP more resistant to attacks. There are more "
+"changes to improve the performance of the router and reduce its memory "
+"usage. Also, we enable i2psnark's DHT support, introduced last release, by "
+"default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
+msgid "Active Queue Management"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
+msgid "Priority queues"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
+msgid "I2PSnark DHT: Several bug fixes, enable by default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
+msgid ""
+"Several SSU fixes including memory leak, and better handling of routers "
+"behind firewalls that change UDP ports; additional defenses for malicious "
+"packets."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
+msgid "Fix piece selection (rarest-first) bugs in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
+msgid "Fix bug causing multiple browsers to open at startup"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
+msgid "Improvements in caching"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
+msgid "Several synchronization fixes and lock contention reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
+msgid "Major reduction in SSU buffers memory use"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
+msgid ""
+"Fix streaming connection timeout back to 1 minute, was inadvertently changed"
+" to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was unlimited"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
+msgid "Improved defenses in i2ptunnel for \"darkloris\""
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
+msgid "More validation at torrent creation in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
+msgid "Several parameter changes in SSU to improve throughput"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
+msgid ""
+"New event log for major events including restarts; show multiple restart "
+"lines on graphs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
+msgid "Remove duplicate messages from logs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
+msgid "Don't respond to blocked streaming connections with a reset, just drop"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
+msgid "Remove all uses of inefficient SimpleTimer"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
+msgid "More checks for valid IPs and ports entered in console"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
+msgid "Fix bug that wasted a lot of entropy"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
+msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
+msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
+msgid "0.9.4 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
+msgid ""
+"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, that "
+"was reducing network performance and reliability. It also includes major "
+"changes in the in-network update system, and adds the capability to update "
+"via in-network torrents."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
+msgid ""
+"We fixed several bugs in the i2psnark DHT implementation that was introduced\n"
+"last release. For those of you using console or http proxy passwords,\n"
+"we converted to the more-secure digest method and improved the security for console forms."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
+msgid ""
+"For those of you already running development builds, your router should automatically\n"
+"update to 0.9.4-0 using the new in-network torrent facility.\n"
+"For those running 0.9.3-0, you will update normally using in-network HTTP, and\n"
+"we will have more information for you when we release 0.9.5."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
+msgid ""
+"Big rework of the update system; Preliminary support for updates via "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
+msgid "Add per-destination outbound priorities"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
+msgid ""
+"Fix major bug that reduced SSU connection limits which reduced tunnel build "
+"success rates"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
+msgid ""
+"Fix bug with external I2CP that prevented some external apps from working"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
+msgid "Fixed several bugs in i2psnark DHT"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
+msgid "Fixed bug in i2psnark PEX that inflated peer counts"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
+msgid "Handle dropped I2CP messages better"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
+msgid "Reduce overhead of I2CP messages"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
+msgid "Enforce max size in transport outbound message queues"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
+msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
+msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
+msgid ""
+"More performance improvements, memory reduction, and object churn reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
+msgid "Better detection of network disconnections"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
+msgid "Further improvements in the SSU transport"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
+msgid "Add console password form"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
+msgid ""
+"Convert http proxy and console from basic to digest authentication for added"
+" security"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
+msgid ""
+"Improved verification of console form submissions, using jsp sessions. "
+"Cookies may now be required on forms, except when the console password is "
+"enabled"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
+msgid ""
+"Initial work on new interfaces to manage applications started via "
+"clients.config"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
+msgid "Increase minimum peer port to 1024"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
+msgid "Increase granularity of bandwidth limiter for smoother transmissions"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
+msgid ""
+"Translation updates: Chinese, French, German, Italian, Polish, Portuguese, "
+"Swedish, and Ukrainian"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
+msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
+msgid "New ARMv6 wrapper for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
+msgid "0.9.5 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
+msgid ""
+"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities "
+"that are being investigated by researchers at UCSB. We continue to work with"
+" them on additional improvements. This is a good opportunity to remind the "
+"community that while our network continues to grow rapidly, it is still "
+"relatively small. There may be multiple weaknesses or bugs that could "
+"compromise your anonymity. Help us grow the network by spreading the word "
+"and contributing where you can."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
+#, python-format
+msgid ""
+"In this upgrade cycle, a random 1%(pc)s of routers, (plus all routers running a\n"
+"development build) will attempt to update via the experimental in-network bittorrent\n"
+"with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
+msgid "Defenses and Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
+msgid "Fix router bug causing lockup when using iMule"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
+msgid "Recognize, handle, reject duplicate tunnel IDs"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
+msgid "Fix changing of the log file name"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
+msgid "Prevent hashcode attack in session tags"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
+msgid "Add build request throttler based on previous hop"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
+msgid "Limit concurrent next-hop lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
+msgid "Catch exceptions storing nonces in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
+msgid "Fix saving graph settings in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
+msgid "Fix eepget generation of URLs when not proxied"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
+msgid ""
+"Encrypt database lookup messages end-to-end when sent through exploratory "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
+msgid "Don't use multiple floodfills from the same /16 in a query"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
+msgid "Randomize delay before verifying floodfill store"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
+msgid "Increase number of floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
+msgid "Improve support for mobile browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
+msgid "Partial defenses for UCSB attacks"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
+msgid "Add announce list support to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
+msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
+msgid "Split router info files into multiple subdirectories"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
+msgid "Add IP to hostname mapping option in SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
+msgid "Improve PRNG seeding"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
+msgid ""
+"Translation updates: French, German, Hungarian, Italian, Norwegian, Polish, "
+"Portuguese, Russian, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
+msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
+msgid "0.9.6 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
+msgid ""
+"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
+"Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty "
+"update. The Jetty 7 series is actively maintained and we plan to stay "
+"current with it in future I2P releases."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
+msgid ""
+"Most users will update via HTTP. Those running development builds will attempt to update via the\n"
+"experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users\n"
+"to update via torrent in the 0.9.7 update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
+msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
+msgid ""
+"If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the\n"
+"following instructions to fix your eepsite location **before** you update to 0.9.6.\n"
+"Only original installations of 0.9.5-0 on Windows are affected by this issue. If your router version\n"
+"is 0.9.5-0-win1, you already have the fix and need not take any action."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
+msgid "See `this page`_ for instructions."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
+msgid "`this page`"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
+msgid "Jetty 7 Migration Details"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
+msgid ""
+"For most people, the update should just work. If you have multiple Jetty eepsites,\n"
+"OR have made changes to jetty.xml or other Jetty configuration files, including changing the port\n"
+"from 7658, you MUST take manual action AFTER updating."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
+msgid ""
+"After update, the router will migrate your jetty.xml files to the new Jetty "
+"7 format."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
+msgid ""
+"The migration resets the port to 7658. If you have more than one Jetty eepsite, OR your eepsite\n"
+" is NOT on port 7658, OR you have made other modifications to jetty.xml (for example changing the\n"
+" listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml file for each eepsite to fix them up\n"
+" after updating, and restart again."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
+msgid ""
+"**The following files will be backed up with a ".jetty6" suffix and then migrated.**\n"
+"If you have made local changes, you may have to edit them manually and restart.\n"
+"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
+msgid "Plugins"
+msgstr "Plug-ins"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
+msgid "Most plugins should work fine with Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
+msgid ""
+"The I2PControl and zzzot plugins must be updated. Your router should "
+"download and install the new versions shortly after starting 0.9.6."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
+msgid ""
+"If a plugin does not work, please contact the maintainer for that plugin."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
+msgid "Several bugs with Windows installation (see above)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
+msgid "Fix default form action in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
+msgid "Fix links on iframed console pages"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
+msgid "Better detection of 64-bit Windows to prevent crashes by systray"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
+msgid "Fix bug preventing router update via torrent"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
+msgid "Several SSU fixes for NATs that change UDP ports"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
+msgid ""
+"Ignore unsupported IPs in RouterInfos when selecting an address (prep for "
+"IPv6)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
+msgid ""
+"Ignore unused option bits in Database Lookup Message (prep for requesting "
+"encrypted response)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
+msgid "Fix HTTP proxy error response for malformed URIs"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
+msgid "Recognize UPnP devices without port forwarding capability"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
+msgid "Jetty 7.6.10 (see above for migration information)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
+msgid "Limit page size in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
+msgid "Add data directory and page size configuration to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
+msgid "Support multiple i2psnark instances"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
+msgid "Piece size adjustments in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
+msgid "Add more graphing support for combined bandwidth graph"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
+msgid "Block b32.i2p supercookies"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
+msgid "Allow stopping clients on /configclients"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
+msgid "Check for nonce count replays in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
+msgid "Support SASL authentication in IRC proxy"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
+msgid "Several cleanups and minor fixes in the update manager"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
+msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:2
+msgid "0.9.7 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:7
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:9
+msgid "0.9.7 includes significant bug fixes and improvements."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:11
+msgid ""
+"For the first time, class 'N' routers (those with a minimumum of 128 KBytes/sec of shared bandwidth)\n"
+"will automatically become floodfill (previously it was only 'O' routers with 256 KBps). This will\n"
+"increase the floodfill population for additional resistance to certain attacks (see below). Floodfill routers\n"
+"don't consume much additional bandwidth, but they do tend to use additional memory and concurrent\n"
+"connections. If you do not wish your router to become floodfill, set the advanced configuration\n"
+"router.floodfillParticipant=false ."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:20
+#, python-format
+msgid ""
+"As we think the last release fixed the experimental update-via-torrent bugs, 3%(pc)s of routers should\n"
+"update over in-network bittorrent this cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:25
+msgid ""
+"Plugin update checks, possibly broken for several releases, are fixed. Your plugins should once again\n"
+"auto-update after updating the router."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:30
+msgid ""
+"We fixed a major streaming timer bug that contributed to frequent IRC "
+"disconnects."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:34
+msgid ""
+"This release contains additional mitigations for the `\"practical attacks\" paper`_.\n"
+"However, we have a lot more work to do to resist Sybil attacks on the floodfills, and resist\n"
+"traffic analysis at the gateways and endpoints of exploratory tunnels.\n"
+"It's a good reminder for everybody that our network is still relatively small and vulnerable.\n"
+"We don't currently recommend any uses that would put anybody in serious jeopardy.\n"
+"We'll keep working to improve it... please keep working to spread the word. A bigger network is a better network."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:43
+msgid "`\"practical attacks\" paper`"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:47
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:15
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:107
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:28
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:36
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:37
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:67
+msgid "Anonymity Improvements"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:49
+msgid "End-to-end encryption of responses to leaseset lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:50
+msgid "Expand floodfill pool by enabling class 'N' floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:51
+msgid "Randomize padding inside encrypted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:52
+msgid "Preparation for better SSU protocol obfuscation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:56
+msgid "Fix newer lease sets not getting stored or published"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:57
+msgid ""
+"Fix classpath bug when used with 4-year-old installations, causing the "
+"console not to start"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:58
+msgid "Fix addressbook database bug preventing update of the reverse index"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:59
+msgid ""
+"Fix i2psnark bug that changed the infohash of torrents created by Robert and"
+" fetched via magnet link"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:60
+msgid "Fix version checking for plugins"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:61
+msgid ""
+"Fix a streaming timer bug causing frequent IRC disconnects (also affects "
+"other close-on-idle tunnels)"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:65
+msgid "Don't install as a service on Windows by default"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:66
+msgid "Reduce transport idle timeouts"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:67
+msgid "Reduce tunnels on idle in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:68
+msgid "Change default in i2ptunnel GUI to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:69
+msgid "IE 10 support"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:70
+msgid ""
+"Individual expiration times in leases, for efficiency on destinations with a"
+" high number of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:71
+msgid "Low-level encryption and XOR speedups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:72
+msgid "Jetty 7.6.11"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:73
+msgid "Tomcat 6.0.37"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:74
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Spanish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:75
+msgid "New Turkish translation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:76
+msgid "Wrapper 3.5.19 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:2
+msgid "0.9.7.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:7
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:9
+msgid ""
+"This unscheduled release disables the RouterInfo verification messages that "
+"were used in the attack published in the UCSB paper, which should make "
+"correlating a LeaseSet and a Router much more difficult. We have also "
+"included a limited number of other fixes listed below. Our 0.9.8 release, "
+"which will include IPv6 support, is still on-schedule for late September."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:11
+msgid "As usual, we recommend that all users update to this release."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:17
+msgid "Disable RouterInfo verification messages"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:21
+msgid "Extend inbound tunnel expiration"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:22
+msgid "i2prouter: bashism fix"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:23
+msgid "i2psnark: increase max piece size, mime type updates"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:24
+msgid "New reseed host"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:25
+msgid "New update hosts, thanks Meeh and dg"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:26
+msgid "Streaming: RTO changes"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:27
+msgid "Updater: Increase update-via-torrent to 30 percent"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:28
+msgid "UPnP fix for some hardware"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:2
+msgid "0.9.8 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:7
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:9
+msgid ""
+"0.9.8 includes the long-awaited support for IPv6. It's enabled by default, "
+"but of course you need a public IPv6 address to use it. Configuration is on "
+"the 'network' configuration tab in your console. We also have anonymity "
+"improvements including padding of SSU packets and longer router private "
+"keys."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:11
+#, python-format
+msgid ""
+"30%(pc)s of you will update via in-network torrent in this update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:13
+msgid "IPv6 Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:15
+msgid ""
+"IPv6 is enabled and preferred by default. If you have a public IPv6 address \n"
+"and you are connecting to another router with a published IPv6 address, it will \n"
+"connect via IPv6. There is a new IPv6 configuration section on /confignet in \n"
+"the router console. If IPv6 is causing problems you may disable it there."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:22
+msgid ""
+"As a part of the IPv6 development effort, I2P now supports multiple \n"
+"published IP addresses. If you have multiple public IP addresses (IPv4, IPv6, \n"
+"or both), you may enable or disable them individually on /confignet. The \n"
+"default is to use the first IPv4 and IPv6 addresses it discovers. If you have \n"
+"multiple addresses you should review the configuration on /confignet and adjust \n"
+"it if necessary.\n"
+"Note that while you may enable multiple IPv4 and IPv6 addresses on /confignet,\n"
+"we recommend that you use only one IPv4 and one IPv6 address. There are\n"
+"bugs still to be fixed with multiple addresses of each type."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:34
+msgid ""
+"While IPv6 support was designed and developed over several years, it has \n"
+"only been tested by a limited number of users and is still beta. If you do have \n"
+"a public IPv6 address, please monitor your router and the logs for problems, \n"
+"and disable it necessary. Please report any bugs on \n"
+"http://trac.i2p2.i2p."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:42
+msgid "Rekeying Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:44
+msgid ""
+"For those of you running I2P on faster hardware (generally, 64-bit x86) the \n"
+"router will generate a new identity using longer keys. This will substantially \n"
+"reduce your participating traffic for 48 hours or more, while your router \n"
+"re-integrates into the network. Due to the new keys, the large number of \n"
+"torrent updates, and the recent network growth, we expect substantial \n"
+"disruption to the network for a week or more after the update is released. \n"
+"Please be patient and things should start to improve after a few days."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:54
+msgid ""
+"These changes may result in higher CPU usage for some of you. We're doing \n"
+"our best to increase efficiency, but stronger security generally requires more \n"
+"computation. Performance may also be poor during the first week\n"
+"due to the network churn.\n"
+"We will evaluate the network performace before deciding whether to\n"
+"change the key length on slower hardware in a future release."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:63
+msgid ""
+"We are experiencing rapid network growth in the last few weeks, which is \n"
+"causing a bit of a bumpy ride for some, especially on weekends. However, the \n"
+"network is still performing fairly well, so keep spreading the word."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:69
+msgid "More Changes Coming"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:71
+msgid ""
+"We're in the initial stages of desiging major changes to strengthen our \n"
+"crypto. Stronger crypto will use more CPU and it may possibly \n"
+"require a Java 7 JRE at a minimum. We understand your desire to run I2P on low-power \n"
+"and/or older hardware. We're working hard to minimize the impacts, but some \n"
+"loss of performance is inevitable. In addition, Java 5 and 6 are no longer \n"
+"supported by Oracle. Now is a good time to upgrade to Java 7. Any change in \n"
+"minimum requirements will be announced well in advance."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:81
+msgid "New Website"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:83
+msgid ""
+"After a heroic effort by str4d, the new website preview is available at \n"
+"http://i2hq.srv.i2p2.de. We hope to see it go live at \n"
+"https://geti2p.net and http://www.i2p2.i2p soon. Please \n"
+"contribute to the new website translations on Transifex, especially the \n"
+"website_priority resource."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:91
+msgid "Community Participation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:93
+msgid ""
+"In early August, hottuna and zzz attended DEFCON 21 in Las Vegas.\n"
+"Last weekend, echelon attended the CTS IV conference in Berlin and\n"
+"psi attended the Tahoe-LAFS hackfest at GNU 30 in Cambridge, Mass.\n"
+"Several of us will be at 30C3 in Hamburg late this year.\n"
+"It's great to see people participating at these events and representing I2P."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:105
+msgid "IPv6 support for both NTCP and SSU"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:109
+msgid "SSU protocol obfuscation by adding random padding"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:110
+msgid "Longer encryption and DH private keys for users on faster platforms"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:114
+msgid "Fix I2PTunnel / I2CP locking and duplicates (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:115
+msgid "Fix translation of HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:116
+msgid "Fix occasional runtime exception in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:120
+msgid ""
+"Big rework of transport code to accommodate multiple addresses and IPv6"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:121
+msgid "Streaming: Improved recovery from lost acks, other fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:122
+msgid ""
+"Use Transifex for translation of initial news and HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:123
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Swedish, "
+"Turkish"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:124
+msgid "New Romanian translation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:126
+msgid "Wrapper 3.5.20 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:2
+msgid "0.9.8.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:7
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:9
+msgid ""
+"0.9.8.1 fixes a problem with updating to 0.9.8 on Windows for some people. "
+"New installs and non-Windows platforms are not affected, however all "
+"platforms will automatically update even if running 0.9.8."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:11
+msgid ""
+"See the `Trac ticket`_ for details and workarounds. See\n"
+"`the 0.9.8 release notes`_ for information on IPv6 and other changes."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:16
+msgid ""
+"Due to recent attacks, logins are disabled on `Trac`_ and new registrations are\n"
+"disabled on `zzz.i2p`_. Until those services are restored, please report all\n"
+"bugs on IRC freenode or IRC2P #i2p-dev."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:22
+msgid "`Trac ticket`"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:23
+msgid "`the 0.9.8 release notes`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:2
+msgid "0.9.9 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:7
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:9
+msgid ""
+"0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and "
+"starts work on a year-long plan to increase the strength of the "
+"cryptographic signing algorithms used in the router, and support multiple "
+"algorithms and key lengths simultaneously. Automatic update files will now "
+"be signed with 4096-bit RSA keys."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:11
+msgid ""
+"We now support SSL between your router and your servers for security.\n"
+"See `this development thread`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:16
+msgid "`this development thread`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:18
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release.\n"
+"Several members of the I2P team will be at 30C3 in Hamburg this year.\n"
+"Come say hello and ask for an I2P sticker.\n"
+"Thanks to everyone for their support this year."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:30
+msgid "Don't build client tunnels through zero-hop exploratory tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:31
+msgid "New \"su3\" file support using stronger keys"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:32
+msgid "Use su3 for updates"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:36
+msgid "Issues with losing data when closing streams"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:37
+msgid "Fix various streaming connection limit issues"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:38
+msgid "Issues with resource usage of closed connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:39
+msgid "Clean up timer threads in close-on-idle tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:40
+msgid "Several other streaming fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:41
+msgid "Reject more non-public IPv6 addresses"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:42
+msgid "Fix IPv6 GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:43
+msgid "Fix peer selection in first minutes after startup"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:44
+msgid "Several I2PTunnel bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:45
+msgid "Fix major i2psnark DHT bug that prevented magnets from working well"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:46
+msgid ""
+"Fix client tunnels that fail due to name resolution failure at startup, "
+"particularly with b32 hostnames"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:47
+msgid "Fix changing client i2ptunnel target list"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:48
+msgid ""
+"Fix major bugs preventing reception of encrypted responses to leaseset "
+"lookups and verifies"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:49
+msgid "Fix bad links on some i2psnark buttons in Opera and text-mode browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:50
+msgid "Fix NPE in Susimail"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:54
+msgid "Start work on supporting stronger signing keys in the router"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:55
+msgid "Reduce thread usage for HTTP Server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:56
+msgid "Auto-stop update torrent after some time"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:57
+msgid "Add ability to stop webapp via console"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:58
+msgid "New POST throttler in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:59
+msgid "Improve connection throttling"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:60
+msgid "More work to reduce number of connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:61
+msgid "Re-enable router info expiration job"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:62
+msgid ""
+"Extend router info expiration and other changes to reduce load on floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:63
+msgid "Support multiple servers through a single server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:64
+msgid "Support specification of server port in i2ptunnel clients"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:65
+msgid "Add support for SSL connections from i2ptunnel to external server"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:66
+msgid "SSL and crypto code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:67
+msgid "i2psnark storage code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:68
+msgid "New destination cache"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:69
+msgid "Lots of code cleanup and resolution of findbugs warnings"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:70
+msgid "New Japanese translation (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:71
+msgid ""
+"Translation updates: French, German, Italian, Romanian, Russian, Spanish, "
+"Swedish, and others"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:73
+msgid "Wrapper 3.5.22 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:1
+msgid ""
+"=====================\n"
+"Syndie 1.105b Release\n"
+"====================="
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:9
+msgid "Update to HSQLDB 2.3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:11
+msgid ""
+"This is the first stable release since February 2013.\n"
+"It is essentially the same as 1.104b-7-rc, with some translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:16
+msgid ""
+"All binaries and source packages are at `syndie.de`_ and `syndie.i2p`_.\n"
+"Plugins are available at `plugins.i2p`_ and `stats.i2p`_."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:21
+msgid ""
+"For those of you upgrading from 1.103b, you will find syndie startup and "
+"shutdown much faster due to the new version of HSQLDB."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:25
+msgid ""
+"If you have a large database or an identity you wish to preserve,\n"
+"you may wish to back up your entire ~/.syndie directory before you start.\n"
+"The upgrade process does make its own backup, however you may find it easier to use your own backup if the upgrade fails."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:31
+msgid ""
+"Upgrades from 1.103b may fail for some people due to database corruption due to bugs in the old HSQLDB.\n"
+"Unfortunately, we don't know how to fix it.\n"
+"Your alternatives are to start over with a clean database, or stay with 1.103b forever.\n"
+"Sorry about that."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:43
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:29
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:56
+msgid "GUI Improvements and Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:72
+msgid "Syndication"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:83
+msgid "Database"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:104
+msgid "New translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:105
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:60
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:56
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:99
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:57
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:69
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:72
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:82
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:77
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:57
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:65
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:95
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:71
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:52
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:111
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:96
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:67
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:87
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:64
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:94
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:68
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:93
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:59
+#: 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.rst:70
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:63
+msgid "Translation updates"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.10 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:9
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker to correlate a Destination with a Router."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:11
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more difficult for an attacker\n"
+"to correlate a Destination with a Router. It also fixes character encoding bugs in susimail,\n"
+"and includes lots of other bug fixes and translation updates.\n"
+"Most of you will update via torrent, using the new \"su3\" update format with stronger keys."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:18
+msgid ""
+"We recently attended `30C3`_ and `Real World Crypto`_, making several new\n"
+"connections and formulating `big plans`_ for 2014. Thanks to those who\n"
+"supported our attendance with their `donations`_!"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:26
+msgid "`big plans`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:27
+msgid "`donations`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:38
+msgid "Use client tunnels for LeaseSet lookups"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:42
+msgid ""
+"Flood netdb stores to new location before midnight to prevent lookup fails "
+"after midnight"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:43
+msgid "Fix setting I2CP host/port in BOB"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:44
+msgid "Fix several character encoding issues in susimail"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:45
+msgid "Fix StandardServerSocket.close()"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:46
+msgid "Fix exception in PrivateKeyFile"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:47
+msgid "Fixes in RouterInfo expiration task"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:51
+msgid "Tweaks to reduce number of peer connections"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:52
+msgid "Several threading fixes to reduce blocking in the timer queues"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:53
+msgid "Disable streaming ping handling for clients"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:54
+msgid "Use i2psnark's Kademlia library for the router netdb also"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:55
+msgid ""
+"Increase outbound exploratory default to 2 + 0-1 hops, part of gradual "
+"increase to 3 hops in/out"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:56
+msgid "More findbugs fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:57
+msgid "Streaming library refactoring"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:58
+msgid "Support country-specific translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:59
+msgid "New Brazilian Portuguese translation"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.11 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:9
+msgid ""
+"0.9.11 adds support for outproxy plugins, improves lease set lookup "
+"security, and reduces memory usage."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:11
+#, python-format
+msgid ""
+"0.9.11 continues improving LeaseSet lookup and storage to prevent an attacker\n"
+"from correlating a Destination with a Router. It adds support for the\n"
+"%(orchid)s outproxy plugin which is available at %(url)s. There is a\n"
+"reduction in memory usage due to fixes in the transports. We have some I2CP\n"
+"protocol improvements that will provide better lookup facilities and\n"
+"authorization protection for external clients. Of course, there's also the\n"
+"usual collection of bug fixes. All users should update."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:21
+msgid ""
+"This may be the last release that works with Java 5, which is very old and\n"
+"unsupported. If you are using a Java 5 or 6 runtime, we strongly recommend that\n"
+"you upgrade to Java 7."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:30
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:17
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:32
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:30
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:37
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:21
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:24
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:29
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:25
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:24
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:67
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:47
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:29
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:48
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:27
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:29
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:26
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:50
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:26
+#: 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.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."
+msgstr "Zoals gewoonlijk raden we aan om bij te werken naar deze uitgave. De beste manier om veiligheid te onderhouden en het netwerk te helpen is om de laatste uitgave te gebruiken."
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:39
+msgid "More leaseset handling improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:43
+msgid "Fix NPE after client shutdown"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:44
+msgid "Fix wrapper log encoding on logs page"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:45
+msgid "Streaming ping and I2Ping fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:49
+msgid "Add support for Orchid plugin"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:50
+msgid "Add HTTPS support to HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:51
+msgid "New I2CP support for hostname lookups by external clients"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:52
+msgid ""
+"Stricter I2CP authorization enforcement of external clients (incompatible "
+"change)"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:53
+msgid "Increase default inbound exploratory tunnel length variance"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:54
+msgid "Big reduction in memory usage by transports"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:55
+msgid "All in-net updates via torrent"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:1
+msgid ""
+"=========================\n"
+"Malware at i2pbrowser.net\n"
+"========================="
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:8
+msgid ""
+"The site i2pbrowser.net is a fake I2P website mirror serving up malware for "
+"Windows."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:10
+msgid ""
+"We have recently been made aware of the existence of i2pbrowser.net. This\n"
+"website copies our homepage and download page, and attempts to trick users into\n"
+"downloading Windows malware."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:16
+msgid ""
+"There are several indicators that point to i2pbrowser.net being a malware "
+"site:"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:20
+msgid "The domain was registered on February 10th, 2014."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:21
+msgid ""
+"The download URLs for Windows, Mac OSX, Linux, Android etc. all link to the "
+"same .exe file."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:22
+msgid ""
+"The .exe is only 741 KB; the official Windows installer for I2P is 13 MB."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:24
+msgid ""
+"We have not examined the malware ourselves, but it does not appear to be very\n"
+"sophisticated; it is not integrated into or bundled with the I2P software.\n"
+"Information security expert `Lance James`_ posted `a tweet`_ labelling it as\n"
+"\"a standard dark comet rat\"."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:31
+msgid ""
+"Spread the word. The only official download locations for I2P are linked on our\n"
+"`download page`_. All I2P download packages are GPG-signed by the\n"
+"`release signing key`_."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:38
+msgid "`a tweet`"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:40
+msgid "`release signing key`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:1
+msgid ""
+"================================================================\n"
+"Search Engine DuckDuckGo Awards Invisible Internet Project $5000\n"
+"================================================================"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:10
+msgid ""
+"Search engine `DuckDuckGo`_ `donates`_ $5000 to the `Invisible Internet "
+"Project`_ (I2P) in their open source donation program."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:12
+msgid ""
+"**Somewhere, NH** -- Internet search company `DuckDuckGo`_ `donates`_\n"
+"$5000 to the `Invisible Internet Project`_ (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal. With an emphasis on privacy, DuckDuckGo provides a search\n"
+"engine which does not track its users or store personal data. I2P is an anonymous network intended to\n"
+"protect individuals from dragnet surveillance regularly performed by ISPs and governments."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:21
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:42
+msgid ""
+"This marks the single largest donation ever received by I2P and reflects a growing interest in\n"
+"privacy and security by the Internet community. The funding will help I2P to reach more users, expand\n"
+"development, and audit the code. It will also enable I2P developers to attend conferences, such\n"
+"as the `Real-World Cryptography`_ conference in New York City, where the developers met and\n"
+"collaborated with cryptography experts pursuant to I2P's goals of providing anonymity to the\n"
+"public."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:51
+msgid ""
+"I2P thanks Gabriel Weinberg and DuckDuckGo for the generous donation,\n"
+"and the I2P community for its support in the `nominations`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:35
+msgid ""
+"For more information about I2P, visit `our web site`_ or follow us `on "
+"Twitter`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:39
+msgid "`donates`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:42
+msgid "`our web site`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:43
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:59
+msgid "`nominations`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:45
+msgid "`on Twitter`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.12 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:10
+msgid "0.9.12 adds support for ECDSA and updates to Jetty 8"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:12
+msgid ""
+"I2P now requires Java 6 or higher.\n"
+"We strongly recommend that you upgrade to Java 7.\n"
+"If you are still using Java 5, you must upgrade your Java before installing I2P 0.9.12."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:18
+msgid ""
+"0.9.12 adds preliminary support for ECDSA-signed Destinations.\n"
+"It contains several fixes for the handling of Delivery Status Messages (acknowledgements)\n"
+"and those messages are now end-to-end encrypted for increased security."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:24
+msgid ""
+"We have upgraded to Jetty 8.\n"
+"Jetty 8 is almost identical to Jetty 7, so there are no complex configuration file conversions as there have been in past Jetty upgrades.\n"
+"No manual changes should be necessary."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:35
+msgid ""
+"In early March, Internet search company `DuckDuckGo`_ `donated`_\n"
+"$5000 to the `Invisible Internet Project` (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:56
+msgid "`donated`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:69
+msgid "Encrypt Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:70
+msgid "Add preliminary support for ECDSA-signed Destinations"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:71
+msgid "Add check for replayed NTCP session requests"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:72
+msgid "Add throttling and blocking checks to streaming ping processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:78
+msgid "Fix RouterInfo exchange in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:79
+msgid "Extend timeout for Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:80
+msgid "Drop streaming messages from recently closed connections"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:81
+msgid "Fix restarts on Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:82
+msgid "Restore profileOrganizer.sameCountryBonus advanced config"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:83
+msgid "Fix for jwebcache and i2phex"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:89
+msgid "Jetty 8.1.14.v20131031; Java 6 now required"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:90
+msgid ""
+"Reduce target connection count again to reduce tunnel reject rate further"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:91
+msgid "Add rate limit for outbound connections at tunnel endpoints"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:92
+msgid "Add optional inproxy blocking in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:93
+msgid "Use SSU session key for relay request/response when available"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:94
+msgid "Include HTTP POST data in SYN packet"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:95
+msgid "Add getopt library for better argument processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:96
+msgid "More removal of Jetty dependencies"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:97
+msgid "Remove MD5 code, use Java libraries instead"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:98
+msgid "Change the default addressbook subscription URL"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.13 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:10
+msgid "0.9.13 with SusiMail improvements and fixes for firewalled routers"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:12
+msgid ""
+"0.9.13 includes fixes for firewalled routers, netdb lookup improvements, and a big SusiMail update.\n"
+"Of course, there's also the usual collection of bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:22
+msgid ""
+"zzz has updated his GPG keys, and the release files are signed with his\n"
+"new keys. His new key fingerprint is:"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:31
+msgid "SusiMail"
+msgstr "SusiMail"
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:33
+msgid "Many UI improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:34
+msgid "Implement local storage of messages"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:35
+msgid "Add offline mode"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:36
+msgid "Messages now deleted on server after download"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:37
+msgid "Several backend POP3 and SMTP speedups and fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:41
+msgid "NetDB lookup fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:42
+msgid "Fix transition from not-firewalled to firewalled"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:43
+msgid "Fix plugin uninstall on Windows"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:44
+msgid "SSU locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:45
+msgid "Fix rapid republishing of SSU addresses"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:46
+msgid "IRC client exception fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:47
+msgid "Fix changing HTTP outproxy configuration without restarting tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:51
+msgid "New i2ptunnel server option for unique local address per-client"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:52
+msgid "Warn in i2ptunnel on duplicate client ports"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:53
+msgid "Update HTTP User-Agent to match TBB"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:54
+msgid "Extend SSU establishment retransmission timer"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:55
+msgid "Use constant-time method for HMAC verification"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:56
+msgid "New translation: Slovak"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.14 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:10
+msgid "0.9.14 includes critical security fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:12
+msgid ""
+"0.9.14 includes critical fixes for XSS and remote execution vulnerabilities reported by Exodus Intelligence.\n"
+"As an added precaution, we have disabled several advanced configuration features in the router console,\n"
+"including installation of new plugins.\n"
+"We plan to re-enable these in a future release after additional review."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:19
+msgid ""
+"Due to I2P library changes, I2P-Bote users must upgrade their plugin to version 0.2.10 to work with I2P 0.9.14.\n"
+"Your router should update the plugin automatically after the router restarts."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:24
+msgid ""
+"The release also contains several bug fixes in i2ptunnel, i2psnark, and other areas,\n"
+"and updates to the latest Jetty, Tomcat, and Wrapper.\n"
+"We've also implemented a faster and more secure method for reseeding.\n"
+"Of course, there's also the usual collection of minor bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:31
+msgid ""
+"You must update to this release immediately. The best way to\n"
+"maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:39
+msgid "Security Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:41
+msgid "Fix several XSS issues"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:42
+msgid "Disable changing news feed URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:43
+msgid "Disable plugin install"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:44
+msgid "Disable setting unsigned update URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:45
+msgid "Disable clients.config editing from the UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:46
+msgid "Add Content-Security-Policy and X-XSS-Protection headers"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:47
+msgid "Disable unused ExecNamingService (thx joernchen of Phenoelit)"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:52
+msgid "Fix tunnel building so it doesn't get \"stuck\" on a single pool"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:53
+msgid "Reject participating tunnels when hidden"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:54
+msgid ""
+"Several i2psnark improvements and fixes (GUI and DHT), including changes for"
+" better compatibility with Vuze"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:59
+msgid ""
+"Reseeding now fetches a signed zip file containing router infos for security"
+" and speed"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:60
+msgid "Use JVM's AES implementation if it is faster"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:61
+msgid "More advanced options shown in the i2ptunnel edit pages"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:62
+msgid ""
+"Per-message reliabilitiy settings in I2CP and error propagation back from "
+"router to client"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:63
+msgid "Lots of findbugs fixes and cleanups"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:64
+msgid "Support signature types in SAM, bump rev to 3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:65
+msgid "New event log page in console"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:68
+msgid "Wrapper 3.5.25 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:1
+msgid ""
+"================\n"
+"0.9.14.1 Release\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:10
+msgid "0.9.14.1 includes i2psnark and console fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:12
+msgid ""
+"0.9.14.1 includes fixes for the \"Add Torrent\" form in i2psnark and some other web forms.\n"
+"We've restored the ability to install plugins via the console, but you must first edit your router.config file\n"
+"(in ~/.i2p/ or /var/lib/i2p/i2p-config/ or %APPDATA%\\I2P\\) to add the line routerconsole.enablePluginInstall=true.\n"
+"Other rarely-used advanced features that were removed in 0.9.14 may be restored by adding the line routerconsole.advanced=true."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:19
+msgid ""
+"As usual, if configured with the default \"Download and Verify\", the router will automatically download the update and display a button to restart.\n"
+"However, due to a bug in 0.9.14, if your update is configured for \"Notify only\", the download button will not be displayed.\n"
+"You must change your configuration to \"Download and Verify\" or \"Download, Verify, and Restart\" to update."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:25
+msgid ""
+"If you are still running 0.9.13 or older, we recommend that you update to this release as soon as possible.\n"
+"If you don't often check your router console, please consider changing your configuration to \"Download, Verify, and Restart\"\n"
+"to ensure you are always running the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:37
+msgid "Fix i2psnark add torrent form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:38
+msgid "Fix iptunnel custom options form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:39
+msgid "Fix update download buttons"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:44
+msgid "Restore all console features if routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:45
+msgid "Restore plugin install if routerconsole.enablePluginInstall=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:46
+msgid "Restpre client adds/changes if routerconsole.enableClientChange=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:47
+msgid ""
+"Plugin signing keys are now whitelisted unless "
+"routerconsole.allowUntrustedPlugins=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:48
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:71
+msgid "More escaping and cleanups in forms and messages"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:1
+msgid ""
+"==============================\n"
+"The birth of Privacy Solutions\n"
+"=============================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:10
+msgid "Organization launch"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:14
+msgid ""
+"Hello all!\n"
+"\n"
+"Today we announce the Privacy Solutions project, a new organization that develops and maintains I2P software. Privacy Solutions includes several new development efforts designed to enhance the privacy, security, and anonymity for users, based on I2P protocols and technology.\n"
+"\n"
+"These efforts include\n"
+"\n"
+"1) The Abscond browser bundle.\n"
+"2) The i2pd C++ router project.\n"
+"3) The \"BigBrother\" I2P network monitoring project.\n"
+"4) The Anoncoin crypto-coin project.\n"
+"5) The Monero crypto-coin project.\n"
+"\n"
+"Privacy Solutions' initial funding was provided by the supporters of the Anoncoin and Monero projects. Privacy Solutions is a Norway-based non-profit type of organization registered within the Norwegian government registers. ( Kind of like US 501(c)3. )\n"
+"\n"
+"Privacy Solutions plans to apply for funding from the Norwegian goverment for network research, because of BigBrother (We'll get back to what that is) and the coins that are planned to use low-latency networks as primary transport layer. Our research will support advances in software technology for anonymity, security, and privacy.\n"
+"\n"
+"\n"
+"First a little bit about the Abscond Browser Bundle. This was first a one-man project by Meeh, but later on friends started sending patches, the project is now trying to create the same easy access to I2P as Tor has with their browser bundle. Our first release isn't far away, it's just some gitian script tasks left, including setup of the Apple toolchain. But again we will add monitoring with PROCESS_INFORMATION (A C struct keeping vital proces information about an process) from the Java instance to check on I2P before we declare it stable. I2pd will also switch with the Java version once it's ready, and there is no point in shipping a JRE in the bundle anymore. You can read more about the Abscond Browser Bundle at https://hideme.today/dev"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:36
+msgid ""
+"We would also like to inform of the current status of i2pd. I2pd supports "
+"bi-directional streaming now, that allows to use not only HTTP but long-"
+"lived communication channels. Instant IRC support has been added. I2pd users"
+" are able to use it same way as Java I2P for access to I2P IRC network. "
+"I2PTunnel is one of key features of I2P network, allowing non-I2P "
+"applications communicate transparently. That's why it's vital feature for "
+"i2pd and one of key milestones."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:40
+msgid ""
+"At last, if you are familiar with I2P you probably know about "
+"Bigbrother.i2p, which is a metrics system Meeh made over a year back. "
+"Recently we noticed that Meeh actually have 100Gb of non-duplicated data "
+"from nodes reporting in since initial launch. This will also be moved to "
+"Privacy Solutions and be rewritten with a NSPOF backend. With this we will "
+"aslo start using the Graphite ( http://graphite.wikidot.com/screen-shots ). "
+"This will give us a great overview over the network without privacy issues "
+"for our end users. The clients filter all data except country, router hash "
+"and success rate on tunnel buildings. The name of this service is as always "
+"a little joke from Meeh."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:47
+msgid ""
+"We have shorted down a bit of the news here, if you're interested in more information please visit https://blog.privacysolutions.no/\n"
+"We're still under construction and more content will come!\n"
+"\n"
+"\n"
+"\n"
+"For further information contact: press@privacysolutions.no\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"Best regards,\n"
+"\n"
+"Mikal \"Meeh\" Villa"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:1
+msgid ""
+"=============================================\n"
+"Android test release on Google Play in Norway\n"
+"============================================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:10
+msgid ""
+"I2P Android and Bote have been released on Google Play in Norway, as a test "
+"run for a future worldwide release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:12
+msgid ""
+"I2P Android has existed for over three years. In that time, it has evolved from\n"
+"a simple test project into a usable, useful Android port of the I2P router. Our\n"
+"eventual goal has been to release I2P Android on Google Play, to make it easier\n"
+"for users to discover, install and use I2P on their Android devices. After much\n"
+"work improving the user interface, fixing bugs and testing, we think that I2P\n"
+"Android is finally ready to go where the users are."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:21
+msgid ""
+"Initially, we are only releasing to Android users in Norway, as a test run. I2P\n"
+"Android will have far more exposure on Google Play than it has ever had before,\n"
+"and there will be bugs and usability issues that we need to fix. It will be much\n"
+"easier (and less stressful!) to respond to feedback if we only need to deal with\n"
+"reports from hundreds of users instead of thousands (already orders of magnitude\n"
+"more feedback than we have ever had)."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:30
+msgid ""
+"Simultaneously we are making the first public release of Bote, an Android port\n"
+"of `I2P-Bote`_. Bote is private, distributed, secure email, made easy. It runs\n"
+"on top of the I2P network, and while it works as a standalone app, it will use\n"
+"the I2P Android app by default if installed. As with I2P Android, we are\n"
+"initially only releasing Bote to Android users in Norway."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:38
+msgid ""
+"The apps are being released on Google Play by `The Privacy Solutions Project`_.\n"
+"See their `blog post`_ for further information, and links to the Google Play\n"
+"page for Norway users."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:44
+msgid ""
+"As lead developer for I2P Android and Bote, I look forward to your comments. You\n"
+"are the people who will be using them, and your perspectives will help me craft\n"
+"simple, intuitive apps that make privacy accessible to everyone."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:51
+msgid "`The Privacy Solutions Project`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:52
+msgid "`blog post`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:54
+msgid "Website release details"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:56
+msgid ""
+"We have also updated I2P Android on the website to match the release candidate\n"
+"deployed in Norway. This version will be updated with changes as we respond to\n"
+"feedback from Norwegian users, heading towards our next stable release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:62
+msgid ""
+"Please note that we have upgraded the Android API to 9. This means that Froyo\n"
+"Android 2.2 will not be supported anymore; the minimum requirement is now\n"
+"Gingerbread Android 2.3."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:68
+msgid ""
+"Also note that if you have an earlier version of I2P Android, you will need to\n"
+"uninstall and reinstall because we have changed the release keys. Further\n"
+"information about this will be provided in a subsequent blog post."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.15 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:10
+msgid "0.9.15 includes Ed25519 crypto and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:12
+msgid ""
+"0.9.15 adds preliminary support for Ed25519 EdDSA signatures.\n"
+"It includes a new persistent configuration backend for i2psnark and fixes several issues with i2psnark's handling of file names.\n"
+"There are several improvements to speed up SAM.\n"
+"Plugins now support stronger signatures in the su3 file format.\n"
+"Plugin installation via the console, which was disabled in 0.9.14, is re-enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:20
+msgid ""
+"We have supported ECDSA signatures since 0.9.12, and we would like to start using ECDSA by default.\n"
+"Unfortunately, some of you are still running older I2P versions, and for others,\n"
+"their distribution or Java runtime does not support ECDSA. Red Hat\n"
+"(RHEL, Fedora) distributions are reported to be missing ECDSA.\n"
+"Some have fixed the Java issues by upgrading from Java 6 to Java 7;\n"
+"others have had success with installing the \"unlimited strength policy files\".\n"
+"We've added information about missing crypto to the log file and the /logs page in the console.\n"
+"After you update to 0.9.15, please check if you are missing ECDSA support, and attempt to fix it if necessary.\n"
+"This is particularly important for those that run popular eepsites and services."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:41
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:39
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:46
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:32
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:46
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:38
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:36
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:75
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:55
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:37
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:56
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:35
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:37
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:34
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:58
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:34
+#: 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.rst:38
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:35
+msgid "Changes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:43
+msgid "Add support for Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:44
+msgid ""
+"i2psnark move to separate config file for each torrent to better support "
+"per-torrent settings"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:45
+msgid "Add i2psnark support for data outside the i2psnark/ directory"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:46
+msgid "Enable stronger signatures (su3 format) for plugins"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:47
+msgid "Speed up SSU introductions by responding to hole punch messages"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:48
+msgid "Several improvements in SAM efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:53
+msgid "Form submission fixes in the console and i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:54
+msgid "Streaming fixes for long signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:55
+msgid "i2psnark fixes for file name character mapping when seeding"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:56
+msgid "I2PTunnel fixes stopping client tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:57
+msgid "I2PTunnel fix updating options on a running delay-open client tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:62
+msgid "Re-enable plugin installation via the console, removed in 0.9.14"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:63
+msgid "i2psnark now remembers uploaded count across restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:64
+msgid "i2psnark increase max piece size to 8 MB"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:65
+msgid "i2psnark several UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:66
+msgid "Prohibit SSU peer test requests unless a connection is established"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:67
+msgid ""
+"i2ptunnel add support for local SSL connections for standard and IRC client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:68
+msgid "Console and log warnings for unavailable crypto"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:69
+msgid ""
+"More consistent routing for Delivery Status Messages to reduce network "
+"connections"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:70
+msgid "Disable external entities in UPnP XML parser"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:73
+msgid "Update GeoIP data (in both new installs and updates)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.16 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:10
+msgid "0.9.16 includes crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:12
+msgid ""
+"0.9.16 is a significant step forward in our plan to migrate\n"
+"from DSA to ECDSA and then EdDSA cryptographic signatures,\n"
+"and makes several other changes to increase your anonymity and security.\n"
+"Client tunnels for standard, IRC, and SOCKS IRC will use ECDSA signatures by default.\n"
+"In addition, we've fixed a large number of serious bugs, including console lockups."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:20
+msgid ""
+"Changes in router data structures will require i2pcontrol plugin users to "
+"update to version 0.0.9."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:24
+msgid ""
+"If you run an eepsite or a service and you are not running a recent release,\n"
+"or your Java or OS does not support ECDSA (as noted in the logs and on the /logs page in the console),\n"
+"please fix the issue as soon as possible or your users will soon be unable to connect."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:41
+msgid "Add support for stronger Router Info signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:42
+msgid "Encrypt RI lookups and responses on faster boxes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:43
+msgid ""
+"Require I2CP authorization for all messages when enabled (requires 0.9.11 or"
+" higher client)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:44
+msgid "Disable SSLv3 and older ciphers for reseeding and other uses of SSL"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:45
+msgid ""
+"Use ECDSA by default for i2ptunnel IRC, SOCKS-IRC, and standard client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:46
+msgid "Don't prefer floodfills in some countries"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:47
+msgid ""
+"New column sorting, set-all priority buttons, and upload ratio display in "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:48
+msgid "Increase i2psnark tunnel default to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:49
+msgid ""
+"Implement bundling of multiple fragments in a single SSU message for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:50
+msgid "New add-to-addressbook links on netdb leaseset page"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:51
+msgid ""
+"Implement I2NP DatabaseLookupMessage search type field to improve lookup "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:58
+msgid "CPUID fixes and updates for recent processors"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:59
+#, python-format
+msgid "i2psnark fix magnet links with %(pc)s-encoding"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:60
+#, python-format
+msgid ""
+"Improve handling of SSU socket closing out from under us (hopefully fix "
+"100%(pc)s CPU)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:61
+msgid "SSU bitfield handling fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:62
+msgid "Fix HTTP header issues in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:63
+msgid "Fix rare NPE when building garlic message"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:64
+msgid "Fix console lockups (hopefully)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:65
+msgid "Fix i2ptunnel js confirm-delete"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:70
+msgid ""
+"Move router data structures from i2p.jar to router.jar (breaks i2pcontrol "
+"plugin)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:71
+msgid ""
+"New router keys now stored in router.keys.dat (eepPriv.dat format) instead "
+"of router.keys"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:72
+msgid "Improve handling of unsupported encryption throughout"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:73
+msgid "More error checking of client I2CP messages by the router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:74
+msgid "Initial work on hooks for pluggable transports"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:75
+msgid "Enforce request timestamp in tunnel build messages"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:76
+msgid ""
+"Re-enable message status in streaming, but treat no leaseset as a soft "
+"failure for now"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:77
+msgid "Return unused DH keypairs to the pool for efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:78
+msgid "Raise failsafe tagset limit and improve deletion strategy when hit"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:79
+msgid ""
+"Change eepsite Jetty threadpool and queue configuration (new installs only)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:80
+msgid "NTCP establishment refactoring in prep for NTCP2 and PT"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.17 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:10
+msgid "0.9.17 with more crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:12
+msgid ""
+"0.9.17 is primarily a bugfix release, but it also continues our migration to"
+" stronger cryptographic signatures."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:16
+msgid ""
+"We have moved the news feed system used for the news on your console and the latest router version indication\n"
+"to a signed format using RSA 4096-bit keys for enhanced security."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:21
+msgid ""
+"New eepsites and servers will be ECDSA-signed by default, if ECDSA is available.\n"
+"There is now a warning in the console sidebar if ECDSA is not available.\n"
+"For RedHat users, we have reports of successful installs of the BouncyCastle Provider (bcprov) jar to add ECDSA support."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:27
+msgid ""
+"We've fixed several serious bugs, including an SSU packet corruption problem,\n"
+"and a SAM bug affecting i2p-messenger and other SAM applications.\n"
+"There are several fixes for the preliminary ECDSA router signatures added in the last release but not yet enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:33
+msgid ""
+"Many of us will be attending 31C3 in Hamburg in December. Stop by our table "
+"and say hi!"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:48
+msgid "Signed news"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:49
+msgid "ECDSA default for new server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:50
+msgid "Reseeding now SSL-only by default"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:55
+msgid "Fix SSU sending corrupt ack-only packets with partial bitfields"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:56
+msgid "Fix SSU inbound connection fail from non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:57
+msgid "Don't select incompatible peers if we are a non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:58
+msgid "Fix EdDSA signature verification bug"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:59
+msgid ""
+"Set I2NP lookup type flags in all cases, not just when a reply tunnel is "
+"used"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:60
+msgid "Stop i2ptunnel server acceptor thread after close"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:61
+msgid "Fix bug preventing some plugins from stopping completely"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:62
+msgid "Fix SAM v3 bug causing failures in incoming connections"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:67
+msgid "Add a warning in the console sidebar if ECDSA not supported"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:68
+msgid "Log warnings for Java 6 that we will eventually require Java 7"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:69
+msgid "Don't let proxied routers auto-floodfill"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:70
+msgid "Don't resend SSU acks that are too old"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:71
+msgid "Don't publish direct info in SSU address if introducers are required"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:72
+msgid "New default opentrackers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:73
+msgid "Add support for specifiying data directory per-torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:74
+msgid "Changes in streaming accept() error behavior"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:75
+msgid "Minor blockfile format changes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:76
+msgid ""
+"New option for persistent random key to preserve peer ordering across "
+"restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:1
+msgid ""
+"====================\n"
+"Android app releases\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:10
+msgid ""
+"I2P Android 0.9.17 and Bote 0.3 have been released on the website, Google "
+"Play and F-Droid."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:12
+msgid ""
+"It has been some time since I last posted updates about our Android development,\n"
+"and several I2P releases have gone by without any matching Android releases.\n"
+"At last, the wait is over!"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:18
+msgid ""
+"New app versions\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:23
+msgid ""
+"New versions of I2P Android and Bote have been released! They can be downloaded\n"
+"from these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:31
+msgid ""
+"The main change in these releases is the transition to Android's new Material\n"
+"design system. Material has made it much easier for app developers with, shall\n"
+"we say, \"minimalist\" design skills (like myself) to create apps that are nicer\n"
+"to use. I2P Android also updates its underlying I2P router to the just-released\n"
+"version 0.9.17. Bote brings in several new features along with many smaller\n"
+"improvements; for example, you can now add new email destinations via QR codes."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:40
+msgid ""
+"As I mentioned in `my last update`_, the release key that signs the apps has\n"
+"changed. The reason for this was because we needed to change the package name\n"
+"of I2P Android. The old package name (``net.i2p.android.router``) had already\n"
+"been taken on Google Play (we still don't know who was using it), and we wanted\n"
+"to use the same package name and signing key for all distributions of I2P\n"
+"Android. Doing so means that a user could initially install the app from the I2P\n"
+"website, and then later if the website was blocked they could upgrade it using\n"
+"Google Play. Android OS considers an application to be completely different when\n"
+"its package name changes, so we took the opportunity to increase the strength of\n"
+"the signing key."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:53
+msgid "The fingerprint (SHA-256) of the new signing key is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:63
+msgid "`my last update`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:65
+msgid ""
+"Google Play\n"
+"-----------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:70
+msgid ""
+"A few months ago we `released`_ both I2P Android and Bote on Google Play in\n"
+"Norway, to test the release process there. We are pleased to announce that both\n"
+"apps are now being released globally by `Privacy Solutions`_. The apps can be\n"
+"found at these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:80
+msgid ""
+"The global release is being done in several stages, starting with the countries\n"
+"for which we have translations. The notable exception to this is France; due to\n"
+"import regulations on cryptographic code, we are unable yet to distribute these\n"
+"apps on Google Play France. This is the same issue that has affected other apps\n"
+"like TextSecure and Orbot."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:88
+msgid "`released`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:90
+msgid "`I2P on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:91
+msgid "`Bote on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:93
+msgid ""
+"F-Droid\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:98
+msgid ""
+"Don't think we have forgotten about you, F-Droid users! In addition to the two\n"
+"locations above, we have set up our own F-Droid repository. If you are reading\n"
+"this post on your phone, `click here`_ to add it to F-Droid (this only works in\n"
+"some Android browsers). Or, you can manually add the URL below to your F-Droid\n"
+"repository list:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:108
+msgid ""
+"If you would like to manually verify the fingerprint (SHA-256) of the repository\n"
+"signing key, or type it in when adding the repository, here it is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:117
+msgid ""
+"Unfortunately the I2P app in the main F-Droid repository has not been updated\n"
+"because our F-Droid maintainer has disappeared. We hope that by maintaining this\n"
+"binary repository, we can better support our F-Droid users and keep them\n"
+"up-to-date. If you have already installed I2P from the main F-Droid repository,\n"
+"you will need to uninstall it if you want to upgrade, because the signing key\n"
+"will be different. The apps in our F-Droid repository are the same APKs that are\n"
+"provided on our website and on Google Play, so in future you will be able to\n"
+"upgrade using any of these sources."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:128
+msgid "`click here`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:1
+msgid ""
+"================\n"
+"31C3 trip report\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:9
+msgid ""
+"CCC has always been a productive time for us, and 31C3 was no exception. "
+"Here is a summary of our various meetings and discussions."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:20
+msgid ""
+"We were, for the second year in a row, at a great location in the Congress, in\n"
+"`Noisy Square`_, right next to the EFF table. Being part of Noisy Square has\n"
+"really increased our visibility and helped many people find us. Thanks to Noisy\n"
+"Square and the 31C3 organizers for a great Congress."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:29
+msgid ""
+"We also thank Gabriel Weinberg and his fabulous search engine `DuckDuckGo`_ for\n"
+"their support of open source anonymity tools and their `generous contribution`_\n"
+"to I2P in 2014. Funding from DuckDuckGo and others helped support our attendance\n"
+"at CCC. This is the primary annual meetup for I2P developers and it is critical\n"
+"to our success."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:38
+msgid "`generous contribution`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:40
+msgid ""
+"Discussions with others\n"
+"======================="
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:48
+msgid ""
+"We spoke at length with Christian Grothoff of `GNUnet`_. He has moved himself\n"
+"and the project from TU Munich to `Inria`_ in France. He has a large number of\n"
+"`open positions`_. This is a great opportunity to get paid to work on open\n"
+"source anonymity tools, we encourage everybody to contact him about it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:57
+msgid "`open positions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:59
+msgid ""
+"The prospect of an invigorated GNUnet with a large amount of new funding is\n"
+"quite interesting. We discussed more ways to work together. In early 2014, we\n"
+"worked hard to understand the GnuNet DNS replacement, but we were unable to\n"
+"figure out a good fit for it in I2P. One of his new ideas is a distributed,\n"
+"anonymous statistics gathering subsystem, for detecting problems or attacks on\n"
+"the network. We'd definitely be interested in that."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:68
+msgid ""
+"We also discussed the `Special-Use Domain Names of Peer-to-Peer Systems draft`_.\n"
+"A new, greatly simplified version 3 was posted in December. The prospects for\n"
+"approval remain unclear. The best way to monitor or participate in the\n"
+"discussion is via the `IETF DNSOP WG mailing list`_. We will attempt to do so\n"
+"on our side, and also give Hellekin a new point-of-contact for this topic."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:76
+msgid "`Special-Use Domain Names of Peer-to-Peer Systems draft`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:77
+msgid "`IETF DNSOP WG mailing list`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:79
+msgid ""
+"We apologized to Christian for not being organized enough to have a talk at his\n"
+"`We Fix The Net assembly`_. One of our biggest failures as a project is our\n"
+"seeming inability to submit talks at conferences. We'll have to do better in the\n"
+"new year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:86
+msgid "`We Fix The Net assembly`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:91
+msgid ""
+"Iain Learmonth, a Debian participant, stopped by. He wants to put I2P in with\n"
+"other anonymity tools into this new Debian \"superpackage\" of some sort, and\n"
+"would love to get I2P into Debian in 2015. He claims the process is now easy,\n"
+"just `follow the instructions`_. We said that's funny, we've been\n"
+"`stuck in the process for over 7 years`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:99
+msgid "`follow the instructions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:100
+msgid "`stuck in the process for over 7 years`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:102
+msgid ""
+"He said, well, try the new process, it works great, should be no problem at all\n"
+"if your package is in good shape. The people in Debian that run this process are\n"
+"eager volunteers who want nothing more than to get more packages in. We said our\n"
+"package is indeed in fantastic shape, and we would try out the new process as\n"
+"soon as possible. If all this is true, we will be in the next Debian release in\n"
+"late 2015. This would be very very cool."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:114
+msgid ""
+"We had a nice discussion with BitingBird of Tails. They are very happy with our\n"
+"rapid response to the `vulnerability disclosure`_ last summer, resulting in our\n"
+"`0.9.14 release`_. Our vulnerability was initially blamed on Tails, and they\n"
+"took `great offense`_ to that and the lack of private notification. We thanked\n"
+"them for taking the heat and fighting back."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:122
+msgid "`vulnerability disclosure`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:123
+msgid "`0.9.14 release`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:124
+msgid "`great offense`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:126
+msgid ""
+"BitingBird also handles support, and she tells us the number one issue is how\n"
+"long I2P takes to start up and be useful for browsing I2P sites. Her standard\n"
+"answer is \"wait ten more minutes\" and that seems to be effective. I2P is\n"
+"particularly slow to startup on Tails since it does not persist peer data by\n"
+"default. It would be nice to change that, but there's also things we can do on\n"
+"the I2P side to make things start faster. Expect some improvement in our 0.9.18\n"
+"release."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:139
+msgid ""
+"Longtime friend of I2P Bernhard Fischer of `OnionCat`_ stopped by. The upcoming\n"
+"Tor Hidden Services changes mean that their keys will no longer fit into a\n"
+"portion of an IPv6 address, and he was working on a solution. We reminded him\n"
+"that this has always been the case for I2P (with \"GarliCat\"), that it's not a\n"
+"new problem. He pointed us to `a presentation`_ of his proposal. It involves\n"
+"storing an extra record in the hidden service directory (equivalent of a\n"
+"leaseset I2P's network database). It wasn't completely clear how this would\n"
+"work, or if we would consider it abuse of the netDb. We'll follow up with him\n"
+"as he gets further."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:152
+msgid "`a presentation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:154
+msgid ""
+"New users\n"
+"---------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:159
+msgid ""
+"We spent hours and hours explaining I2P to people stopping by our table. Some\n"
+"had heard of I2P before, some had not; everybody had heard of Tor and had at\n"
+"least a vague idea of what hidden services are. As usual, introducing people to\n"
+"I2P was a struggle. By the end of the Congress, we became convinced that a part\n"
+"of the problem was a difference in terminology. Back 12 years ago, when I2P and\n"
+"Tor were both getting started, we each came up with terms for the various parts\n"
+"of our systems. Today, the Tor terminology such as \"hidden service\" is\n"
+"well-understood and commonplace. The I2P terminology such as \"eepsite\" is\n"
+"neither. We agreed to review our documentation, router console, and other places\n"
+"for opportunities to simplify it and use common terms."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:172
+msgid ""
+"I2P project topics\n"
+"------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:177
+msgid ""
+"* *Spending money:* We discussed several ways to effectively use our resources\n"
+" in 2015, including more hardware for testing and development. Also, we plan to\n"
+" increase reimbursement levels for conference attendees."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:183
+msgid ""
+"* *Toronto meetup:* CCC is such a productive time for us, and it seems that a\n"
+" second meetup in the year would be quite helpful. We have proposed it for\n"
+" August 2015 in Toronto, Canada, in conjunction with `Toronto Crypto`_. It\n"
+" would include developer meetings together with presentations and tutorials,\n"
+" all open to the public. We are attempting to gauge interest and research\n"
+" possible venues. If you are considering attending, please let us know by\n"
+" `tweeting @i2p`_ or posting `on the dev forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:193
+msgid ""
+"* We discussed Meeh's workload and the state of the various services he is\n"
+" running. We made some plans to reduce his load and have some other people help\n"
+" out."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:199
+msgid ""
+"* We reviewed our critieria for placing links to `i2pd`_ on our download page.\n"
+" We agreed that the only remaining item is to have a nice page on the\n"
+" `Privacy Solutions web site`_ or elsewhere with binary packages for Windows,\n"
+" Linux, and Mac, and source packages. It's not clear who is responsible for\n"
+" building the packages and where the \"official\" version is. Once there's an\n"
+" established process for building and signing packages and an official place to\n"
+" put them, we're ready to link to it. If it is not feasible to host it on the\n"
+" Privacy Solutions website, we will discuss alternatives with orignal,\n"
+" including possible migration to our download servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:211
+msgid ""
+"* Lots of people coming by the table asked if we had a non-Java version. It was\n"
+" great to finally answer \"yes\" and we're eager to get the word out and get more\n"
+" users, testers, and developers on it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:217
+msgid ""
+"* `Vuze`_ continues to make good progress on their I2P integration. We look\n"
+" forward to working with them in the new year on a managed rollout to more\n"
+" users."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:223
+msgid ""
+"* We discussed the state of Meeh's and Sindu's reseed servers. They made several\n"
+" improvements while at the congress and are investigating migration to\n"
+" `Matt Drollette's Go implementation`_. The security and reliability of our\n"
+" reseed servers is vital to new users and network operation. `User 'backup'`_\n"
+" is doing a great job monitoring and managing the pool of reseed servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:231
+msgid ""
+"* We agreed to purchase a second root server for development, testing, and\n"
+" services. Echelon will be adminstering it. Contact him if you would like a VM."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:236
+msgid ""
+"* We reiterated that we have funds available to purchase test hardware,\n"
+" especially for Windows and Mac. Talk to echelon for details."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:241
+msgid ""
+"* We met with Welterde about the state of his services including his\n"
+" `open tracker`_. These services are not being adequately maintained and will\n"
+" soon become inaccessible due to crypto changes if they are not upgraded. He\n"
+" committed to upgrading them soon."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:248
+msgid ""
+"* We met lots of people interested in our `Android app`_. We passed several\n"
+" ideas and bug reports back to str4d. We plan to make a big push to give the\n"
+" app some development love early in the year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:254
+msgid ""
+"* Regrettably, we didn't get to see too many talks at the Congress, as we were\n"
+" so busy meeting with people. We plan to catch up and `watch them online`_. As\n"
+" usual, Tor's \"State of the Onion\" talk was excellent, and Jacob's talk was\n"
+" great. We hear that the cryptography talks were good as well."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:261
+msgid "`Toronto Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:262
+msgid "`tweeting @i2p`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:263
+msgid "`on the dev forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:266
+msgid "`Privacy Solutions web site`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:270
+msgid "`Matt Drollette's Go implementation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:271
+msgid "`User 'backup'`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:273
+msgid "`open tracker`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:275
+msgid "`Android app`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:277
+msgid "`watch them online`"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.18 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:10
+msgid "0.9.18 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:12
+msgid ""
+"0.9.18 contains several bug fixes and performance improvements.\n"
+"We have shortened the startup time, and reduced latency throughout our network protocols.\n"
+"We've increased the default connection limits for the fastest routers,\n"
+"and reduced the thread usage in i2ptunnel.\n"
+"UPnP fixes should improve handling of external device changes.\n"
+"CPU usage in high-bandwidth routers may be reduced thanks to some NTCP fixes."
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:32
+msgid "Fix parsing of ECDSA address helper in HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:33
+msgid ""
+"Fix news last-modified processing which prevented notification of update"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:34
+msgid "Improve handling of UPnP device changes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:35
+msgid "Don't hang at startup forever waiting for entropy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:36
+msgid "Possible fixes for high CPU usage in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:40
+msgid "Publish router info faster when address costs change"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:41
+msgid "Start i2ptunnel 90s sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:42
+msgid "Accept tunnels 10m sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:43
+msgid "Increase exploratory tunnel quantity during initial exploration"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:44
+msgid "Latency reductions in several places"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:45
+msgid ""
+"Add startup browser configuration with advanced config routerconsole.browser"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:46
+msgid "Persistent leaseset keys to eliminate correlation with restart"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:47
+msgid "Faster unchoking of new peers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:48
+msgid "More aggressive throttling of lookups at floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:49
+msgid "Tunnel build request record refactoring"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:50
+msgid "Reduce thread usage in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:51
+msgid "Add i2ptunnel server option for multihomed sites"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:52
+msgid "Disallow some common I2P application ports as router ports"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:53
+msgid "Increase connection limits for fast routers"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:54
+msgid "Add Save-As button for SusiMail messages"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:55
+msgid "Use 'hidden service' terminology in the console"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:56
+msgid "Encrypted netdb lookups for 32-bit x86"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.19 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:10
+msgid "0.9.19 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:12
+msgid ""
+"0.9.19 has several fixes and improvements for floodfill performance.\n"
+"Many of you saw high CPU usage after 0.9.18 was released.\n"
+"This was caused by a combination of increased encryption usage, the big influx of Vuze users into the network,\n"
+"reduced floodfills due to tighter performance requirements, and some longstanding bugs.\n"
+"Things should be a lot better after most of the network has updated.\n"
+"As always, the best way to reduce CPU usage is to lower your bandwidth limits."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:20
+msgid ""
+"We've also added new ways to reseed manually, and to generate a reseed file you can easily share with others who need it.\n"
+"See the reseed configuration page in the router console for more information."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:34
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:48
+msgid "Floodfill performance improvements"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:35
+msgid "Easier ways to reseed manually from a file or URL"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:36
+msgid "New way to export reseed data for others"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:37
+msgid "Support for installing plugin from file"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:42
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:59
+msgid "Fixes for high CPU usage in floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:43
+msgid "i2ptunnel locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:44
+msgid "Fixes for read timeout handling in streaming"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:45
+msgid "Fix changing i2psnark data directory on Windows"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:46
+msgid "Fix multiple SSL outproxies in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:51
+msgid "Update to UPnP library version 3.0"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:52
+msgid "Improve tracking of floodfill lookup success"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:53
+msgid "Direct router info lookups if connected to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:54
+msgid "Auto-adjustment of i2psnark tunnel quantity"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:55
+msgid "Increase exploratory tunnel quantity when floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:56
+msgid "Increase min and default bandwidth for i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:57
+msgid ""
+"Improved strategies for dropping jobs on high job lag to prevent overload"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:58
+msgid "Drop tunnel build requests on high job lag"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:59
+msgid "Increase allowed clock skew in I2CP"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:60
+msgid "New HTTP error page when the server resets the connection"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:61
+msgid "Require ECDSA support for floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:62
+msgid "Republish router info faster when capabilities change"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:63
+msgid "Better feedback in console for reseed errors"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.20 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:10
+msgid "0.9.20 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:12
+msgid ""
+"0.9.20 contains many important bug fixes, and several changes to increase "
+"floodfill capacity in the network."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:16
+msgid ""
+"Routers configured for 32-64 KB of shared bandwidth may now become floodfill,\n"
+"and routers configured for 512 KB or more of shared bandwidth will have higher connection limits.\n"
+"These changes may cause your router to use more resources.\n"
+"If the router becomes too busy, the best way to reduce usage is to lower the bandwidth settings in your console.\n"
+"If that doesn't help, you may now disable automatic floodfill on the advanced configuration page in the console."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:24
+msgid ""
+"We're hopeful that these changes will increase network capacity and performance,\n"
+"and reduce the congestion that's been affecting the network the last three months."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:34
+msgid ""
+"Finally, we're excited to announce our first-ever I2P meetup, in Toronto August 15-16.\n"
+"There will be lots of presentations and tutorials. All are welcome.\n"
+"For more information, see the `announcement`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:49
+msgid "Add support for address book export"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:50
+msgid "Add support for SSL in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:51
+msgid "Allow class 'M' (64-128 KBps share bandwidth) to become floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:52
+msgid ""
+"Raise connection limits for new classes 'P' (512-2000 KBps share bandwidth) "
+"and 'X' (over 2000 KBps)"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:53
+msgid "Add support for signed development builds"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:60
+msgid "Clock skew fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:61
+msgid ""
+"Fixes and configuration for when IPv4 is firewalled but IPv6 still works"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:62
+msgid "Locking fixes for i2ptunnel clients to prevent hangs at startup"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:63
+msgid "Verify hostnames when reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:64
+msgid "Fix deletion of config files for deleted torrents in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:65
+msgid "Fix hangs fetching proxy.i2p local resources via Privoxy"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:66
+msgid "Fixes for duplicate shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:67
+msgid "Fix for occasional page truncation in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:68
+msgid "Fixes for handling corrupted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:69
+msgid "Fix closing of SAM sessions when I2P session closes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:70
+msgid "Fix bugs in handling streaming resets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:77
+msgid "Reduce NTCP threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:78
+msgid "Eliminate SimpleScheduler threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:79
+msgid "Add continent-based NTP servers as fallbacks for country-based ones"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:80
+msgid "Remove all default non-SSL reseed hosts"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:81
+msgid "Disable fallback to non-su3 reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:82
+msgid "Several fixes in streaming for better \"loopback\" performance"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:83
+msgid "Reduce latency in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:84
+msgid "Add a larger Bloom filter for very high bandwidth and memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:85
+msgid ""
+"Add Bloom filter warning when configured for high bandwidth but not enough "
+"memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:86
+msgid "Reduce max netdb search depth to reduce floodfill load"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:87
+msgid "Improved header processing and error handling in i2ptunnel HTTP server"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:88
+msgid ""
+"Better error handling and user feedback when HTTP client tunnel is disabled"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:89
+msgid "More changes to improve floodfill capacity"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:90
+msgid "New configuration for forcing IPv4 (only) to firewalled on /confignet"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:91
+msgid "New configuration for floodfill on /configadvanced"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:92
+msgid "Show separate IPv4 and IPv6 status in summary bar when appropriate"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:93
+msgid "Better handling of corrupt SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:1
+msgid ""
+"==============\n"
+"Toronto Meetup\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:10
+msgid "I2P Meetup in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:12
+msgid ""
+"The I2P team is proud to announce that we are going to host a meetup in Toronto on August 15-16.\n"
+"A number of members of our community will be attending and are going to host talks, workshops and discussions about and relating to I2P. This event is not just for I2P people though, it's meant for everyone."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:17
+msgid ""
+"If you're curious about I2P, interested in privacy/cryptography/anonymity or just want to come by and talk to us, please do. This is an event for everyone. If you're not familiar with any of these topics, come by anyway and we'll show you how I2P works and what you can do with it.\n"
+"\n"
+"The event is entirely free, you don't need to sign up or register."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:23
+msgid ""
+"The meetup couldn't have been arranged without our friends at `Toronto "
+"Crypto 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 and Message 4.\n"
@@ -12205,11 +12206,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"
@@ -12221,157 +12222,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12379,21 +12380,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12401,11 +12402,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12415,58 +12416,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 "Discussie"
-#: 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 \n"
@@ -12475,13 +12476,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?"
@@ -12495,71 +12496,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12567,7 +12567,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"
@@ -12579,7 +12579,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\n"
@@ -12592,48 +12592,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12641,14 +12641,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12656,11 +12656,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 128.\n"
@@ -12672,11 +12672,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"
@@ -12685,7 +12685,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"
@@ -12695,7 +12695,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"
"with all established sessions - if there are matches,\n"
@@ -12707,7 +12707,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"
@@ -12719,7 +12719,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"
@@ -12727,18 +12727,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"
@@ -12746,7 +12746,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"
@@ -12755,11 +12755,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"
@@ -12767,41 +12767,41 @@ 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"
@@ -12812,7 +12812,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"
@@ -12822,7 +12822,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12830,7 +12830,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 now)\n"
@@ -12845,7 +12845,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"
@@ -12865,26 +12865,26 @@ 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"
@@ -12893,7 +12893,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"
@@ -12903,7 +12903,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"
@@ -12913,7 +12913,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"
@@ -12925,7 +12925,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"
@@ -12936,7 +12936,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"
@@ -12944,7 +12944,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"
@@ -12955,7 +12955,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"
@@ -12964,11 +12964,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"
@@ -12978,7 +12978,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 specified\n"
@@ -12991,11 +12991,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 "Beveiliging"
-#: 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"
@@ -13004,105 +13004,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/nl/LC_MESSAGES/get-involved.po b/i2p2www/translations/nl/LC_MESSAGES/get-involved.po
index 4bad5424..59221477 100644
--- a/i2p2www/translations/nl/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/nl/LC_MESSAGES/get-involved.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Nathan Follens\n"
"Language-Team: Dutch (http://www.transifex.com/otf/I2P/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "Stappenplan"
-#: i2p2www/pages/site/get-involved/roadmap.html:3
-msgid "March 2018"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "Januari 2016"
-#: 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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 "Vertalingen"
-#: 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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/nl/LC_MESSAGES/priority.po b/i2p2www/translations/nl/LC_MESSAGES/priority.po
index 08e62d7c..49ada489 100644
--- a/i2p2www/translations/nl/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/nl/LC_MESSAGES/priority.po
@@ -14,9 +14,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: ducki2p ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Klik op het Andere Bronnen tabblad en klik Toevoegen. Plak ppa:i2p-maintainers/i2p
in het APT-lijn veld en klik Bron Toevoegen. Klik de Sluiten knop en dan de Verversen knop."
-#: 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 "
@@ -176,85 +175,105 @@ msgid ""
" Mark then Apply."
msgstr "Vul i2p
in in het Quick Filter veld en druk op enter. Als i2p
in de resultaten voorkomt, druk daar dan met je rechtermuisknop op en selecteer Mark for Installation. Nadat je dat gedaan hebt kan je een Mark additional required changes? popup te zien krijgen. Als dat zo is, druk op Mark en dan op Apply."
-#: 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 "Na het installatie proces klaar is, kan je door naar het volgende deel:\nI2P starten en configureren voor jouw systeem."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instructies voor Debian"
-#: 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\")."
-msgstr "Let op: De volgende stappen moeten met root access worden uitgevoerd (i.e., switch\ngebruiker naar root met \"su\" of laat elk commando voorafgaan met \"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
."
-msgstr "Voeg regels zoals deze toe aan %(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:"
-msgstr "Download de sleutel voor de repository en voeg hem toe aan 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 "Meld je pakketbeheerder van de nieuwe pakketbron door het volgende in te geven:"
-#: 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 step\n"
"1."
msgstr "Dit commando zal de laatste lijst met beschikbare software ophalen\nvan elke pakketbron ingeschakeld op je systeem, inclusief de I2P-pakketbron\ntoegevoegd in stap 1."
-#: 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 "Je bent nu klaar om I2P te installeren! Installeer het i2p-keyring
\npakket updates van de GPG key van de repository geüpdatet te houden."
-#: 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 "Na het installatie proces klaar is, kan je door naar het volgende deel: I2P starten en configureren voor jouw systeem."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Let op: al het https adres ook niet werkt:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Wijzig het repository adres naar http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Post-installatie werk"
-#: 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 "Gebruik makend van deze I2P pakketten kan de I2P router gestart worden\nin de volgende drie manieren:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""op aanvraag" met het i2prouter script. Run dan de volgende opdrachten vanuit\nopdrachtprompt: "i2prouter start
". (Noot: Gebruik geen\nsudo of start het als administrator!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -262,14 +281,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""op aanvraag" zonder de java service wrapper\n(nodig op niet-Linux/niet-x86 systemen) met de volgende code: \"i2prouter-nowrapper
\".\n(Noot: Gebruik geen sudo of start het als administrator!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "als een service die automatisch gestart wordt wanneer je systeem opgestart\nwordt, zelfs nog voor het inloggen. De service kan aangezet worden met:\n\"dpkg-reconfigure i2p
\" als administrator of met \"sudo\".\nDit is de aanbevolen manier om I2P te starten."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -277,14 +296,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Als u voor de eerste keer installeert, werk uw NAT/firewall bij\nals u kan. De poorten die geforward dienen te worden vind u op de \nnetwerk configuratie pagina in de router console. Als u hulp nodig heeft met het forwarden van poorten,\ndan vindt u hulp op portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Bekijk de bandwidth settings en pas ze aan op de\nconfiguration pagina.\nomdat de standaard instellingen (96 KB/s down, 40 KB/s up) vrij conservatief zijn."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/nl/LC_MESSAGES/research.po b/i2p2www/translations/nl/LC_MESSAGES/research.po
index 98084042..c5c6c459 100644
--- a/i2p2www/translations/nl/LC_MESSAGES/research.po
+++ b/i2p2www/translations/nl/LC_MESSAGES/research.po
@@ -1,204 +1,269 @@
-# Dutch translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
-# Nathan Follens, 2015
+# Nathan Follens, 2015,2018
msgid ""
msgstr ""
-"Project-Id-Version: I2P\n"
+"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2016-04-02 00:14+0000\n"
-"Last-Translator: str4d i2p.vmCommSystem=true
to the router.config before starting."
+"While all research on the I2P network is beneficial and appreciated, there are\n"
+"certain areas which are more in need than others - most so in defensive\n"
+"research. Most people enjoy coming up with fun ways to launch offensives\n"
+"against anonymous software, and this is further reinforced by the incentives in\n"
+"academic institutions. While we know it is often not the first choice for\n"
+"researchers, We would certainly appreciate any and all work towards ways to\n"
+"fortify the network!"
msgstr ""
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Het live I2P-netwerk testen"
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
+msgstr ""
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
-msgstr ""
-
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Open onderzoeksvragen"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Netwerkdatabase"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transporten"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
-msgstr "Tunnels en Bestemmingen"
+msgstr "Tunnels en bestemmingen"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
-msgstr "Peer-selectie"
+msgstr "Peerselectie"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Eenrichtingstunnels"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihoming"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
-msgstr "Berichtrouting"
+msgstr "Berichtroutering"
+
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
@@ -211,8 +276,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -224,7 +288,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -237,12 +302,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "E-mail"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -255,8 +319,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -276,14 +339,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -295,8 +357,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -314,19 +376,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -348,8 +409,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -358,10 +418,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -396,8 +454,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -410,11 +467,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -466,8 +525,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -475,13 +534,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -490,8 +550,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -502,33 +562,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -543,7 +598,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -572,15 +628,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -590,10 +644,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -603,8 +655,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -641,4 +692,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/pl/LC_MESSAGES/blog.po b/i2p2www/translations/pl/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..b752b121
--- /dev/null
+++ b/i2p2www/translations/pl/LC_MESSAGES/blog.po
@@ -0,0 +1,7551 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# Karolina 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 and Message 4.\n"
@@ -12204,11 +12206,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"
@@ -12220,157 +12222,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12380,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12402,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12416,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 \n"
@@ -12474,13 +12476,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?"
@@ -12494,71 +12496,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12567,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"
@@ -12578,7 +12579,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\n"
@@ -12591,48 +12592,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12641,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12656,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 128.\n"
@@ -12671,11 +12672,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"
@@ -12684,7 +12685,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"
@@ -12694,7 +12695,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12707,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"
@@ -12718,7 +12719,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"
@@ -12726,18 +12727,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"
@@ -12745,7 +12746,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"
@@ -12754,11 +12755,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"
@@ -12766,41 +12767,41 @@ 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"
@@ -12811,7 +12812,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"
@@ -12821,7 +12822,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12830,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 now)\n"
@@ -12844,7 +12845,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"
@@ -12864,26 +12865,26 @@ 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"
@@ -12892,7 +12893,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"
@@ -12902,7 +12903,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"
@@ -12912,7 +12913,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"
@@ -12924,7 +12925,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"
@@ -12935,7 +12936,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"
@@ -12943,7 +12944,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"
@@ -12954,7 +12955,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"
@@ -12963,11 +12964,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"
@@ -12977,7 +12978,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 specified\n"
@@ -12990,11 +12991,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 "Bezpieczeństwo"
-#: 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"
@@ -13003,105 +13004,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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 ""
@@ -13756,7 +13757,7 @@ msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:3
msgid "November 2016"
-msgstr ""
+msgstr "Listopad 2016"
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7
msgid ""
diff --git a/i2p2www/translations/pl/LC_MESSAGES/get-involved.po b/i2p2www/translations/pl/LC_MESSAGES/get-involved.po
index 0cc85cde..ba0b7199 100644
--- a/i2p2www/translations/pl/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/pl/LC_MESSAGES/get-involved.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the I2P project.
#
# Translators:
+# kRkk ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 ""
+msgstr "Anonimowo:"
-#: 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3233,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3256,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3325,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
@@ -3557,7 +3591,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/guides/reseed.html:3
msgid "February 2017"
-msgstr ""
+msgstr "Luty 2017"
#: i2p2www/pages/site/get-involved/guides/reseed.html:6
msgid "Overview"
@@ -3572,7 +3606,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/guides/reseed.html:14
msgid "Requirements"
-msgstr ""
+msgstr "Wymagania"
#: i2p2www/pages/site/get-involved/guides/reseed.html:16
msgid ""
@@ -3630,7 +3664,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/guides/reseed.html:55
msgid "Privacy Policy"
-msgstr ""
+msgstr "Polityka Prywatności"
#: i2p2www/pages/site/get-involved/guides/reseed.html:57
msgid ""
@@ -3658,7 +3692,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/guides/reseed.html:77
msgid "Getting Started"
-msgstr ""
+msgstr "Pierwsze kroki"
#: i2p2www/pages/site/get-involved/guides/reseed.html:79
msgid ""
diff --git a/i2p2www/translations/pl/LC_MESSAGES/priority.po b/i2p2www/translations/pl/LC_MESSAGES/priority.po
index 0d1bfa03..52a16a8d 100644
--- a/i2p2www/translations/pl/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/pl/LC_MESSAGES/priority.po
@@ -5,6 +5,7 @@
# Translators:
# Tomasz Ciborski ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Kliknij na tab Inne Źródła i kliknij Dodaj. Wklej ppa:i2p-maintainers/i2p
do pola APT i kliknij na Dodaj Źródło. Następnie kliknij na Zamknij a później Przeładuj."
-#: 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 "
@@ -175,85 +175,105 @@ msgid ""
" Mark then Apply."
msgstr "W polu 'szybkiego filtrowania' wpisz i2p
i naciśnij enter. Gdy i2p
zostanie zwrócone na liście wyników, zaznacz prawym przyciskiem i2p
i wybierz Zaznacz w celu Instalacji. Po dokonaniu wyboru możesz zobaczyć okno: Zaznaczyć dodatkowe wymagane zmiany?. Jeśli tak, wybierz zaznacz a następnie zastosuj."
-#: 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 "Gdy proces instalacji się zakończy, możesz przejść do następnej części starting I2P i konfigurowania I2P dla Twojego systemu."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instrukcje dla Debiana"
-#: 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\")."
-msgstr "Uwaga: Poniższe kroki powinny zostać przeprowadzone z uprawnieniami roota (tzn. po przełączeniu użytkownika na roota za pomocą komendy \"su\" lub przy prefiksowaniu każdej komendy wyrażeniem \"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
."
-msgstr "Dodaj poniższe linie do %(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:"
-msgstr "Pobierz klucz użyty do podpisania repozytorium i dodaj go do 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 "Powiadom menadżera paczek o nowym repozytorium wpisując"
-#: 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 step\n"
"1."
msgstr "Komenda ta pobierze najnowszą listę oprogramowania z każdego repozytorium, które jest aktywne w systemie, łącznie z repozytorium I2P dodanym w kroku 1."
-#: 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 "Jesteś już gotowy, by zainstalować I2P! Instalacja paczki i2p-keyring
zagwarantuje otrzymywanie aktualizacji klucza GPG repozytorium."
-#: 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 "Gdy zakończy się proces instalacji, możesz przejść do następnej części uruchamiania i konfigurowania I2P dla Twojego systemu."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Uwaga: jeżeli adres https nie działa, spróbuj:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "zmienić adres repozytorium na http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Zadania poinstalacyjne"
-#: 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 "Używając tych paczek I2P, węzeł I2P może zostać uruchomiony na trzy następujące sposoby:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""na żądanie" używając skryptu 'i2prouter'. Po prostu wywołaj "i2prouter start
" z terminala. (Uwaga: nie używaj sudo ani nie uruchomiaj jako root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -261,14 +281,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""na żądanie" bez konsoli usługi java (potrzebnej na nie-Linuksowych/nie-x86 systemach) przez wywołanie i2prouter-nowrapper
\". (Uwaga: nie używaj sudo ani nie uruchamiaj jako root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "jako usługa, która automatycznie uruchamia się podczas startu systemu, nawet przed zalogowaniem. Tę usługę można aktywować przez \"dpkg-reconfigure i2p
\" jako root lub używając sudo. To jest zalecany tryb działania."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -276,14 +296,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Podczas pierwszej instalacji, proszę pamiętać aby skonfigurować swój NAT/zaporę sieciową w razie możliwości. Porty które należy przekierować znajdziesz na stronie konfiguracji sieci w konsoli węzła. Jeżeli będziesz potrzebował pomocy z przekierowaniem portów, to zajrzyj na portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Prosimy także o sprawdzenie i dostosowanie ustawień przepustowości na stronie konfiguracji, ponieważ domyślne ustawienia 96 KB/s pobieranie / 40 KB/s wysyłanie są bardzo wolne."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
@@ -1153,7 +1173,7 @@ msgstr "Mam uprzedzenia do pewnych treści. Jak mogę się ustrzec przed rozsył
#: i2p2www/pages/site/faq.html:17
msgid "Getting Started"
-msgstr ""
+msgstr "Pierwsze kroki"
#: i2p2www/pages/site/faq.html:19 i2p2www/pages/site/faq.html:192
msgid "How do I configure my browser?"
diff --git a/i2p2www/translations/pt/LC_MESSAGES/about.po b/i2p2www/translations/pt/LC_MESSAGES/about.po
index 78bc50a8..015daa7f 100644
--- a/i2p2www/translations/pt/LC_MESSAGES/about.po
+++ b/i2p2www/translations/pt/LC_MESSAGES/about.po
@@ -4,15 +4,15 @@
#
# Translators:
# Danton Medrado, 2015
-# Manuela Silva 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 and Message 4.\n"
@@ -12205,11 +12206,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"
@@ -12221,157 +12222,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12379,21 +12380,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12401,11 +12402,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12415,58 +12416,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 \n"
@@ -12475,13 +12476,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?"
@@ -12495,71 +12496,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12567,7 +12567,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"
@@ -12579,7 +12579,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\n"
@@ -12592,48 +12592,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12641,14 +12641,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12656,11 +12656,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 128.\n"
@@ -12672,11 +12672,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"
@@ -12685,7 +12685,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"
@@ -12695,7 +12695,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"
"with all established sessions - if there are matches,\n"
@@ -12707,7 +12707,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"
@@ -12719,7 +12719,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"
@@ -12727,18 +12727,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"
@@ -12746,7 +12746,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"
@@ -12755,11 +12755,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"
@@ -12767,41 +12767,41 @@ 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"
@@ -12812,7 +12812,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"
@@ -12822,7 +12822,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12830,7 +12830,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 now)\n"
@@ -12845,7 +12845,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"
@@ -12865,26 +12865,26 @@ 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"
@@ -12893,7 +12893,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"
@@ -12903,7 +12903,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"
@@ -12913,7 +12913,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"
@@ -12925,7 +12925,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"
@@ -12936,7 +12936,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"
@@ -12944,7 +12944,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"
@@ -12955,7 +12955,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"
@@ -12964,11 +12964,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"
@@ -12978,7 +12978,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 specified\n"
@@ -12991,11 +12991,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"
@@ -13004,105 +13004,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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 ""
@@ -13832,7 +13832,7 @@ msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:73
msgid "Anonymity"
-msgstr ""
+msgstr "Anonimato"
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
#, python-format
diff --git a/i2p2www/translations/pt/LC_MESSAGES/get-involved.po b/i2p2www/translations/pt/LC_MESSAGES/get-involved.po
index 2661e57f..fd03fea4 100644
--- a/i2p2www/translations/pt/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/pt/LC_MESSAGES/get-involved.po
@@ -4,15 +4,15 @@
#
# Translators:
# Danton Medrado, 2015-2016
-# Manuela Silva ~/.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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 "Anonimamente:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Não anonimamente:"
-#: 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3201,21 +3234,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3224,67 +3257,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3293,7 +3326,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/pt/LC_MESSAGES/misc.po b/i2p2www/translations/pt/LC_MESSAGES/misc.po
index 3d34564f..658924a0 100644
--- a/i2p2www/translations/pt/LC_MESSAGES/misc.po
+++ b/i2p2www/translations/pt/LC_MESSAGES/misc.po
@@ -1,24 +1,24 @@
-# Portuguese translations for I2P.
-# Copyright (C) 2017 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
-# Manuela Silva \"eepsite\"
"
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:22
msgid "For the description: \"My eepsite, isn't it pretty?\"
"
-msgstr ""
+msgstr "Para a descrição: \"O meu \"eepsite\", não é bonito?\"
"
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:23
msgid ">For the target host:"
@@ -137,14 +123,10 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:39
msgid ""
-"That's it! Creating a new I2PTunnel server works the same way too, "
-"except you\n"
-"don't need to \"copy the old file\", obviously. Behind the scenes, it is"
-" all driven\n"
-"by the i2ptunnel.config
file, which you may modify "
-"externally (if you do,\n"
-"hit \"Reload config\" on the I2PTunnel web page, which will tear down all"
-" of your \n"
+"That's it! Creating a new I2PTunnel server works the same way too, except you\n"
+"don't need to \"copy the old file\", obviously. Behind the scenes, it is all driven\n"
+"by the i2ptunnel.config
file, which you may modify externally (if you do,\n"
+"hit \"Reload config\" on the I2PTunnel web page, which will tear down all of your \n"
"existing tunnels and rebuild new ones)"
msgstr ""
@@ -178,23 +160,23 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:13
msgid ""
-"I recommend the Tiny Httpd web server, thttpd, (windows version available"
-" on site) although you can use anything that you feel comfortable with."
+"I recommend the Tiny Httpd web server, thttpd, (windows version available on"
+" site) although you can use anything that you feel comfortable with."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:16
msgid ""
"Another more robust option would be to use EasyPHP, which is also open "
"source. It comes with PHP, PHPmyadmin, mySQL, and Apache web server. For "
-"newbies who have no experience setting up and hosting content over "
-"servers, see the hosting page for help."
+"newbies who have no experience setting up and hosting content over servers, "
+"see the hosting page for help."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:19
msgid ""
-"With the web server you've chosen, configure it to listen on a port of "
-"your choice, and serve its documents from a directory of your choice. For"
-" this example, we'll assume port 10880."
+"With the web server you've chosen, configure it to listen on a port of your "
+"choice, and serve its documents from a directory of your choice. For this "
+"example, we'll assume port 10880."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:22
@@ -207,8 +189,8 @@ msgstr ""
msgid ""
"Test the webserver, by pointing your normal browser (the one with the "
"\"direct connection\") at http://localhost:10880 (changing the 10880 to the "
-"port number you have chosen)."
+"target=\"_blank\">http://localhost:10880 (changing the 10880 to the port"
+" number you have chosen)."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:28
@@ -223,28 +205,28 @@ msgstr "2 - Gerar um Par de Chave de Destino do I2P"
#: i2p2www/pages/site/misc/i2ptunnel-services.html:35
msgid ""
-"I2P does not deal in IP addresses. To protect your anonymity, it deals in"
-" unique addresses called destination keys."
+"I2P does not deal in IP addresses. To protect your anonymity, it deals in "
+"unique addresses called destination keys."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:38
msgid ""
"A destination key works a lot like a regular IP address, except that it "
-"can't be traced to your IP address or physical location. When users place"
-" a request to speak with you, your gateways are the ones that answer for "
-"you. So the requesting user can only know the IP address of your "
-"gateways. However, gateways don't know your IP address, because gateways "
-"are the last nodes on your tunnels, and you anonymously create tunnels by"
-" way of garlic routing. (So gateways are like puppets that can't see "
-"their masters, and everyone communicates through these puppets)"
+"can't be traced to your IP address or physical location. When users place a "
+"request to speak with you, your gateways are the ones that answer for you. "
+"So the requesting user can only know the IP address of your gateways. "
+"However, gateways don't know your IP address, because gateways are the last "
+"nodes on your tunnels, and you anonymously create tunnels by way of garlic "
+"routing. (So gateways are like puppets that can't see their masters, and "
+"everyone communicates through these puppets)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:41
msgid ""
"To deploy a server on I2P, you create a destination keypair. You use the "
-"private key to authenticate your server when connecting it to I2P, and "
-"you make the public key (aka destination key) known publicly, so others "
-"can connect to your server. (indirectly, through your gateways)"
+"private key to authenticate your server when connecting it to I2P, and you "
+"make the public key (aka destination key) known publicly, so others can "
+"connect to your server. (indirectly, through your gateways)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:44
@@ -267,9 +249,9 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:53
msgid ""
-"The filenames myWebPrivKey.dat
and "
-"myWebPubKey.dat
are arbitrary - choose whatever you want "
-"here, as long as you understand your own choices."
+"The filenames myWebPrivKey.dat
and myWebPubKey.dat
"
+" are arbitrary - choose whatever you want here, as long as you understand "
+"your own choices."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:56
@@ -280,27 +262,27 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:59
msgid ""
-"To convert your myWebPubKey.dat file into shareable base64, type the "
-"command java -cp lib/i2p.jar net.i2p.data.Base64 encode "
-"myWebPubKey.dat > myWebPubKey.txt
(all on one line)."
+"To convert your myWebPubKey.dat file into shareable base64, type the command"
+" java -cp lib/i2p.jar net.i2p.data.Base64 encode myWebPubKey.dat > "
+"myWebPubKey.txt
(all on one line)."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:62
msgid ""
-"This file you have just generated, myWebPubKey.txt
, contains"
-" a long base64 string (516 chars at last count), which we call a "
-"destination key. All you need to know about this string for now is that "
-"it allows remote clients to uniquely pinpoint and connect to your server,"
-" just the same way as an IP address allows remote machines to pinpoint "
-"and connect to your machine."
+"This file you have just generated, myWebPubKey.txt
, contains a "
+"long base64 string (516 chars at last count), which we call a destination "
+"key. All you need to know about this string for now is that it allows remote"
+" clients to uniquely pinpoint and connect to your server, just the same way "
+"as an IP address allows remote machines to pinpoint and connect to your "
+"machine."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:65
msgid ""
"However, in contrast to an IP address, there is no way to trace your "
-"machine's physical location - even though your server can be addressed "
-"via I2P, your IP address cannot be traced or associated with this "
-"destination key."
+"machine's physical location - even though your server can be addressed via "
+"I2P, your IP address cannot be traced or associated with this destination "
+"key."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:70
@@ -309,9 +291,9 @@ msgstr "3 - Abrir um 'Túnel' a partir de I2P para o Seu Servidor"
#: i2p2www/pages/site/misc/i2ptunnel-services.html:72
msgid ""
-"For clients elsewhere in I2P to be able to access your server, you must "
-"run a 'bridge' or 'tunnel', which takes connections from these clients "
-"and forwards them to your local server."
+"For clients elsewhere in I2P to be able to access your server, you must run "
+"a 'bridge' or 'tunnel', which takes connections from these clients and "
+"forwards them to your local server."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:75
@@ -336,9 +318,9 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:84
msgid ""
-"Within a few seconds, the 'tunnel' should now be active, and remote "
-"clients should be able to reach your server anonymously. Remember to let "
-"your router \"warm up\" before opening clients to it."
+"Within a few seconds, the 'tunnel' should now be active, and remote clients "
+"should be able to reach your server anonymously. Remember to let your router"
+" \"warm up\" before opening clients to it."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:89
@@ -356,9 +338,9 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:94
msgid ""
"Edit your hosts.txt, and add the line myserver.i2p=blahblahblah, where "
-"myserver.i2p is an I2P 'domain' you want to associate with your site, and"
-" the blahblahblah is the text of the base64 public key you created "
-"earlier in the file myWebPubKey.txt"
+"myserver.i2p is an I2P 'domain' you want to associate with your site, and "
+"the blahblahblah is the text of the base64 public key you created earlier in"
+" the file myWebPubKey.txt"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:97
@@ -392,42 +374,42 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:117
msgid ""
-"As you grow into I2P and get more of a 'feel' for it, you will want to "
-"use all manner of servers and clients."
+"As you grow into I2P and get more of a 'feel' for it, you will want to use "
+"all manner of servers and clients."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:120
msgid ""
-"The beauty of I2P is that it allows standard Internet clients and servers"
-" for most protocols to be transparently 'tunneled' through the anonymous "
+"The beauty of I2P is that it allows standard Internet clients and servers "
+"for most protocols to be transparently 'tunneled' through the anonymous "
"network."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:123
msgid ""
-"You can run mailservers/clients, nameservers/clients, newsservers/clients"
-" - almost anything at all - perhaps even FTP in passive mode."
+"You can run mailservers/clients, nameservers/clients, newsservers/clients - "
+"almost anything at all - perhaps even FTP in passive mode."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:126
msgid ""
-"Now, we'll create a client tunnel. This is like the server tunnel we "
-"created earlier, but works in reverse. It listens to a port on your local"
-" machine; your local client connects to this port; the connection gets "
-"forwarded through I2P to the service on the other end."
+"Now, we'll create a client tunnel. This is like the server tunnel we created"
+" earlier, but works in reverse. It listens to a port on your local machine; "
+"your local client connects to this port; the connection gets forwarded "
+"through I2P to the service on the other end."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:129
msgid ""
-"To open your client tunnel for your server, type the command java "
-"-jar lib/i2ptunnel.jar -nogui -e \"config localhost 7654\" -e \"client "
-"10888 textofbase64key\"
(all one line)."
+"To open your client tunnel for your server, type the command java -jar"
+" lib/i2ptunnel.jar -nogui -e \"config localhost 7654\" -e \"client 10888 "
+"textofbase64key\"
(all one line)."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:132
msgid ""
-"The port 10888 is arbitrary - it just needs to be something other than "
-"the physical port your server is listening on."
+"The port 10888 is arbitrary - it just needs to be something other than the "
+"physical port your server is listening on."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:135
@@ -459,11 +441,10 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:147
msgid ""
-"You use the same procedure for using any local client program to access a"
-" remote I2P server - just get the base64 public key (called destination "
-"key) of the remote server, choose a local port to connect to the remote "
-"server, open the tunnel, and just connect with your client to your "
-"heart's content."
+"You use the same procedure for using any local client program to access a "
+"remote I2P server - just get the base64 public key (called destination key) "
+"of the remote server, choose a local port to connect to the remote server, "
+"open the tunnel, and just connect with your client to your heart's content."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:152
@@ -474,37 +455,35 @@ msgstr "7 - Partilhar os detalhes do seu servidor com os outros"
msgid ""
"Using an anonymous medium (eg the one of the I2P IRC servers or ugha's "
"wiki), post your domain name (eg www.mynick.i2p as well as your destination key. "
-"Others will then be able to reach your server remotely, without either of"
-" you jeopardizing your anonymity."
+"target=\"_blank\">www.mynick.i2p as well as your destination key. Others"
+" will then be able to reach your server remotely, without either of you "
+"jeopardizing your anonymity."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:157
msgid ""
-"Remember, you can go to What's on I2P and find the latest public keys "
-"linked to their URL. You should also post your own public key and URL "
-"their. However, you will want to do this anonymously, of course. "
-"Drupal.i2p.net is currently, as of this writing, only accessible from the"
-" net. So, to access the outside WWW anonymously from inside of I2P, you "
-"will need to start up your script called startSquid. Do it the same way "
-"you have been doing these other scripts. Reconfigure your browser to "
-"proxy on localhost:5555, as defined in the script, and when the script "
-"has generated it's keys, you can access the squid proxy. Put any WWW URL "
-"(such as Google or this i2p site) into your browser's address bar and you"
-" will be surfing the World Wide Web anonymously. Now you can safely post "
-"your public key, and no one can detect your IP address."
+"Remember, you can go to What's on I2P and find the latest public keys linked"
+" to their URL. You should also post your own public key and URL their. "
+"However, you will want to do this anonymously, of course. Drupal.i2p.net is "
+"currently, as of this writing, only accessible from the net. So, to access "
+"the outside WWW anonymously from inside of I2P, you will need to start up "
+"your script called startSquid. Do it the same way you have been doing these "
+"other scripts. Reconfigure your browser to proxy on localhost:5555, as "
+"defined in the script, and when the script has generated it's keys, you can "
+"access the squid proxy. Put any WWW URL (such as Google or this i2p site) "
+"into your browser's address bar and you will be surfing the World Wide Web "
+"anonymously. Now you can safely post your public key, and no one can detect "
+"your IP address."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:162
msgid "8 - Write Some Scripts To Handle All This Menial Nonsense"
-msgstr ""
-"8 - Escrever Alguns Scripts para Manipular Todo Este Despropósito do "
-"Servo "
+msgstr "8 - Escrever Alguns Scripts para Manipular Todo Este Despropósito do Servo "
#: i2p2www/pages/site/misc/i2ptunnel-services.html:164
msgid ""
-"It would drive most people crazy, going through all these steps every "
-"time one sets up an I2P server, and/or deploys a client."
+"It would drive most people crazy, going through all these steps every time "
+"one sets up an I2P server, and/or deploys a client."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:167
@@ -513,8 +492,8 @@ msgid ""
"target=\"_blank\">http://www.freenet.org.nz/i2p/ has a script called "
"setupServer.py which automates all this nonsense into one simple command "
"line . But I respect that people's tastes in user interfaces differ, and "
-"trying to write something which satisfies everyone's needs usually "
-"results in something so complex that it turns into newbie-repellent."
+"trying to write something which satisfies everyone's needs usually results "
+"in something so complex that it turns into newbie-repellent."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:170
@@ -525,19 +504,17 @@ msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:173
msgid ""
-"Also, you may want to write a script which handles the startup of the I2P"
-" Router, the eepProxy, plus any and all tunnels you are using. I've got "
-"such a script called startEverything.sh, which gets launched at system "
-"startup. (Be sure to search this site for template scripts to automate "
-"your I2P commands. If I create a page for one, I'll try to remember to "
-"link it here."
+"Also, you may want to write a script which handles the startup of the I2P "
+"Router, the eepProxy, plus any and all tunnels you are using. I've got such "
+"a script called startEverything.sh, which gets launched at system startup. "
+"(Be sure to search this site for template scripts to automate your I2P "
+"commands. If I create a page for one, I'll try to remember to link it here."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:176
-msgid "Exercise for Windows users - port setupServer.py into a MS-DOS .BAT file."
-msgstr ""
-"Exercício para os utilizadores do Windows - porta setupServer.py para um "
-"ficheiro .BAT do MS-DOS."
+msgid ""
+"Exercise for Windows users - port setupServer.py into a MS-DOS .BAT file."
+msgstr "Exercício para os utilizadores do Windows - porta setupServer.py para um ficheiro .BAT do MS-DOS."
#: i2p2www/pages/site/misc/invisiblenet.html:2
msgid "Old Documents"
@@ -545,13 +522,11 @@ msgstr "Documentos Antigos"
#: i2p2www/pages/site/misc/invisiblenet.html:5
msgid ""
-"Following is a list of documents originally on www.invisiblenet.net/i2p/ "
-"and\n"
+"Following is a list of documents originally on www.invisiblenet.net/i2p/ and\n"
"rescued via the\n"
"Wayback Machine.\n"
"They are quite dated and may or may not be accurate.\n"
-"However, the I2CP and I2NP documents in particular have some good "
-"information."
+"However, the I2CP and I2NP documents in particular have some good information."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:3
@@ -564,8 +539,7 @@ msgstr "Sinopse"
#: i2p2www/pages/site/misc/jbigi.html:7
msgid ""
-"Using JNI (Java Native Interface), a bit of C code (thanks ugha!), a "
-"little\n"
+"Using JNI (Java Native Interface), a bit of C code (thanks ugha!), a little\n"
"manual work and a piece of chewing gum we have made several\n"
"cryptography operations quite a bit faster."
msgstr ""
@@ -579,18 +553,15 @@ msgid ""
"mpz_powm()\n"
"as a replacement for the\n"
"Java Math library's BigInteger modPow().\n"
-"As modPow() is a significant computational portion of many crypto "
-"operations, this is of significant benefit."
+"As modPow() is a significant computational portion of many crypto operations, this is of significant benefit."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:25
#, python-format
msgid ""
-"The standard I2P installation includes about 20 versions of the library "
-"for different platforms,\n"
+"The standard I2P installation includes about 20 versions of the library for different platforms,\n"
"each about 50KB, inside the jbigi.jar file.\n"
-"The initialization of the JBigI library, including CPU identification, "
-"selection, and extraction\n"
+"The initialization of the JBigI library, including CPU identification, selection, and extraction\n"
"of the correct loadable module, is handled by the\n"
"NativeBigInteger class.\n"
"If no module is available for the current platform, the standard\n"
@@ -604,8 +575,7 @@ msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:39
msgid ""
-"Following are the instructions to build a new jbigi library for your own "
-"platform\n"
+"Following are the instructions to build a new jbigi library for your own platform\n"
"and testing its performance."
msgstr ""
@@ -616,31 +586,25 @@ msgstr "Requisitos"
#: i2p2www/pages/site/misc/jbigi.html:43
msgid ""
"This works on Linux, and with a few changes in build.sh probably also on\n"
-"other platforms. FreeBSD has also been reported to work too. On Kaffee "
-"the\n"
-"speedup is very small, because it already uses native BitInteger "
-"internally.\n"
+"other platforms. FreeBSD has also been reported to work too. On Kaffee the\n"
+"speedup is very small, because it already uses native BitInteger internally.\n"
"Blackdown seems to cause strange errors. Because you are going to do\n"
"compilation, you need JDK; JRE won't work."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:50
msgid ""
-"The required code is available in monotone database and the latest source"
-" tarball. "
+"The required code is available in monotone database and the latest source "
+"tarball. "
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:51
msgid ""
"The GNU MP Bignum library (libgmp) needs to be installed, if it isn't\n"
-"included in your OS / distribution or installed already, it can be "
-"received from\n"
-"http://gmplib.org/#DOWNLOAD. "
-"Even if you\n"
-"have already installed it as binary, it might still be worth a try to "
-"compile\n"
-"GMP yourself, since then it will be able to use the specific instructions"
-" of\n"
+"included in your OS / distribution or installed already, it can be received from\n"
+"http://gmplib.org/#DOWNLOAD. Even if you\n"
+"have already installed it as binary, it might still be worth a try to compile\n"
+"GMP yourself, since then it will be able to use the specific instructions of\n"
"your processor. The latest GMP may also\n"
"be used instead of GMP 5.0.2, but it hasn't been tested by us."
msgstr ""
@@ -651,8 +615,7 @@ msgstr "Instruções passo-a-passo"
#: i2p2www/pages/site/misc/jbigi.html:63
msgid ""
-"Look at your running "
-"environment on the logs.jsp page.\n"
+"Look at your running environment on the logs.jsp page.\n"
"There should be one of two status messages for JBigI - either"
msgstr ""
@@ -680,27 +643,20 @@ msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:78
msgid ""
-"Look on http://localhost:7657/stats.jsp"
-"\n"
-"to see what the lifetime average values for "
-"crypto.elGamal.decrypt
and\n"
-"crypto.elGamal.encrypt
are. The numbers are times in "
-"milliseconds. Copy these somewhere so you can compare\n"
+"Look on http://localhost:7657/stats.jsp\n"
+"to see what the lifetime average values for crypto.elGamal.decrypt
and\n"
+"crypto.elGamal.encrypt
are. The numbers are times in milliseconds. Copy these somewhere so you can compare\n"
"them later on.\n"
"The network average for encrypt time is about 20ms.\n"
-"If your encrypt time is less than 50ms for a relatively new processor, or"
-" less than 100ms\n"
-"for an older processor, and the native BigInteger library was loaded, you"
-" are probably fine."
+"If your encrypt time is less than 50ms for a relatively new processor, or less than 100ms\n"
+"for an older processor, and the native BigInteger library was loaded, you are probably fine."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:87
#, python-format
msgid ""
"Get the latest released source code of I2P from\n"
-"the download page, or get the cutting-edge "
-"source\n"
+"the download page, or get the cutting-edge source\n"
"out of the monotone database mtn.i2p2.de"
msgstr ""
@@ -714,18 +670,14 @@ msgid ""
"If you have a /usr/lib/libgmp.so file, you do not have to download GMP.\n"
"Use the 'dynamic' argument to build.sh.\n"
"Otherwise, you must download GMP version 5.0.2 from\n"
-"from http://gmplib.org/#DOWNLOAD, "
-"saving it to gmp-5.0.2.tar.bz2.\n"
-"If you decide to use a newer version, change the VER= line in "
-"core/c/jbigi/build.sh
."
+"from http://gmplib.org/#DOWNLOAD, saving it to gmp-5.0.2.tar.bz2.\n"
+"If you decide to use a newer version, change the VER= line in core/c/jbigi/build.sh
."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:101
msgid ""
"Take a look at build.sh
, if your JAVA_HOME
\n"
-"environment variable is set and you are using Linux then it might just "
-"work.\n"
+"environment variable is set and you are using Linux then it might just work.\n"
"Otherwise change the settings. Remember, you need the Java SDK installed."
msgstr ""
@@ -733,17 +685,13 @@ msgstr ""
msgid ""
"Run build.sh
(if you downloaded GMP) or\n"
"build.sh dynamic
(if you have /usr/lib/libgmp.so).build.sh
from the core/c/
"
-"directory which will\n"
+"You can run the build.sh
from the core/c/
directory which will\n"
"build all available jbigi libs into a jbigi.jar.\n"
"A file named libjbigi.so
should be created in the current\n"
-"directory. If this doesn't happen and/or you get errors then please "
-"report\n"
+"directory. If this doesn't happen and/or you get errors then please report\n"
"them."
msgstr ""
@@ -771,11 +719,8 @@ msgstr "Reinicie os seus programas de I2P."
#: i2p2www/pages/site/misc/jbigi.html:131
msgid ""
-"On http://localhost:7657/stats.jsp"
-"\n"
-"the crypto.elGamal.decrypt
and "
-"crypto.elGamal.encrypt
\n"
+"On http://localhost:7657/stats.jsp\n"
+"the crypto.elGamal.decrypt
and crypto.elGamal.encrypt
\n"
"should be a lot faster."
msgstr ""
@@ -785,8 +730,7 @@ msgstr "Anúncio de Jrandom"
#: i2p2www/pages/site/misc/jrandom-awol.html:4
msgid ""
-"The following message was received in mid-November 2007. We have no "
-"further information\n"
+"The following message was received in mid-November 2007. We have no further information\n"
"on jrandom's status."
msgstr ""
@@ -795,8 +739,7 @@ msgstr ""
msgid ""
"Subsequently, in an unrelated incident, the hosting company for\n"
"all *.i2p.net servers (except forum.i2p.net) suffered a power outage\n"
-"on January 13, 2008, and the i2p.net servers did not fully return to "
-"service.\n"
+"on January 13, 2008, and the i2p.net servers did not fully return to service.\n"
"As only jrandom has the credentials required to restore service,\n"
"and he could not be contacted,\n"
"we moved all public services to www.i2p2.de\n"
@@ -818,33 +761,24 @@ msgstr "Instalar Manualmente o Java Wrapper"
#: i2p2www/pages/site/misc/manual-wrapper.html:6
#, python-format
msgid ""
-"The installation package for the I2P router"
-" comes\n"
-"with a Java wrapper for the most common architectures. If your system is "
-"not\n"
-"supported by our installer—or if you want to update the wrapper to "
-"a\n"
-"newer version—the following steps describe installing the wrapper "
-"manually."
+"The installation package for the I2P router comes\n"
+"with a Java wrapper for the most common architectures. If your system is not\n"
+"supported by our installer—or if you want to update the wrapper to a\n"
+"newer version—the following steps describe installing the wrapper manually."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:14
msgid ""
-"Check Tanuki Software's download"
-" page\n"
+"Check Tanuki Software's download page\n"
"for your platform. Is your platform listed? If so, you're in\n"
-"luck! Download the most recent version of the Community Edition for your "
-"OS and\n"
+"luck! Download the most recent version of the Community Edition for your OS and\n"
"CPU and move to the next step."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:20
msgid ""
-"If your platform does not have an already compiled wrapper available, you"
-"\n"
-"may be able to compile it yourself. If you are willing to have a go at "
-"it, move\n"
+"If your platform does not have an already compiled wrapper available, you\n"
+"may be able to compile it yourself. If you are willing to have a go at it, move\n"
"on to compiling the wrapper for your system."
msgstr ""
@@ -853,7 +787,8 @@ msgid "Using existing binaries"
msgstr "Utilizar binários existentes"
#: i2p2www/pages/site/misc/manual-wrapper.html:28
-msgid "In the steps below, $I2P means the location I2P was installed to."
+msgid ""
+"In the steps below, $I2P means the location I2P was installed to."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:36
@@ -869,8 +804,8 @@ msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:39
#: i2p2www/pages/site/misc/manual-wrapper.html:67
msgid ""
-"If this did not work you'll need to use runplain.sh
to start"
-" I2P."
+"If this did not work you'll need to use runplain.sh
to start "
+"I2P."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:43
@@ -879,16 +814,15 @@ msgstr "A compilar da fonte"
#: i2p2www/pages/site/misc/manual-wrapper.html:44
msgid ""
-"These steps worked to compile the wrapper for use on a mipsel system "
-"running Debian. The steps will need to be altered for "
-"your system."
+"These steps worked to compile the wrapper for use on a mipsel system running"
+" Debian. The steps will need to be altered for your system."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:48
msgid ""
-"Download the source archive for the community version of the wrapper from"
-" wrapper download"
-" page."
+"Download the source archive for the community version of the wrapper from wrapper download "
+"page."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:49
@@ -897,8 +831,8 @@ msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:51
msgid ""
-"Set environment variables ANT_HOME
and "
-"JAVA_HOME
. For example, in Debian:"
+"Set environment variables ANT_HOME
and JAVA_HOME
. "
+"For example, in Debian:"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:54
@@ -937,164 +871,110 @@ msgstr ""
#: i2p2www/pages/site/misc/minwww.html:47
msgid ""
-"An optimized form, designed to handle only 128KB [1] files and pages, can"
-"\n"
+"An optimized form, designed to handle only 128KB [1] files and pages, can\n"
"operate significantly faster:"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:71
msgid ""
"The difference in network load and latency is significant - this is\n"
-"essentially a UDP version of HTTP. On the normal web, we can't really do"
-" that,\n"
-"since most HTTP requests and responses are orders of magnitude larger "
-"than UDP\n"
-"packets functionally support, but in I2P, messages can be large. The "
-"savings\n"
-"for the network load comes from the fact that we don't need to send any "
-"ACK\n"
+"essentially a UDP version of HTTP. On the normal web, we can't really do that,\n"
+"since most HTTP requests and responses are orders of magnitude larger than UDP\n"
+"packets functionally support, but in I2P, messages can be large. The savings\n"
+"for the network load comes from the fact that we don't need to send any ACK\n"
"messages - rather than the earlier wrap/unwrap request (that bundles a\n"
-"DataMessage with a DeliveryStatusMessage to provide guaranteed delivery),"
-" the\n"
-"MinWWW proxy deals with resends (if necessary - in I2PTunnel today, there"
-" are no\n"
+"DataMessage with a DeliveryStatusMessage to provide guaranteed delivery), the\n"
+"MinWWW proxy deals with resends (if necessary - in I2PTunnel today, there are no\n"
"resends)."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:83
msgid ""
-"The data that the MinWWW proxy and server need to wrap is trivial - when "
-"the\n"
-"proxy wants to send \"GET /\", it prepends it with the I2P Destination "
-"sending\n"
-"the request, followed by a 4 byte request ID. The MinWWW server receives"
-" those\n"
-"requests, contacts the appropriate HTTPD, sends the request, waits for "
-"the\n"
+"The data that the MinWWW proxy and server need to wrap is trivial - when the\n"
+"proxy wants to send \"GET /\", it prepends it with the I2P Destination sending\n"
+"the request, followed by a 4 byte request ID. The MinWWW server receives those\n"
+"requests, contacts the appropriate HTTPD, sends the request, waits for the\n"
"response, and sends a reply to the MinWWW proxy containing the response,\n"
-"prefixed with the original request ID. That response is taken and passed"
-" back\n"
+"prefixed with the original request ID. That response is taken and passed back\n"
"to the browser and the connection is closed."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:93
msgid ""
"In addition, the MinWWW proxy can choose the MinWWW server to use from a\n"
-"list, going through some round robin or other algorithm, so that there "
-"are\n"
-"multiple outproxies merged transparently. The bandwidth required for "
-"running\n"
-"one of these outproxies is also greatly reduced, since it will only "
-"handle 128KB\n"
+"list, going through some round robin or other algorithm, so that there are\n"
+"multiple outproxies merged transparently. The bandwidth required for running\n"
+"one of these outproxies is also greatly reduced, since it will only handle 128KB\n"
"files (aka no one is going to be downloading porn, warez, etc)."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:101
msgid ""
-"The functionality /is/ limited, but 128KB of data is a lot for a single "
-"HTTP\n"
-"request or response. The above diagrams are also unrealistic in their "
-"hops -\n"
-"ROUTERA will really never talk directly to ROUTERB. ROUTERA will send "
-"each\n"
-"of the messages through two additional outbound routers, then forwarded "
-"to\n"
-"two additional inbound routers to ROUTERB, so the lag there is "
-"significant -\n"
-"while the above only saves 11 steps, 8 of those steps need to traverse "
-"the\n"
-"entire tunnel path (4+ remote hops each time when tunnels are 2 remote "
-"hops\n"
-"in each stretch), leaving MinWWW with only two full traversals (one for "
-"the\n"
+"The functionality /is/ limited, but 128KB of data is a lot for a single HTTP\n"
+"request or response. The above diagrams are also unrealistic in their hops -\n"
+"ROUTERA will really never talk directly to ROUTERB. ROUTERA will send each\n"
+"of the messages through two additional outbound routers, then forwarded to\n"
+"two additional inbound routers to ROUTERB, so the lag there is significant -\n"
+"while the above only saves 11 steps, 8 of those steps need to traverse the\n"
+"entire tunnel path (4+ remote hops each time when tunnels are 2 remote hops\n"
+"in each stretch), leaving MinWWW with only two full traversals (one for the\n"
"request, one for the response), instead of 10."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:113
msgid ""
-"Implementing the MinWWW proxy and server should be fairly easy - read an "
-"HTTP\n"
-"request from the client fully (perhaps only start out with HTTP GET, "
-"leaving\n"
-"HTTP POST for later), wrap the message, and wait for the response. The "
-"server\n"
-"in turn simply needs to parse the request to either open a socket or URL,"
-"\n"
-"send the request, wait for the response, and send it back through the "
-"network.\n"
+"Implementing the MinWWW proxy and server should be fairly easy - read an HTTP\n"
+"request from the client fully (perhaps only start out with HTTP GET, leaving\n"
+"HTTP POST for later), wrap the message, and wait for the response. The server\n"
+"in turn simply needs to parse the request to either open a socket or URL,\n"
+"send the request, wait for the response, and send it back through the network.\n"
"If someone were to implement this, it would be Good :)"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:122
msgid ""
-"[1] Why 128KB files? Currently I2CP allows functionally arbitrary "
-"message\n"
-"size, but that's going to be going away since it involves either "
-"excessive memory\n"
-"overhead on intermediary routers, or additional implementation details to"
-"\n"
-"handle. I2PTunnel is currently limited to 128KB and hasn't been a "
-"burden,\n"
+"[1] Why 128KB files? Currently I2CP allows functionally arbitrary message\n"
+"size, but that's going to be going away since it involves either excessive memory\n"
+"overhead on intermediary routers, or additional implementation details to\n"
+"handle. I2PTunnel is currently limited to 128KB and hasn't been a burden,\n"
"so perhaps it could be increased to 256KB when the I2CP spec is updated)"
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:4
msgid ""
-"There has been discussion about a distributed blogging application for a "
-"few\n"
-"months now called \"MyI2P\". While the original discussions were lost, "
-"we were \n"
-"able to retrieve a Google cache\n"
-"of it. It isn't pretty, but it includes the basic overview and some "
-"discussion\n"
+"There has been discussion about a distributed blogging application for a few\n"
+"months now called \"MyI2P\". While the original discussions were lost, we were \n"
+"able to retrieve a Google cache\n"
+"of it. It isn't pretty, but it includes the basic overview and some discussion\n"
"that ensued."
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:12
#, python-format
msgid ""
-"The application itself is not yet implemented, and the ideas behind it "
-"have \n"
-"been made less ambitious over time, but they are still valid and the "
-"current \n"
-"plan is to have the core MyI2P functionality "
-"available \n"
-"along side the I2P 1.0 release. That will include a distributed address "
-"book\n"
-"to enable secure, distributed, and human readable naming by sacrificing "
-"the \n"
-"need for global uniqueness - basically everyone has their own local "
-"address book \n"
-"and can 'subscribe' to other people's address books, letting MyI2P "
-"periodically\n"
-"retrieve new name to destination mappings (leaving conflicts up to the "
-"user to\n"
-"resolve). In addition to the address book, there will be a distributed "
-"blogging\n"
+"The application itself is not yet implemented, and the ideas behind it have \n"
+"been made less ambitious over time, but they are still valid and the current \n"
+"plan is to have the core MyI2P functionality available \n"
+"along side the I2P 1.0 release. That will include a distributed address book\n"
+"to enable secure, distributed, and human readable naming by sacrificing the \n"
+"need for global uniqueness - basically everyone has their own local address book \n"
+"and can 'subscribe' to other people's address books, letting MyI2P periodically\n"
+"retrieve new name to destination mappings (leaving conflicts up to the user to\n"
+"resolve). In addition to the address book, there will be a distributed blogging\n"
"system using a reduced and secured subset of \n"
-"bbcode to "
-"essentially\n"
-"provide an anonymous LiveJournal with\n"
-"a 'friends list' and transparent access control (authenticated by the I2P"
-"\n"
-"datagrams with rules defined based on the "
-"address book)."
+"bbcode to essentially\n"
+"provide an anonymous LiveJournal with\n"
+"a 'friends list' and transparent access control (authenticated by the I2P\n"
+"datagrams with rules defined based on the address book)."
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:29
msgid ""
-"Additional functionality, such as integration with a DHT backing store or"
-" \n"
-"swarming file transfers for 'attachments' can be added later. Email may "
-"or may\n"
-"not get in the first pass either, though its implementation is "
-"essentially just\n"
-"a blog entry with private access, so perhaps some UI designer can come up"
-" with\n"
-"something. Exporting the data to RSS or access through ATOM will be an "
-"option \n"
+"Additional functionality, such as integration with a DHT backing store or \n"
+"swarming file transfers for 'attachments' can be added later. Email may or may\n"
+"not get in the first pass either, though its implementation is essentially just\n"
+"a blog entry with private access, so perhaps some UI designer can come up with\n"
+"something. Exporting the data to RSS or access through ATOM will be an option \n"
"down the road as well."
msgstr ""
@@ -1109,8 +989,8 @@ msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:7
msgid ""
-"The list was gathered using the following command in the top directory of"
-" the branch i2p.i2p:"
+"The list was gathered using the following command in the top directory of "
+"the branch i2p.i2p:"
msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:10
@@ -1125,18 +1005,15 @@ msgid ""
"Monotone website for information\n"
"on monotone.\n"
"See\n"
-"this forum post on i2p "
-"monotone\n"
-"for more information on how to get started and check out the source "
-"anonymously.\n"
+"this forum post on i2p monotone\n"
+"for more information on how to get started and check out the source anonymously.\n"
"There is also a quick-start guide on the\n"
"new developer's page."
msgstr ""
#: i2p2www/pages/site/misc/transition-guide.html:16
msgid ""
-"If you want to get the source non-anonymously, pull from the public "
-"server mtn.welterde.de.\n"
+"If you want to get the source non-anonymously, pull from the public server mtn.welterde.de.\n"
"The i2p source code branch is \"i2p.i2p\"."
msgstr ""
@@ -1165,24 +1042,20 @@ msgid ""
"has gone AWOL,\n"
"we do not have his update signing key or access to\n"
"www.i2p[.net] or dev.i2p[.net].\n"
-"Complication and zzz have generated new signing keys, and they and Amiga "
-"are providing\n"
-"update file hosting. These changes must be configured in your router to "
-"take effect."
+"Complication and zzz have generated new signing keys, and they and Amiga are providing\n"
+"update file hosting. These changes must be configured in your router to take effect."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:17
msgid ""
-"Make the following configuration changes and your router will "
-"automatically install\n"
+"Make the following configuration changes and your router will automatically install\n"
"the latest release."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:22
#, python-format
msgid ""
-"We recommend the automated process as it will verify the key of the "
-"signed update file.\n"
+"We recommend the automated process as it will verify the key of the signed update file.\n"
"If you do not make these changes,\n"
"you may manually download the i2pupdate.zip file from\n"
"the download page."
@@ -1195,8 +1068,8 @@ msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:38
msgid ""
-"Select ONE of the following new Update URLs at random and enter it into "
-"the Update URL box: "
+"Select ONE of the following new Update URLs at random and enter it into the "
+"Update URL box: "
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:43
@@ -1218,8 +1091,7 @@ msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:58
msgid ""
"You are now ready to automatically receive the release update file,\n"
-"either by setting your update policy to \"download and install\" or by "
-"clicking on the\n"
+"either by setting your update policy to \"download and install\" or by clicking on the\n"
"\"update available\" link when it appears."
msgstr ""
@@ -1228,7 +1100,5 @@ msgstr ""
msgid ""
"If you would like to verify the trusted update keys, they are also\n"
"posted and signed here.\n"
-"Thank you for your support during this transition. For help please "
-"contact us on #i2p."
+"Thank you for your support during this transition. For help please contact us on #i2p."
msgstr ""
-
diff --git a/i2p2www/translations/pt/LC_MESSAGES/priority.po b/i2p2www/translations/pt/LC_MESSAGES/priority.po
index 9b1a12df..a54201f7 100644
--- a/i2p2www/translations/pt/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/pt/LC_MESSAGES/priority.po
@@ -8,7 +8,7 @@
# hxdcmls, 2013
# hxdcmls, 2013
# blueboy, 2013
-# Manuela Silva ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Clique na aba Outras fontes e clique em Adicionar. Cole ppa:i2p-maintainers/i2p
no campo APT-line e clique em Adicionar fonte. Clique no botão Fechar e em Atualizar."
-#: 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 "
@@ -178,85 +177,105 @@ msgid ""
" Mark then Apply."
msgstr "Na caixa Filtro Rápido, digite i2p
e pressione enter. Quando i2p
aparecer na lista, clique com o botão direito em i2p
e selecione Marcar para Instalação. Após isso você deve ver um popup Marcar mudanças adicionais necessárias? . Se isso ocorrer, clique Marcar e em Aplicar."
-#: 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 "Após completar o processo de instalação, você pode passar para a próxima parte da inicialização do I2P e da configuração do I2P em seu sistema."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instruções para Debian"
-#: 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
."
-msgstr "Adicione linhas da forna a seguir em %(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 "Informe seu gerenciador de pacotes do novo repositório inserindo"
-#: 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 step\n"
"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 "Após completar o processo de instalação, você pode passar para a próxima parte de inicialização e configuração do I2P em seu sistema."
-#: 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 "Trabalho de pós-instalação"
-#: 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 "Usando estes pacotes do I2P, o roteador I2P pode ser iniciado das seguintes\ntrês formas:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""sob demanda" usando o script i2prouter. Basta rodar "i2prouter\nstart
" de um prompt de comando. (Atenção: Não use\nsudo nem rode como root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -264,14 +283,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""Sob demanda" sem o java service wrapper\n(necessário em sistemas não-Linux/não-x86) rodando \"i2prouter-nowrapper
\".\n(Atenção: Não\nuse sudo nem rode como root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "Como um serviço que automaticamente roda durante o boot, antes mesmo do login. O serviço pode ser ativado com \"dpkg-reconfigure\ni2p
\" como root ou usando sudo. Este é o modo de operação recomendado."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -279,14 +298,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Quando estiveres instalando pela primeira vez, lembra-te de ajustar teu NAT/parede de fogo se puderes. As portas a serem redirecionadas podem ser encontradas na página de configuração da rede no painel do roteador. Se precisares de ajuda para entender como redirecionar portas, talvez portfoward.com pode ser útil."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Favor revisar e ajustar as configurações de banda napágina de configuração,\ntendo em vista que a configuração padrão de 96 KB/s para receber e 40 KB/s para enviar são bem conservadoras."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
@@ -1138,7 +1157,7 @@ msgstr "O que quer dizer os números \"x/y Ativos\" no painel do roteador?"
msgid ""
"Is my router an \"exit node\"(outproxy) to the regular Internet? I don't "
"want it to be."
-msgstr "Meu roteador é um \"nó de saída\" (proxy de saída) para a internet regular? Eu não quero que seja."
+msgstr "O meu roteador é um \"nodo de saída\" para a Internet regular? Eu não quero que este o seja."
#: i2p2www/pages/site/faq.html:13 i2p2www/pages/site/faq.html:113
msgid "I can't access regular Internet sites through I2P."
@@ -1319,7 +1338,7 @@ msgstr ""
msgid ""
"Is my router an \"exit node\" to the regular Internet? I don't want it to "
"be."
-msgstr "O meu roteador é um \"nó de saída\" para a Internet regular? Eu não quero que este o seja."
+msgstr "O meu roteador é um \"nodo de saída\" para a Internet regular? Eu não quero que este o seja."
#: i2p2www/pages/site/faq.html:101
#, python-format
@@ -1356,7 +1375,7 @@ msgstr ""
msgid ""
"For more information, you may read the Tor FAQ's answer to this question:\n"
"https://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
-msgstr ""
+msgstr "Para mais informação, pode ler a resposta do Tor FAQ a esta questão:\nhttps://www.torproject.org/docs/faq#CanExitNodesEavesdrop"
#: i2p2www/pages/site/faq.html:139
#, python-format
@@ -2229,7 +2248,7 @@ msgid ""
" IRC2P
channel #i2p
irc.freenode.net
canal #i2p
IRC2P
canal #i2p
i2p.vmCommSystem=true
to the router.config before starting."
-msgstr ""
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
+msgstr "Testes Ofensivos e Analíticos"
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Testar a Rede I2P Live"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:60
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
+msgstr "Ética de Investigação e Testar a Rede"
+
+#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr "Diretrizes Gerais"
+
+#: i2p2www/pages/site/research/index.html:75
+msgid ""
+"i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
msgid "Router Family Configuration"
msgstr "Configuração da Família do Roteador"
-#: i2p2www/pages/site/research/index.html:62
+#: i2p2www/pages/site/research/index.html:143
msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
msgstr ""
-#: i2p2www/pages/site/research/index.html:73
+#: i2p2www/pages/site/research/index.html:155
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
-msgstr "Abrir perguntas de pesquisa"
+msgstr "Abrir perguntas de investigação"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Base de dados da Rede"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transportes"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
-msgstr "Tuneis e Destinos"
+msgstr "Túneis e Destinos"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
-msgstr "Seleção de Ponto"
+msgstr "Seleção de par"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
-msgstr "Túneis unidirecionais"
+msgstr "Túneis unidireccionais"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multi-homing"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Encaminhamento de mensagem"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr "Anonimato"
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr "Relacionado com Rede"
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
-msgstr ""
+msgstr "Processo de Resposta de Vulnerabilidade"
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Fevereiro de 2016"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -224,7 +289,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -237,12 +303,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "E-mail"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -255,8 +320,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -276,14 +340,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -295,8 +358,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -314,19 +377,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -348,8 +410,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -358,10 +419,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -396,8 +455,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -410,11 +468,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -466,8 +526,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -475,13 +535,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -490,8 +551,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -502,33 +563,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -543,7 +599,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -572,15 +629,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -590,10 +645,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -603,8 +656,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -641,4 +693,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/pt_BR/LC_MESSAGES/blog.po b/i2p2www/translations/pt_BR/LC_MESSAGES/blog.po
index bd906bf6..360c1150 100644
--- a/i2p2www/translations/pt_BR/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/pt_BR/LC_MESSAGES/blog.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -95,7 +95,8 @@ msgstr "`página de downloads`"
#: 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 "DETALHES DO LANÇAMENTO"
@@ -152,7 +153,8 @@ msgstr "Maiores modificações"
#: 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 "Correção de falhas"
@@ -199,7 +201,8 @@ msgstr "Correção de falhas"
#: 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 "Outro"
@@ -247,7 +250,8 @@ msgstr "Outro"
#: 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 "Somas de verificação SHA256:"
@@ -404,7 +408,7 @@ msgstr "Atualizar o encapsulador para 3.5.15 (apenas para novas instalações e
#: 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 "Atualiza dados do GeoIP (apenas para novas instalações e PPA)"
@@ -1660,7 +1664,8 @@ msgstr "Novas traduções"
#: 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 "Traduções atualizadas"
@@ -1823,7 +1828,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."
@@ -2632,7 +2638,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 "Modificações"
@@ -4588,7 +4595,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"
"=============="
@@ -5050,7 +5058,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 ""
@@ -6638,6 +6647,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 ""
@@ -7050,12 +7060,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 ""
@@ -7071,107 +7081,472 @@ 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 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 "Alice envia X para Bob (Mensagem 1)."
-#: 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 "Bob gera um numeral secreto y. Ele então calcula Y = g^y mod p
."
-#: 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 "Bob envia Y para Alice (Mensagem 2)."
-#: 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 "Alice agora pode calcular sessionKey = Y^x mod p
."
-#: 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 "Bob agora pode calcular sessionKey = X^y mod p
."
-#: 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 "Agora Alice e Bob tem uma chave compartilhada sessionKey = g^(x*y) mod p
."
-#: 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 and Message 4.\n"
@@ -12209,11 +12210,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 "Mensagem 1 (Requisição de Sessão)"
-#: 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"
@@ -12225,157 +12226,157 @@ 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 "Tamanho:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:210
+#: i2p2www/pages/site/docs/transport/ntcp.html:209
msgid "Contents:"
msgstr "Conteúdo:"
-#: i2p2www/pages/site/docs/transport/ntcp.html:228
+#: i2p2www/pages/site/docs/transport/ntcp.html:227
msgid "256 byte X from Diffie Hellman"
msgstr "256 byte X de Diffie Hellman"
-#: 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 "SHA256 Hash(X) 'xor'arizado com SHA256 Hash('Identidade do Roteador'de Bob)"
-#: 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 "Notas:"
-#: 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 "Mensagem 2 (Sessão Criada)"
-#: 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 "Esta é a resposta DH. Bob manda para Alice:"
-#: 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 "Conteúdo Não Criptografado:"
-#: 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 "256 byte Y de Diffie Hellman"
-#: i2p2www/pages/site/docs/transport/ntcp.html:277
+#: i2p2www/pages/site/docs/transport/ntcp.html:276
msgid "SHA256 Hash(X concatenated with Y)"
msgstr "SHA256 Hash(X concatenado com Y)"
-#: 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 "12 bytes de dados rand6omicos"
-#: 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 "Conteúdo Criptografado:"
-#: 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 session key and\n"
" 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 "Mensagem 3 (Confirmação de Sessão A)"
-#: 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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 "Mensagem 4 (Confirmação de Sessão B)"
-#: 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12383,21 +12384,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12405,11 +12406,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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 "Verificar Mensagem de Conexão"
-#: 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"
@@ -12419,58 +12420,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 "32 bytes de dado não interpretada, ignorado"
-#: 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 "Discussão"
-#: 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 "Agora na `Página de Discussão do NTCP."
-#: 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 \n"
@@ -12479,13 +12480,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?"
@@ -12499,71 +12500,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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 "Veja abaixo"
-#: i2p2www/pages/site/docs/transport/ssu.html:85
+#: i2p2www/pages/site/docs/transport/ssu.html:84
msgid "Protocol Details"
msgstr "Detalhes do Protocolo"
-#: i2p2www/pages/site/docs/transport/ssu.html:87
+#: i2p2www/pages/site/docs/transport/ssu.html:86
msgid "Congestion control"
msgstr "Controle de congestionamento"
-#: 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"
@@ -12571,7 +12571,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"
@@ -12583,7 +12583,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\n"
@@ -12596,48 +12596,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12645,14 +12645,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12660,11 +12660,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 "Limites do Tamanho da Mensagem"
-#: 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 128.\n"
@@ -12676,11 +12676,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 "Chaves"
-#: 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"
@@ -12689,7 +12689,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"
@@ -12699,7 +12699,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"
"with all established sessions - if there are matches,\n"
@@ -12711,7 +12711,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"
@@ -12723,7 +12723,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"
@@ -12731,18 +12731,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"
@@ -12750,7 +12750,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"
@@ -12759,11 +12759,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 "Endereçamento"
-#: 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"
@@ -12771,41 +12771,41 @@ 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 "Estabelecimento de Sessão Direta"
-#: 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 "Estabelecimento de conexão (direto)"
-#: 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 "Alice conecta diretamente ao Bob.\nIPv6 é suportado desde a versão 0.9.8."
-#: 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"
@@ -12816,7 +12816,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"
@@ -12826,7 +12826,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12834,7 +12834,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 now)\n"
@@ -12849,7 +12849,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"
@@ -12869,26 +12869,26 @@ 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 "Testando o Par"
-#: 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"
@@ -12897,7 +12897,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"
@@ -12907,7 +12907,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"
@@ -12917,7 +12917,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"
@@ -12929,7 +12929,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"
@@ -12940,7 +12940,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"
@@ -12948,7 +12948,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"
@@ -12959,7 +12959,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"
@@ -12968,11 +12968,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"
@@ -12982,7 +12982,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 specified\n"
@@ -12995,11 +12995,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 "Segurança"
-#: 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"
@@ -13008,105 +13008,105 @@ 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 "Capacidades do Par"
-#: 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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 "Diagrama de Implementação"
-#: 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/i2p2www/translations/pt_BR/LC_MESSAGES/get-involved.po b/i2p2www/translations/pt_BR/LC_MESSAGES/get-involved.po
index f7f87216..d5f8a55b 100644
--- a/i2p2www/translations/pt_BR/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/pt_BR/LC_MESSAGES/get-involved.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: blueboy\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -312,40 +312,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "Plano de ação"
-#: i2p2www/pages/site/get-involved/roadmap.html:3
-msgid "March 2018"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "Janeiro de 2016"
-#: 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 "Rotas totalmente restritas"
-#: 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 "Tempo de retardo de mensagens definido pelo usuário"
-#: 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 "Por favor, dê uma olhada na lista POR FAZER para informações mais detalhadas sobre essas tarefas."
+#: 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 ""
@@ -1974,6 +1999,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 "Chave de assinatura de lançamento"
@@ -2110,10 +2143,6 @@ msgstr ""
msgid "Developer Guidelines and Coding Style"
msgstr "Diretrizes para os desenvolvedores e Estilo de código"
-#: 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."
@@ -2980,57 +3009,61 @@ msgstr ""
msgid "New Developer's Guide"
msgstr "Guia para novos desenvolvedores"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:5
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+#: 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:32
msgid "Basic study"
msgstr "Estudo básico"
-#: 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:7
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:46
msgid "Getting the I2P code"
msgstr "Baixando o código-fonte da I2P"
-#: 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 "Compilando a I2P"
-#: 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 "Idéias para desenvolver"
-#: 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 "Tornando os resultados disponíveis"
-#: 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 "Venha nos conhecer!"
-#: 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 "Traduções"
-#: 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 "Ferramentas"
-#: 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"
@@ -3038,7 +3071,7 @@ msgid ""
"on contributing to the website or the software, doing development or creating translations."
msgstr "\nEntão você quer começar a trabalhar na I2P? Ótimo!\nEis aqui um guia rápido para ajudá-lo a começar\na contribuir com o site web ou com o software, desenvolvendo ou traduzindo."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:26
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
#, python-format
msgid ""
"\n"
@@ -3046,13 +3079,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3062,28 +3095,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3092,106 +3125,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 "Anonimamente:"
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
msgid "Non-anonymously:"
msgstr "Sem anonimato:"
-#: 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3201,21 +3234,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3224,67 +3257,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 "use uma frase secreta em branco"
-#: 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 "forneça uma frase secreta"
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr "Tradutores do painel do roteador e do site na web: Deem uma olhada em Guia para novos tradutores para os próximos passos."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3293,7 +3326,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/pt_BR/LC_MESSAGES/priority.po b/i2p2www/translations/pt_BR/LC_MESSAGES/priority.po
index db6ba119..dcb0c66a 100644
--- a/i2p2www/translations/pt_BR/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/pt_BR/LC_MESSAGES/priority.po
@@ -17,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: blueboy\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -74,29 +74,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Os pacotes Debian\nforam testados e devem funcionar em plataformas x86/x86_64 que executam:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (versão Precise Pangolin 12.04 ou posteriores)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy e mais novo)"
-#: 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 report any issues\n"
@@ -104,73 +103,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Os pacotes I2P podem funcionar em sistemas que não estão listados abaixo. Por favor, reporte qualquer problema\ncom esses pacotes no Trac em http://trac.i2p2.de."
-#: 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 "Opção 1: Versões recentes do Ubuntu e derivados (Tente isto se você não está usando o Debian)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Opção 2: Debian (incluindo derivados do Debian)"
-#: 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 "Adicionando o PPA via linha de comando e instalando a I2P"
-#: i2p2www/pages/downloads/debian.html:39
+#: i2p2www/pages/downloads/debian.html:38
msgid "Open a terminal and enter:"
msgstr "Abra um terminal e digite:"
-#: 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 "Este comando irá adicionar o PPA a /etc/apt/sources.list.d e recupear a chave gpg com a qual o repositório foi assinado. A chave GPG serve para assegurar que o pacote não foi adulterado quando da sua compilação."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "Informe o seu gerenciador de pacotes sobre o novo PPA, digitando:"
-#: 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 "Este comando retornará a última lista de software de cada\nrepositório autorizado no seu sistema, incluindo o PPA da I2P que\nfoi adicionado com o comando anterior."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "Você já está pronto para instalar a I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Adicionando o PPA usando o Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Abra o Synaptic (Sistema -> Administração -> Gerenciador de pacotes Synaptic)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Uma vez que o Synaptic esteja aberto, selecione Repositórios no menu Configuração."
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "Clique na aba Outras fontes e em Adicionar. Copie e cole ppa:i2p-maintainers/i2p
no campo linha-APT e clique em Adicionar fonte. Clique no botão Fechar e, em seguida, em Recarregar."
-#: 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 "
@@ -179,85 +178,105 @@ msgid ""
" Mark then Apply."
msgstr "Na caixa Filtro Rápido, digite i2p
e pressione enter. Uma vez que i2p
tenha aparecido na lista de resultados, clique com o botão direito em i2p
e selecione Marcar para instalação. Feito isso, você deve ver um popup Marcar alterações adicionais necessárias?. Se isso ocorrer, clique em Marcar e então em Aplicar."
-#: 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 "Uma vez que o processo de instalação tenha sido completado, você pode ir para a próxima\nparte de iniciando e configurar o software I2P de acordo com o seu sistema."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instruções para o Debian"
-#: 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\")."
-msgstr "Nota: Os passos abaixo devem ser realizados com acesso root (i.e., alternando\no usuário para root com \"su\" ou adicionando o prefixo \"sudo\" em cada comando)."
+"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
."
-msgstr "Adicionar linhas como as seguintes a %(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:"
-msgstr "Baixar a chave usada para assinar o repositório e adicioná-lo ao 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 "Notifique o seu gerenciador de pacotes a respeito do novo repositório digitando"
-#: 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 step\n"
"1."
msgstr "Esse comando irá recuperar a última lista de softwares de qualquer\nrepositório ativado em seu sistema, incluindo o repositório I2P adicionado no passo\n1."
-#: 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 "Você agora está pronto para instalar o I2P! Instalando o pacote chaveiro-i2p
ira garantir que você receba atualizações para a chave GPG do repositório."
-#: 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 "Uma vez que o processo de instalação tenha terminado, você pode avançar para inicializando a I2P e configurando-a para o seu sistema."
-#: 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 "Alterar o endereço do repositório para http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Trabalho pós-instalação"
-#: 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 "Usando estes pacotes da I2P o roteador I2P pode ser inicializado das três maneiras seguintes:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""sob demanda" usando o script i2prouter. Simplesmente digite "i2prouter\nstart
" na interface de linha de comandos. (Nota: Não usar\n\"sudo\" ou executá-lo como root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -265,14 +284,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""on demand" sem o java service wrapper\n\n(necessário em sistemas não-Linux/não-x86) executando \"i2prouter-nowrapper
\".\n\n(Nota: Não\nuse sudo nem execute como root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "como um serviço que se inicia automaticamente com a inicialização do sistema, mesmo\nantes de logar-se. O serviço pode ser ativado com \"dpkg-reconfigure\ni2p
como usuário root ou usando 'sudo'. Essa é a forma recomendada de operação."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -280,14 +299,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Ao instalar pela primeira vez, por favor lembre-se de ajustar o NAT/firewall se você puder. As portas a serem encaminhadas podem ser encontradas na página de configuração de rede no console do roteador. Se for necessário uma orientação a respeito do encaminhamento de portas, você pode encontrar no portforward.com, pode ser útil."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Por favor, reveja e ajuste as configurações da banda larga na\npágina de configurações,\numa vez que os valores pré-definidos 96 KB/s para download / 40 KB/s para upload são relativamente conservadores."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/pt_BR/LC_MESSAGES/research.po b/i2p2www/translations/pt_BR/LC_MESSAGES/research.po
index 2db954f9..758c1f63 100644
--- a/i2p2www/translations/pt_BR/LC_MESSAGES/research.po
+++ b/i2p2www/translations/pt_BR/LC_MESSAGES/research.po
@@ -1,251 +1,284 @@
-# Portuguese (Brazil) translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# blueboy, 2013
# blueboy, 2014-2016
+# blueboy, 2013
msgid ""
msgstr ""
-"Project-Id-Version: I2P\n"
+"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2016-05-17 04:37+0000\n"
-"Last-Translator: blueboy\n"
-"Language-Team: Portuguese (Brazil) "
-"(http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"POT-Creation-Date: 2018-06-24 13:48+0000\n"
+"PO-Revision-Date: 2018-06-24 18:45+0000\n"
+"Last-Translator: Alecsandro F Silva\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/I2P/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: i2p2www/pages/site/research/index.html:2
msgid "Academic Research"
msgstr "Pesquisa acadêmica"
#: i2p2www/pages/site/research/index.html:3
-msgid "February 2016"
-msgstr "Fevereiro de 2016"
-
-#: i2p2www/pages/site/research/index.html:5
-msgid ""
-"Academic research and analysis of I2P is an important part of ensuring "
-"that the software and network performs as expected and is safe for users "
-"in hostile environments."
+#: i2p2www/pages/site/research/questions.html:3
+msgid "May 2018"
msgstr ""
-"A pesquisa acadêmica e a análise da I2P é uma parte importante para "
-"assegurar que o desempenho do software e da rede são os esperados, bem "
-"como a segurança dos usuários em ambientes hostis."
-#: i2p2www/pages/site/research/index.html:9
+#: i2p2www/pages/site/research/index.html:6
+msgid "Introduction"
+msgstr "Introdução"
+
+#: i2p2www/pages/site/research/index.html:8
+msgid "Research on the I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:10
+msgid ""
+"I2P is a very unique project that unfortunately has not received the wider\n"
+"academic attention it deserves. To date, most research focus on anonymous and\n"
+"onion-routing technology has been around Tor, and while those papers benefit us\n"
+"as well, there is a great need for I2P-focused research. This plays a key role\n"
+"in both maintaining the security and integrity of the network, as well as\n"
+"opening doors for more impactful future development."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:19
#, python-format
msgid ""
"\n"
-"Recent events have prompted anonymity projects to provide specific "
-"guidelines\n"
-"for responsible research.\n"
-"We endorse the Tor Ethical Research Guidelines "
-"and incorporate them here.\n"
-"Please follow the Tor guidelines when researching I2P as well.\n"
-msgstr ""
-
-#: i2p2www/pages/site/research/index.html:16
-#, python-format
-msgid ""
-"\n"
-"There is a large research community investigating a wide range of aspects"
-" of\n"
-"anonymity. For a current and comprehensive list of relevant papers, see "
-"the\n"
+"There is a large research community investigating a wide range of aspects of\n"
+"anonymity. For a current and comprehensive list of relevant papers, see the\n"
"Free Haven Anonymity Bibliography.\n"
-"I2P benefits from much of the research into Tor and onion routing, but "
-"there is\n"
-"little dedicated research interest into the theory behind I2P, and the "
-"choices\n"
-"and tradeoffs that the network makes. This presents a unique opportunity "
-"for\n"
+"I2P benefits from much of the research into Tor and onion routing, but there is\n"
+"little dedicated research interest into the theory behind I2P, and the choices\n"
+"and tradeoffs that the network makes. This presents a unique opportunity for\n"
"original research.\n"
-msgstr ""
-"\n"
-"Há uma enorme comunidade de pesquisa investigando uma ampla variedade de "
-"aspectos do anonimato. Para uma lista abrangente e atual de artigos "
-"relevantes, dê uma olhada na Bibliografia sobre "
-"anonimato do Free Haven.\n"
-"A I2P se beneficia da maioria da pesquisa feita no Tor e sobre o "
-"roteamento cebola, mas há pouco esforço de pesquisa dedicado aos tópicos "
-"teóricos por trás da I2P, e às escolhas e compromissos que a rede faz. "
-"Isso apresenta uma oportunidade única para pesquisa nova e original.\n"
+msgstr "\nHá uma enorme comunidade de pesquisa investigando uma ampla variedade de aspectos do anonimato. Para uma lista abrangente e atual de artigos relevantes, dê uma olhada na Bibliografia sobre anonimato do Free Haven.\nA I2P se beneficia da maioria da pesquisa feita no Tor e sobre o roteamento cebola, mas há pouco esforço de pesquisa dedicado aos tópicos teóricos por trás da I2P, e às escolhas e compromissos que a rede faz. Isso apresenta uma oportunidade única para pesquisa nova e original.\n"
-#: i2p2www/pages/site/research/index.html:26
+#: i2p2www/pages/site/research/index.html:29
#, python-format
msgid ""
"A list of known published papers about I2P is available here."
-msgstr ""
-"Uma lista de publicações conhecidas sobre a I2P encontra-se disponível aqui."
-
-#: i2p2www/pages/site/research/index.html:30
-#, python-format
-msgid ""
-"\n"
-"See also the Tor Research Home Page for general "
-"guidance and links.\n"
-msgstr ""
+msgstr "Uma lista de publicações conhecidas sobre a I2P encontra-se disponível aqui."
#: i2p2www/pages/site/research/index.html:34
-msgid "Testing Attacks on I2P"
-msgstr "Testando ataques sobre a I2P"
-
-#: i2p2www/pages/site/research/index.html:36
msgid ""
-"I2P can be run as a separate test network by controlling the locations "
-"that a new router reseeds from so that it only finds other test routers."
+"\n"
+"This page aims to outline the most needed fields of research, notes to\n"
+"potential researchers, our general safety guidelines as well as an expanding\n"
+"list of open questions that you can begin on at any time.\n"
msgstr ""
-"Pode-se montar uma versão de testes da I2P em separado, controlando-se os"
-" locais a partir dos quais um novo roteador propaga de modo a encontrar "
-"apenas outros roteadores de teste."
#: i2p2www/pages/site/research/index.html:40
-msgid ""
-"The standard mode of operation is to have one JVM per router instance; "
-"hence running multiple copies of I2P on a single machine is inadvisable, "
-"both due to the potential resource drain and the certain port conflicts. "
-"To better facilitate setting up small test networks, I2P has a "
-"multirouter mode which enables multiple distinct routers to be run in the"
-" same JVM."
+msgid "Notes to Researchers:"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:42
+msgid "Defensive Research"
msgstr ""
-"O modo padrão de operação é ter uma instânca da JVM por roteador. Assim, "
-"executar múltiplas cópias do software I2P em uma única máquina é "
-"desaconselhável, tanto devido a potencial fuga e/ou esgotamento de "
-"recursos como também a determinados conflitos de portas. Para melhor "
-"facilitar a definição de pequenas redes de teste, o software I2P possui o"
-" modo multiroteador no qual é permitido que múltiplos roteadores "
-"distintos sejam executados numa mesma JVM."
#: i2p2www/pages/site/research/index.html:44
msgid ""
-"MultiRouter can be started from the i2p base directory by running the "
-"below command."
+"While all research on the I2P network is beneficial and appreciated, there are\n"
+"certain areas which are more in need than others - most so in defensive\n"
+"research. Most people enjoy coming up with fun ways to launch offensives\n"
+"against anonymous software, and this is further reinforced by the incentives in\n"
+"academic institutions. While we know it is often not the first choice for\n"
+"researchers, We would certainly appreciate any and all work towards ways to\n"
+"fortify the network!"
msgstr ""
-"O Multi-roteador pode ser iniciado a partir do diretório base da I2P "
-"executando-se o comando abaixo."
-#: i2p2www/pages/site/research/index.html:49
-msgid ""
-"Additionally, I2P can be started in a virtual network mode. This mode "
-"disables all transports, allowing the router to be tested in isolation "
-"without network traffic. To enable this mode, add "
-"i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"Adicionalmente, o roteador I2P pode ser inicializado no modo rede "
-"virtual. Este modo desabilita todo o transporte, permitindo que o "
-"roteador seja testado em isolamento sem tráfego de rede. Para permitir "
-"este modo, adicione i2p.vmCommSystem=true
ao arquivo "
-"router.config antes da inicialização."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Efetuando testes na rede I2P existente"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
-msgstr ""
-"Se você almeja conduzir experimentos com a rede I2P corrente, por favor, "
-"entre em contato conosco antes de começar os "
-"seus testes. Ainda que não desencorajamos pesquisadores de, "
-"responsavelmente, experimentar suas idéias na rede existente, se um "
-"ataque em andamento parece acontecer, sem um canal de comunicação, "
-"tomaremos contramedidas que, talvez, interfiram nos testes."
-
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Questões de pesquisa abertas"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Banco de dados da rede"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transportes"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Túneis e Destinos"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Seleção de pares"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Túneis unidirecionais"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihoming"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Roteamento de mensagens"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Fevereiro de 2016"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -257,7 +290,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -270,12 +304,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "Email"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -288,8 +321,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -309,14 +341,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -328,8 +359,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -347,19 +378,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -381,8 +411,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -391,10 +420,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -429,8 +456,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -443,11 +469,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -499,8 +527,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -508,13 +536,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -523,8 +552,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -535,33 +564,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -576,7 +600,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -605,15 +630,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -623,10 +646,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -636,8 +657,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -674,4 +694,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/ro/LC_MESSAGES/blog.po b/i2p2www/translations/ro/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..1b043739
--- /dev/null
+++ b/i2p2www/translations/ro/LC_MESSAGES/blog.po
@@ -0,0 +1,7549 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# Predator 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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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 "Securitate"
-#: 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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/ro/LC_MESSAGES/get-involved.po b/i2p2www/translations/ro/LC_MESSAGES/get-involved.po
index 5646fc1c..0e142be2 100644
--- a/i2p2www/translations/ro/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/ro/LC_MESSAGES/get-involved.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "Foaia de parcurs"
-#: 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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 "Traduceri"
-#: 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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/ro/LC_MESSAGES/priority.po b/i2p2www/translations/ro/LC_MESSAGES/priority.po
index a33dfffa..06908f10 100644
--- a/i2p2www/translations/ro/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/ro/LC_MESSAGES/priority.po
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: drazvan\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -75,29 +75,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Pachetele Debian au fost testate și ar trebui sa lucreze pe platforme x86/x86_64:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (exact 12.04 si mai nou)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy si mai recent)"
-#: 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 report any issues\n"
@@ -105,73 +104,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Pachetele I2P pot sa lucreze si pe sisteme ce nu sunt enumerate mai sus.Vă rugăm să raportați orice probleme cu aceste pachete peTracpe\nhttps://%(trac)s."
-#: 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 "Optiune 1:Versiunile recente Ubuntu si derivațiile lui (Incercați dacă nu folosiți Debian)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Optiune 2: Debian (inclusiv derivații-Debian)"
-#: 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 "Adăugați PPA prin linia de comandă si instalați I2P"
-#: i2p2www/pages/downloads/debian.html:39
+#: i2p2www/pages/downloads/debian.html:38
msgid "Open a terminal and enter:"
msgstr "Deschideți terminal si introduceți:"
-#: 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 "Această comandă va adăuga PPA la / etc / apt / sources.list.d și va descărca\ncheia GPG cu care depozitul a fost semnat . Cheia GPG asigură\ncă pachetele nu au fost falsificate de când au fost construite."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "Anuntă managerul de pachete despre noul PPA prin introducerea:"
-#: 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 "Această comandă va prelua cea mai recentă listă a software-ului de la fiecare\ndepozit, care este activat pe sistemul dumneavoastră, inclusiv I2P PPA care\na fost adaugată cu comanda anterioară."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "Acum sunteți gata să instalați I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Adăugarea PPA folosind Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Deshideți Synaptic (Sistem -> Administration -> Synaptic Package Manager)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "După ce se deschide Synaptic, selectați Repositories din meniul Settings ."
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "Click pe Other Sources tab și click Add. Lipește ppa:i2p-maintainers/i2p
în cimpul APT-linie și clickAdd Sourceclick pe butonul Close apoi Reload."
-#: 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 "
@@ -180,85 +179,105 @@ msgid ""
" Mark then Apply."
msgstr "In caseta Filtru Rapid, tapați în i2p
și apasați enter. Cîndi2p
va fi returnat în lista de rezultate, faceți click dreapta i2p
și selectațiMarchează pentru instalare. După ce faceți aceasta puteți vedea pop-upul cu textul: Marchează modificările necesare suplimentare? Dacă este așa click Marchează apoi Aplică."
-#: 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 "După ce procesul de instalare se încheie puteți trece la\nurmătoarea parte din pornirea I2P și să îl configurezi pentru sistemul tău."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instrucțiuni pentru Debian"
-#: 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\")."
-msgstr "Notă: Pașii de mai jos ar trebui să fie efectuați cu acces root (de exemplu, comutarea la utilizatorul root cu \"su\" sau prin prefixarea fiecărei comenzi cu \"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
."
-msgstr "Adaugă linii, cum ar fi cele ce urmează la %(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:"
-msgstr "Descărcați cheia utilizată pentru semnarea depozitului software a sistemului dvs. și adăugați-o în 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 "Notifică managerul tău de pachete despre noul depozit software prin introducerea"
-#: 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 step\n"
"1."
msgstr "Această comandă va prelua cea mai recentă listă a software-ului de la fiecare\ndepozit, care este activat pe sistemul dumneavoastră, inclusiv depozitul I2P adăugat in pasul 1."
-#: 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 "Acum sunteți gata să instalați I2P! Instalarea pachetului I2P-keyring
vă asigura că veți primi actualizări semnate cu cheia GPG a depozitului software."
-#: 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 "După ce procesul de instalare se încheie puteți trece la următoarea parte din pornind I2P și să îl configurezi pentru sistemul tău."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Notă: dacă adresa https nu funcționează, fie:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Schimbați adresa repozitorului la http://deb.i2p2.no/"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Muncă post-instalare"
-#: 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 "Folosind aceste pachete I2P router-ul I2P poate fi pornit în următoarele\ntrei moduri:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""la cerere" folosiți scriptul i2prouter. Porniți simplu "start i2prouter
" din promptul de comandă. (Notă: nu folosiți\nsudo și nu îl rulați ca și utilizator root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -266,14 +285,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""la cerere" fără java service wrapper\n(necesar pe sisteme non-Linux/non-x86 ) prin rularea \"i2prouter-nowrapper
\".\n(Notă: Nu\nfolositi sudo și nu îl rulați ca și utilizator root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "ca un serviciu care rulează automat la incărcarea sistemului, chiar\nînainte de a vă autentifica. Serviciul poate fi activat cu \"dpkg-reconfigure\nI2P
\"ca root sau utilizînd comanda sudo. Acesta este mijlocul recomandat de funcționare."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -281,14 +300,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "Când instalați pentru prima dată, vă rugăm să nu uitați să vă setați NAT-ul/firewall-ul dacă puteți.Porturile pentru inaintare pot fi găsite în pagina de configurare a rețeleidin consola router-ului. Dacă este nevoie de îndrumare în ceea ce privește porturile de înaintare, poate găsiți portforward.com ca fiind folositor."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Vă rugăm să examinați și să adaptați setările de lățime de bandăla \npagina de configurare\ndeoarece setările implicite de descărcare de / 96 KB/s și 40 KB/s de încărcare sunt destul de conservatoare."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/ro/LC_MESSAGES/research.po b/i2p2www/translations/ro/LC_MESSAGES/research.po
index 9f818627..ce23f445 100644
--- a/i2p2www/translations/ro/LC_MESSAGES/research.po
+++ b/i2p2www/translations/ro/LC_MESSAGES/research.po
@@ -1,231 +1,270 @@
-# Romanian translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# pol polearnik i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"În plus, I2P poate fi pornit într-un mod special - rețea virtuală. Acest "
-"mod dezactivează toate transporturile, care permite router-ul să fie "
-"testat în mod izolat, fără trafic din rețea. Pentru a activa acest mod, "
-"adaugati i2p.vmCommSystem = true code> în router.config înainte "
-"de a începe."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Testarea I2P rețelei Live"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
-msgstr ""
-"Dacă planificați efectuarea cercetărilor de rețea I2P , vă rugăm să contactați-ne înainte de a începe testarea "
-"sa. In timp ce noi nu descurajam cercetatori de la testarea responsabila "
-"a ideilor lor cu privire la rețeaua de viu, în cazul în care un atac "
-"devine evident și nu avem nici o linie de comunicare, atunci vom sfârși "
-"prin luarea contramăsurilor care ar putea interfera cu testul."
-
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"\n"
+" - \n"
+" Consider the benefits and risks - is there any doubt that the research\n"
+" provides more value than danger?\n"
+"
\n"
+" - \n"
+" If the research can be done on a test network then that is the preferred\n"
+" method\n"
+"
\n"
+" - \n"
+" If you must operate on the live network, the safest route is only\n"
+" collecting data about yourself\n"
+"
\n"
+" - \n"
+" If you need 'bigger data', It is recommended to first see if you can use\n"
+" data sets from previous experiments or other third party resources is\n"
+" recommended\n"
+"
\n"
+" - \n"
+" If you must collect data on the live network, ensure it is safe for\n"
+" publication and collect as little as possible\n"
+"
\n"
+" - \n"
+" After testing and before publish, review that all data which is to be\n"
+" published publicly is not intended to be private by the\n"
+" originator\n"
+"
\n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:106
+msgid "Using a Test Network to Attack I2P"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:108
+msgid ""
+"I2P can be run as a separate test network by controlling the locations that a\n"
+"new router reseeds from so that it only finds other test routers.\n"
+"\n"
+"The standard mode of operation is to have one JVM per router instance; hence\n"
+"running multiple copies of I2P on a single machine is inadvisable, both due to\n"
+"the potential resource drain and the certain port conflicts. To better\n"
+"facilitate setting up small test networks, I2P has a multirouter mode which\n"
+"enables multiple distinct routers to be run in the same JVM.\n"
+"\n"
+"MultiRouter can be started from the i2p base directory by running the below\n"
+"command."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:124
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode disables\n"
+"all transports, allowing the router to be tested in isolation without network\n"
+"traffic. To enable this mode, add i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "întrebări de cercetare deschise"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Baza de date a rețelei"
#: i2p2www/pages/site/research/questions.html:6
-msgid "Transports"
+msgid "Floodfills"
msgstr ""
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:19
+msgid "Transports"
+msgstr "Transporturi"
+
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Tuneluri și Destinații"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Selectarea partenerului"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Tuneluri unidirecționale"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihoming"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr ""
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
@@ -237,8 +276,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -250,7 +288,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -263,12 +302,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "Email"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -281,8 +319,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -302,14 +339,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -321,8 +357,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -340,19 +376,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -374,8 +409,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -384,10 +418,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -422,8 +454,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -436,11 +467,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -492,8 +525,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -501,13 +534,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -516,8 +550,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -528,33 +562,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -569,7 +598,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -598,15 +628,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -616,10 +644,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -629,8 +655,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -667,4 +692,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/ru/LC_MESSAGES/blog.po b/i2p2www/translations/ru/LC_MESSAGES/blog.po
index e62d57b5..485d0f55 100644
--- a/i2p2www/translations/ru/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/ru/LC_MESSAGES/blog.po
@@ -25,9 +25,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: ValdikSS \n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Filipp Chertiev \n"
"Language-Team: Russian (Russia) (http://www.transifex.com/otf/I2P/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -109,7 +109,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 "ПОДРОБНОСТИ РЕЛИЗА"
@@ -166,7 +167,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 "Исправлены ошибки"
@@ -213,7 +215,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 "Другое"
@@ -261,7 +264,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 "Контрольные суммы SHA256"
@@ -418,7 +422,7 @@ msgstr "Wrapper обновлен до 3.5.15 (для новых инсталля
#: 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 "Обновлены данные GeoIP (для новых инсталляций и PPA)"
@@ -1674,7 +1678,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 "Обновления переводов"
@@ -1837,7 +1842,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."
@@ -2646,7 +2652,8 @@ msgstr "Мы поддерживаем подписи ECDSA с версии 0.9.1
#: 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 "Изменения"
@@ -4602,7 +4609,8 @@ msgstr "Если вы устанавливали I2P через менеджер
#: 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"
"=============="
@@ -5064,7 +5072,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 "`Полный список исправленных ошибок`"
@@ -6652,6 +6661,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 ""
@@ -7064,12 +7074,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 ""
@@ -7085,107 +7095,472 @@ 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 ""
+msgstr "0.9.35 с поддержкой папок в SusiMail и мастером настройки SSL"
-#: 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 ""
+msgstr "Версия 0.9.35 привносит поддержку папок в SusiMail и новый мастер SSL Wizard для настройки HTTPS у скрытых сервисов.\nТакже в релизе исправлены множественные ошибки, особенно в SusiMail."
-#: 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 ""
+msgstr "Мы работаем над релизом 0.9.36, включающим новый установщик для OSX и новый, более быстрый и защищенный протокол с названием NTCP2."
-#: 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 ""
+msgstr "I2P будет на HOPE (Hackers On Planet Earth, конференция) в Нью-Йорке, 20-22 июля. Приходите знакомиться!"
-#: 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 "0.9.36 с NTCP2 и исправлениями багов"
+
+#: 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/i2p2www/translations/ru/LC_MESSAGES/comparison.po b/i2p2www/translations/ru/LC_MESSAGES/comparison.po
index 9c8adb7e..f73ce8e3 100644
--- a/i2p2www/translations/ru/LC_MESSAGES/comparison.po
+++ b/i2p2www/translations/ru/LC_MESSAGES/comparison.po
@@ -1,7 +1,7 @@
-# Russian translations for I2P.
-# Copyright (C) 2017 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# Aleksey Orekhov , 2013
# Алексей Выскубов , 2016
@@ -10,20 +10,18 @@
# Filipp Chertiev , 2017
msgid ""
msgstr ""
-"Project-Id-Version: I2P\n"
+"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2017-09-19 18:21+0000\n"
-"Last-Translator: Filipp Chertiev \n"
-"Language-Team: Russian (Russia) "
-"(http://www.transifex.com/otf/I2P/language/ru_RU/)\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) "
-"|| (n%100>=11 && n%100<=14)? 2 : 3)\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Russian (Russia) (http://www.transifex.com/otf/I2P/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
+"Language: ru_RU\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: i2p2www/pages/site/comparison/freenet.html:2
msgid "I2P Compared to Freenet"
@@ -31,88 +29,39 @@ msgstr "I2P в сравнении с Freenet"
#: i2p2www/pages/site/comparison/freenet.html:8
msgid ""
-"Freenet is a fully distributed, peer to peer anonymous publishing "
-"network, offering \n"
-"secure ways to store data, as well as some approaches attempting to "
-"address the loads\n"
-"of a flash flood. While Freenet is designed as a distributed data store,"
-" people have\n"
-"built applications on top of it to do more generic anonymous "
-"communication, such as \n"
+"Freenet is a fully distributed, peer to peer anonymous publishing network, offering \n"
+"secure ways to store data, as well as some approaches attempting to address the loads\n"
+"of a flash flood. While Freenet is designed as a distributed data store, people have\n"
+"built applications on top of it to do more generic anonymous communication, such as \n"
"static websites and message boards."
-msgstr ""
-"Freenetn это полностью распределенная, точка-точка, анонимная сеть для "
-"публикации, предоставляющая безопасный способ хранить данные, как и "
-"некоторые подходы, позволяющие обрабатывать нагрузки\n"
-"в пиках. Хотя Freenet разработан как распределенное хранилище, "
-"пользователи сделали\n"
-"приложения поверх него, которые позволяют другие формы взаимодействия, "
-"такие как статичные\n"
-"веб-сайты и доски сообщений."
+msgstr "Freenetn это полностью распределенная, точка-точка, анонимная сеть для публикации, предоставляющая безопасный способ хранить данные, как и некоторые подходы, позволяющие обрабатывать нагрузки\nв пиках. Хотя Freenet разработан как распределенное хранилище, пользователи сделали\nприложения поверх него, которые позволяют другие формы взаимодействия, такие как статичные\nвеб-сайты и доски сообщений."
#: i2p2www/pages/site/comparison/freenet.html:16
#, python-format
msgid ""
-"Compared to I2P, Freenet offers some substantial benefits - it is a "
-"distributed data\n"
-"store, while I2P is not, allowing people to retrieve the content "
-"published by others \n"
-"even when the publisher is no longer online. In addition, it should be "
-"able to \n"
-"distribute popular data fairly efficiently. I2P itself does not and will"
-" not provide \n"
-"this functionality. On the other hand, there is overlap for users who "
-"simply want to \n"
-"communicate with each other anonymously through websites, message boards,"
-" file sharing\n"
-"programs, etc. There have also been some attempts to develop a "
-"distributed data \n"
+"Compared to I2P, Freenet offers some substantial benefits - it is a distributed data\n"
+"store, while I2P is not, allowing people to retrieve the content published by others \n"
+"even when the publisher is no longer online. In addition, it should be able to \n"
+"distribute popular data fairly efficiently. I2P itself does not and will not provide \n"
+"this functionality. On the other hand, there is overlap for users who simply want to \n"
+"communicate with each other anonymously through websites, message boards, file sharing\n"
+"programs, etc. There have also been some attempts to develop a distributed data \n"
"store to run on top of I2P,\n"
"(most recently a port of Tahoe-LAFS)\n"
"but nothing is yet ready for general use."
-msgstr ""
-"По сравнению с I2P, Freenet имеет некоторые преимущества - это "
-"распределенное хранилище\n"
-"данных, чем I2P не является, позволяющее людям обмениваться данными, даже"
-" если оригинальный\n"
-"автор более недоступен. Также сеть позволяет эффективно распределять "
-"даынные. I2P сам по себе не имеет и не будет иметь такой функции. С "
-"другой стороны, здесь есть недостаток для пользователей, которые просто "
-"хотят анонимно общаться через веб-сайты, доски объявлений, программы "
-"файлообмена и т.д\n"
-"В I2P есть варианты реализации таких функций с помошью специальных "
-"приложений (a href=\"%(tahoe)s\">Tahoe-LAFS
X = g^x mod "
"p
."
msgstr "Алиса генерирует секретное целое число x. Она высчитывает его как X = g^x mod p
."
-#: 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 "Алиса посылает X Бобу (Сообщение 1)."
-#: 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 "Боб генерирует секретное целое число y. Он высчитывает его как Y = g^y mod p
."
-#: 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 "Боб посылает Y Алисе.(Сообщение 2)"
-#: 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 and Message 4.\n"
@@ -12218,11 +12219,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 "Сообщение 1 (Запрос сессии)"
-#: 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"
@@ -12234,157 +12235,157 @@ 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 "Сообщение 2 (Сессия создана)"
-#: 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 "4 байта таймштампа (секунд с начала эпохи)"
-#: i2p2www/pages/site/docs/transport/ntcp.html:282
+#: i2p2www/pages/site/docs/transport/ntcp.html:281
msgid "12 bytes random data"
msgstr "12 байт случайных данных"
-#: 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 session key and\n"
" 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 "Сообщение 3 (Подтверждение сессии А)"
-#: 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 "0-15 байт случайных данных"
-#: 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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 "Сообщение 4 (Подтверждение сессии Б)"
-#: 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12392,21 +12393,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12414,11 +12415,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12428,58 +12429,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 "1 байт размера"
-#: 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 "Проверка соединений полностью отключено с выпуска 0.9.12."
-#: 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 \n"
@@ -12488,13 +12489,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?"
@@ -12508,71 +12509,70 @@ msgstr "Secure Semireliable UDP"
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is dropped."
msgstr ""
-#: i2p2www/pages/site/docs/transport/ssu.html:25
+#: i2p2www/pages/site/docs/transport/ssu.html:24
msgid "SSU Services"
msgstr "Службы SSU"
-#: 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12580,7 +12580,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"
@@ -12592,7 +12592,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\n"
@@ -12605,48 +12605,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12654,14 +12654,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12669,11 +12669,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 128.\n"
@@ -12685,11 +12685,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"
@@ -12698,7 +12698,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"
@@ -12708,7 +12708,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"
"with all established sessions - if there are matches,\n"
@@ -12720,7 +12720,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"
@@ -12732,7 +12732,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"
@@ -12740,18 +12740,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"
@@ -12759,7 +12759,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"
@@ -12768,11 +12768,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"
@@ -12780,41 +12780,41 @@ 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"
@@ -12825,7 +12825,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"
@@ -12835,7 +12835,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12843,7 +12843,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 now)\n"
@@ -12858,7 +12858,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"
@@ -12878,26 +12878,26 @@ 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"
@@ -12906,7 +12906,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"
@@ -12916,7 +12916,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"
@@ -12926,7 +12926,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"
@@ -12938,7 +12938,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"
@@ -12949,7 +12949,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"
@@ -12957,7 +12957,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"
@@ -12968,7 +12968,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"
@@ -12977,11 +12977,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"
@@ -12991,7 +12991,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 specified\n"
@@ -13004,11 +13004,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"
@@ -13017,105 +13017,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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 "Теперь на странице спецификации SSU"
diff --git a/i2p2www/translations/ru/LC_MESSAGES/get-involved.po b/i2p2www/translations/ru/LC_MESSAGES/get-involved.po
index 01fba67a..2d48b9d4 100644
--- a/i2p2www/translations/ru/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/ru/LC_MESSAGES/get-involved.po
@@ -17,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Aleksey Orekhov ~/.monotone/monotonerc
(or "
"_MTN/monotonerc
in the i2p.i2p workspace) with the following "
"contents:"
msgstr "Определите список доверия, создав ~/.monotone/monotonerc
(или _MTN/monotonerc
в workspace i2p.i2p) со следующим содержимым:"
-#: 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database with mtn -d i2p.mtn read < keys.txt
"
msgstr "Скопируйте и вставьте commit ключи разработчиков в новый файл (например, keys.txt
) в той же директории, \nгде находится i2p.mtn
. Импортируйте ключи в вашу базу данных с mtn -d i2p.mtn read < keys.txt
"
-#: 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 "Выгрузите исходники I2P на ваш компьютер. Это может занять много времени, особенно, если вы делаете это через I2P!"
-#: 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 "Команда выше создает директорию i2p.i2p, которая содержит все исходники I2P."
-#: 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 "\nЧтобы загрузить файлы веб-сайта вместо файлов исходников I2P, используйте 'i2p.www' вместо 'i2p.i2p'."
-#: 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 left off.\n"
"If you are in a hurry, use the non-anonymous access."
msgstr "Начальная выгрузка может занять несколько часов при использовании туннеля.\nЕсли она прервется после частичной выгрузки, просто перезапустите ее, она продолжится с прерванного.\nЕсли вы торопитесь, используйте не анонимный доступ."
-#: 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 "Полный список веток, включая i2p.i2p и i2p.www, можно найти на viewmtn."
-#: 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 "Длинное описание использования monotone доступно на странице monotone."
-#: 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, or equivalent JDK\n"
@@ -3208,21 +3241,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
msgstr "Чтобы упростить создание кода, вам понадобится Sun Java Development Kit 6 или выше, ли подобный JDK\n(Sun JDK 6 настоятельно рекомендуется) и\nApache ant\nверсии 1.7.0 или выше.\nЕсли вы работаете над основным кодом I2P, вы можете зайти в директорию i2p.i2p и запустить 'ant', чтобы увидеть опции сборки."
-#: 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 "Для сборки или работы на переводами консоли, вам нужны \nсредства xgettext, msgfmt и msgmerge из \nпакета GNU gettext."
-#: 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 "Для разработки новый приложений, \nсмотри руководство по разработке приложений."
-#: 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"
@@ -3231,67 +3264,67 @@ msgid ""
"for ideas."
msgstr "Смотри списки TODO zzz's,\nсписок TODO этого веб-сайта или\nTrac\nдля поиска идей."
-#: 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
msgstr "Необходимые привилегии для фиксации ищи в конце \nстраницы лицензий. Вам они понадобятся для размещения кода в i2p.i2p (не требуется для веб-сайта!)."
-#: 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 "отправьте это оператору mtn repo, чтобы получить привилегию на размещение"
-#: 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 "Длинная версия: смотри страницу monotone."
-#: 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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular developers."
msgstr "Разработчики общаются в IRC. Их можно найти в сети Freenode, OFTC и во внутренней сети I2P. Обычно нужно искать в #i2p-dev. Присоединитесь к каналу и скажите привет!\nТакже у нас есть дополнительные руководства для постоянных разработчиков."
-#: 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 New Translator's Guide\n"
"for next steps."
msgstr "Переводчики веб-сайта и консоли маршрутизатора: смотрите Руководство Нового Переводчика \nдля продолжения."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3300,7 +3333,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr "I2P это По с открытым исходным кодом, которое в основном разрабатывается с использованием инструментов \nс открытым исходным кодом. Проект I2P недавно приобрел лицензию на YourKit Java\nProfiler. У проектов с открытым исходным кодом есть право на получение бесплатной лицензии, гарантирующей, \nчто на веб-сайте проекта есть ссылка на YourKit. Пожалуйста, свяжитесь, если вы \nзаинтересованы в профилировании базы кодов I2P."
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/ru/LC_MESSAGES/priority.po b/i2p2www/translations/ru/LC_MESSAGES/priority.po
index b78ee210..b35b37a2 100644
--- a/i2p2www/translations/ru/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/ru/LC_MESSAGES/priority.po
@@ -30,9 +30,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: gmind\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/otf/I2P/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,29 +87,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Пакеты для Debian\nбыли протестированы и должны работать на платформах x86/x86_64 использующих:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Точнее 12.04 и новее)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy или новее)"
-#: 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 report any issues\n"
@@ -117,73 +116,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Пакеты I2P могут работать на системах не перечисленных выше. Пожалуйста сообщайте о любых проблемах\nс этими пакетами в Trac на\nhttps://trac.i2p2.de."
-#: 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 "Вариант 1: Последние версии Ubuntu и ее производные (Попробуйте, если не используете Debian)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Вариант 2: Debian (включая основанные на нем дистрибутивы)"
-#: 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 "Добавление PPA через командную строку и установка I2P"
-#: 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 "Эта команда добавит PPA в /etc/apt/sources.list.d и скачает\nключ gpg, которым подписан репозиторий. Этот ключ удостоверяет\nчто пакеты попали к вам в том же виде, как были собраны."
-#: 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 "Эта команда заберет списки последних версий из каждого\nрепозитория, что настроен для вашей системы, включая репозиторий I2P, \nкоторый мы добавили предыдущей командой."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "Теперь вы готовы к установке I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Добавление PPA, используя Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Запустите Synaptic (System -> Administration -> Synaptic Package Manager)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Как Synaptic откроется, выберите Repositories из меню Settings."
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "Кликните на закладку Other Sources и кнопку Add. Вставьте ppa:i2p-maintainers/i2p
в поле APT-line и кликните Add Source. Закройте с помощью Closeи перезапустите с помощью Reload."
-#: 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 "
@@ -192,85 +191,105 @@ msgid ""
" Mark then Apply."
msgstr "В диалоге Быстрого фильтра, наберите i2p
и нажмите Enter. Когда i2p
будет выведено в результатах, сделайте правый клик на i2p
и выберите Mark for Installation. После этого вы можете увидеть сообщение Mark additional required changes?. В таком случае, выберите Mark, а потом - Apply."
-#: 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 "После завершения установки вы можете приступать к следующей части запуска I2P и его настройки для вашей системы."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Инструкции для Debian"
-#: 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\")."
-msgstr "Внимание: Шаги перечисленные ниже должны выполняться с правами пользователя root (то есть, после переключения\nна пользователя root с помощью \"su\" или предвосхищая каждую команду префиксом \"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
."
-msgstr "Добавьте следующие строки в %(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:"
-msgstr "Скачайте ключ используемый для подписи репозитория и добавьте его в 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 step\n"
"1."
msgstr "Эта команда выполнит обновление списка ПО для каждого\nрепозитория активированного в вашей системе, включая репозиторий I2P добавленный на шаге\n1."
-#: 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 "Теперь вы готовы установить I2P! Установка пакета i2p-keyring
\nгарантирует, что вы получите обновления GPG ключей репозитория."
-#: 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 "После завершения установки вы можете приступать к следующей части запуска I2P и его настройки для вашей системы."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Внимание: Если https адрес не работает, либо:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Смените адрес репозитория на http://deb.i2p2.no/"
-
-#: 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 "Используя эти I2P пакеты, маршрутизатор может быть запущен следующими\nтремя путями:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""по требованию" используя скрипт i2prouter. Просто запустите "i2prouter\nstart
" из командной строки. (Важно: НЕ НАДО использовать\nsudo или запускать его от root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -278,14 +297,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""по требованию" без java service wrapper\n(он нужен для non-Linux/non-x86 систем), запуская \"i2prouter-nowrapper
\".\n(Важно: НЕ НАДО\nиспользовать sudo или запускать от root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "как сервис, который автоматически стартует при запуске системы, даже \nдо логина пользователя. Сервис может быть активирован командой \"dpkg-reconfigure\ni2p
\" от root или с помошью sudo. Этот вариан рекомендован для использования."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -293,14 +312,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "При первой инсталляции не забудьте поправить настройки NAT/firewall\nесли это возможно. Порты, которые нужно пробросить указаны на \nстранице конфигурации сетив консоли маршрутизатора. Если вам нужно разобраться, что такое проброс портов,\nпро это можно прочитать на portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Проверьте и поправьте настройки полосы пропускания на \nстранице настроек,\nтак как значения по умолчанию 96 KB/s down / 40 KB/s up довольно консервативны."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/ru/LC_MESSAGES/research.po b/i2p2www/translations/ru/LC_MESSAGES/research.po
index 4b114880..a3c001f5 100644
--- a/i2p2www/translations/ru/LC_MESSAGES/research.po
+++ b/i2p2www/translations/ru/LC_MESSAGES/research.po
@@ -1,287 +1,288 @@
-# Russian translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# Aleksey Orekhov i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"I2P можно также запускать в режиме виртуальной сети. Этот режим отключает"
-" все транспорты, позволяя тестировать маршрутизатор без сетевого доступа."
-" Чтобы включить такой режим, добавьме i2p.vmCommSystem=true
"
-" в router.config до запуска"
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Тестирование работающей I2P сети"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-"Если вы планируете произоводить исследования на живой I2P сети, "
-"пожалуйста, свяжитесь с нами заранее. Хотя мы"
-" не против ответственных исследователей, которые проверяют свои идеи на "
-"живой сети, если мы заметим вмешательство и у нас не будет способа "
-"связаться, исследование может быть испорчено применяемыми нами "
-"контр-мерами."
-#: i2p2www/pages/site/research/index.html:60
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
+msgid ""
+"i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
msgid "Router Family Configuration"
msgstr "Конфигурация семейства роутеров"
-#: i2p2www/pages/site/research/index.html:62
+#: i2p2www/pages/site/research/index.html:143
msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
msgstr ""
-"В релизе 0.9.25, I2P поддерживает конфигурацию семейства маршрутизаторов."
-"\n"
-"Это позволяет исследователям, управляющим несколькими маршрутизаторами с "
-"обозначением этого факта.\n"
-"В свою очередь, это поможет I2P понять что эти маршрутизаторы не "
-"участвуют в атаке на сеть.\n"
-"Это также предотвратит другие маршрутизаторы от включения нескольких "
-"маршрутизаторов одного семейства в один тоннель,\n"
-"что может повлечь деанонимизацию.\n"
-"Маршрутизаторы, замеченные в сговоре, но не состоящие в семействе могут "
-"быть заподозрены в атаке на сеть и заблокированы.\n"
-"Лучший путь к успеху вашего исследования это работа с нами."
-#: i2p2www/pages/site/research/index.html:73
+#: i2p2www/pages/site/research/index.html:155
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
-"Семейство маршрутизаторов разделяет приватный ключ, так что участие в "
-"семействе не может быть отслежено.\n"
-"Для настройки семейства маршрутизаторов, нажмите ссылку 'Настройки I2P' в"
-" консоли маршрутизатора,\n"
-"а затем вкладку 'Семейство'.\n"
-"Следуйте предложенным инструкциям для генерации приватного ключа для "
-"первого маршрутизатора семейства.\n"
-"Затем, экспортируйте ключ с маршрутизатора и импортируйте на другие члены"
-" семьи."
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Вопросы открытые для исследования"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Сетевая база данных"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Транспорты"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Туннели и Назначения"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Выбор узлов"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Однонаправленные туннели"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Множественная адресация"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Маршрутизация сообщений"
-#: i2p2www/pages/site/research/vrp.html:2
-msgid "Vulnerability Response Process"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr "Анонимность"
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
msgstr ""
+#: i2p2www/pages/site/research/vrp.html:2
+msgid "Vulnerability Response Process"
+msgstr "Процесс сообщения об уязвимости"
+
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Февраль 2016"
+msgstr "Январь 2017"
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -293,7 +294,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -306,12 +308,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "Электронная почта"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -324,8 +325,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -345,14 +345,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -364,8 +363,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -383,19 +382,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -417,8 +415,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -427,10 +424,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -465,8 +460,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -479,11 +473,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -498,7 +494,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:191
msgid "Project name and URL."
-msgstr ""
+msgstr "Название проекта и URL."
#: i2p2www/pages/site/research/vrp.html:194
msgid "Versions known to be affected."
@@ -535,8 +531,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -544,13 +540,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -559,8 +556,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -571,33 +568,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -612,7 +604,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -641,15 +634,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -659,21 +650,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:338
msgid "Continuous Improvement"
-msgstr ""
+msgstr "Непрерывное улучшение"
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -710,4 +698,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/sq/LC_MESSAGES/docs.po b/i2p2www/translations/sq/LC_MESSAGES/docs.po
index 1a3f5026..a29f4ec3 100644
--- a/i2p2www/translations/sq/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/sq/LC_MESSAGES/docs.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Albanian (http://www.transifex.com/otf/I2P/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -22,9 +22,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 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -144,7 +146,7 @@ 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:197
msgid "Configuration File Format"
msgstr ""
@@ -288,7 +290,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"
@@ -1342,7 +1344,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 ""
@@ -1876,7 +1877,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 ""
@@ -1889,7 +1890,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 ""
@@ -1906,7 +1907,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 ""
@@ -2790,7 +2791,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
@@ -2949,18 +2950,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 ""
@@ -3044,95 +3045,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3140,43 +3141,43 @@ 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 "Konfigurimi"
-#: 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3184,11 +3185,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3198,7 +3199,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3209,7 +3210,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3217,7 +3218,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 clove in a\n"
@@ -3227,11 +3228,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3245,11 +3246,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 simple choke/unchoke indication.\n"
@@ -3260,7 +3261,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3270,7 +3271,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3281,29 +3282,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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 "Mbylle"
-#: 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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3312,37 +3313,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3358,21 +3359,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3386,7 +3387,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3394,24 +3395,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 the\n"
@@ -3419,7 +3420,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3431,39 +3432,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6311,6 +6312,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"
@@ -7911,7 +7916,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 ""
@@ -11680,10 +11685,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 ""
@@ -11700,7 +11701,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
@@ -11713,21 +11714,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"
@@ -11735,11 +11741,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 RouterInfo).\n"
@@ -11747,126 +11753,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11880,85 +11886,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11966,7 +11972,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11974,7 +11980,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 Obfuscation\n"
@@ -11985,21 +11991,16 @@ 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"
@@ -12008,38 +12009,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12048,7 +12049,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12057,40 +12058,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12099,11 +12100,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 DatabaseStoreMessage.\n"
@@ -12111,42 +12112,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12154,48 +12155,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12203,11 +12204,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"
@@ -12219,157 +12220,157 @@ 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 "Shënime:"
-#: 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12377,21 +12378,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12399,11 +12400,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12413,58 +12414,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 \n"
@@ -12473,13 +12474,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?"
@@ -12493,71 +12494,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12565,7 +12565,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"
@@ -12577,7 +12577,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\n"
@@ -12590,48 +12590,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12639,14 +12639,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12654,11 +12654,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 128.\n"
@@ -12670,11 +12670,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 "Kyçe"
-#: 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"
@@ -12683,7 +12683,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"
@@ -12693,7 +12693,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"
"with all established sessions - if there are matches,\n"
@@ -12705,7 +12705,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"
@@ -12717,7 +12717,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"
@@ -12725,18 +12725,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"
@@ -12744,7 +12744,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"
@@ -12753,11 +12753,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"
@@ -12765,41 +12765,41 @@ 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"
@@ -12810,7 +12810,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"
@@ -12820,7 +12820,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12828,7 +12828,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 now)\n"
@@ -12843,7 +12843,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"
@@ -12863,26 +12863,26 @@ 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"
@@ -12891,7 +12891,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"
@@ -12901,7 +12901,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"
@@ -12911,7 +12911,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"
@@ -12923,7 +12923,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"
@@ -12934,7 +12934,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"
@@ -12942,7 +12942,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"
@@ -12953,7 +12953,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"
@@ -12962,11 +12962,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"
@@ -12976,7 +12976,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 specified\n"
@@ -12989,11 +12989,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"
@@ -13002,105 +13002,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/sq/LC_MESSAGES/get-involved.po b/i2p2www/translations/sq/LC_MESSAGES/get-involved.po
index 4519b620..0f97acae 100644
--- a/i2p2www/translations/sq/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/sq/LC_MESSAGES/get-involved.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Albanian (http://www.transifex.com/otf/I2P/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -309,40 +309,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 ""
@@ -1971,6 +1996,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 ""
@@ -2107,10 +2140,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."
@@ -2977,57 +3006,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 "Përkthime"
-#: 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 "Mjete"
-#: 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"
@@ -3035,7 +3068,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3043,13 +3076,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3059,28 +3092,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3089,106 +3122,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3198,21 +3231,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3221,67 +3254,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3290,7 +3323,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/sv/LC_MESSAGES/blog.po b/i2p2www/translations/sv/LC_MESSAGES/blog.po
index 8f237b6e..a19557cd 100644
--- a/i2p2www/translations/sv/LC_MESSAGES/blog.po
+++ b/i2p2www/translations/sv/LC_MESSAGES/blog.po
@@ -1,25 +1,29 @@
-# Swedish translations for I2P.
-# Copyright (C) 2014 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# Calle Rundgren 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 and Message 4.\n"
@@ -12208,11 +12209,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"
@@ -12224,157 +12225,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12382,21 +12383,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12404,11 +12405,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12418,58 +12419,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 \n"
@@ -12478,13 +12479,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?"
@@ -12498,71 +12499,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12570,7 +12570,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"
@@ -12582,7 +12582,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\n"
@@ -12595,48 +12595,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12644,14 +12644,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12659,11 +12659,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 128.\n"
@@ -12675,11 +12675,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"
@@ -12688,7 +12688,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"
@@ -12698,7 +12698,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"
"with all established sessions - if there are matches,\n"
@@ -12710,7 +12710,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"
@@ -12722,7 +12722,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"
@@ -12730,18 +12730,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"
@@ -12749,7 +12749,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"
@@ -12758,11 +12758,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"
@@ -12770,41 +12770,41 @@ 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"
@@ -12815,7 +12815,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"
@@ -12825,7 +12825,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12833,7 +12833,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 now)\n"
@@ -12848,7 +12848,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"
@@ -12868,26 +12868,26 @@ 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"
@@ -12896,7 +12896,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"
@@ -12906,7 +12906,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"
@@ -12916,7 +12916,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"
@@ -12928,7 +12928,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"
@@ -12939,7 +12939,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"
@@ -12947,7 +12947,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"
@@ -12958,7 +12958,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"
@@ -12967,11 +12967,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"
@@ -12981,7 +12981,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 specified\n"
@@ -12994,11 +12994,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"
@@ -13007,105 +13007,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/sv/LC_MESSAGES/get-involved.po b/i2p2www/translations/sv/LC_MESSAGES/get-involved.po
index d544f992..803d7362 100644
--- a/i2p2www/translations/sv/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/sv/LC_MESSAGES/get-involved.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Jonatan Nyberg\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.com/otf/I2P/language/sv_SE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -313,40 +313,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "Utvecklingsplan"
-#: i2p2www/pages/site/get-involved/roadmap.html:3
-msgid "March 2018"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "Januari 2016"
-#: 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 ""
@@ -1975,6 +2000,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 ""
@@ -2111,10 +2144,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."
@@ -2981,57 +3010,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 "Översättningar"
-#: 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"
@@ -3039,7 +3072,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3047,13 +3080,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3063,28 +3096,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3093,106 +3126,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3202,21 +3235,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3225,67 +3258,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3294,7 +3327,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/sv/LC_MESSAGES/priority.po b/i2p2www/translations/sv/LC_MESSAGES/priority.po
index 8737123f..e25b53f9 100644
--- a/i2p2www/translations/sv/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/sv/LC_MESSAGES/priority.po
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Henrik Mattsson-Mårn ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Klicka på Andra källor-tabben och klicka Lägg till. Klistra in ppa:i2p-maintainers/i2p
i APT-fälter och klicka Lägg till källa. Klicka Stäng-knappen och sedan Ladda om."
-#: 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 "
@@ -180,85 +179,105 @@ msgid ""
" Mark then Apply."
msgstr "I snabb-filter-boxen, skriv i2p
och tryck enter. När i2p
returneras i resultat-listan, högerklicka i2p
och välj Markera för installation. Efter det gjorts kan du eventuellt se Markera ytterligare nödvändiga ändringar?-popup:en. Om det händer, klicka på Markera och sedan Verkställ"
-#: 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 "Efter installationsprocessen blivit färdig kan du gå vidare till nästa\ndel av starta I2P och konfigurera I2P för ditt system."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Instruktioner för Debian"
-#: 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\")."
-msgstr "Observera: Stegen listade nedan ska utföras med root-åtkomst (d.v.s., ändra\ntill root med \"su\" eller genom att lägga till \"sudo\" före varje kommando)."
+"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
."
-msgstr "Lägg till rader som följande till %(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:"
-msgstr "Hämta nyckeln som signerar förrådet och lägg till den till 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 "Meddela din pakethanterare om den nya förrådet genom att skriva in"
-#: 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 step\n"
"1."
msgstr "Detta kommando kommer hämta den senaste listan mjukvara från alla\nförråd aktiverade på ditt system, inklusive I2P förrådet som tillsattes i steg\n1."
-#: 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 "Du är nu redo att installera I2P! Genom att installera i2p-nyckelrings
\n-paketet försäkras du erhålla uppdateringar till förråds GPG-nyckeln."
-#: 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 "Efter installationsprocessen avslutas kan du gå vidare till nästa del av starta I2P och konfigurera det för ditt system."
-#: 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 "Att göra efter installationen"
-#: 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 "Med hjälp av dessa I2P-packet kan I2P routern startas på följande\n tre sätt:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""på begäran" används i2prouter-skriptet. Kör "i2prouter\n start
" från kommandotolken. (Observera: Använd inte\nsudo eller använd det som root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -266,14 +285,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""på begäran" utan java tjänst wrappern\n(behövs på Icke-Linux / Icke-x86 system) genom att köra \"i2prouter-nowrapper
\".\n(Uppmärksamma: Används inte\nsudo eller kör root!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "som en tjänst som automatiskt körs när systemet startas, även\nföre inloggning. Tjänsten kan slås på med \"dpkg-reconfigure\ni2p
\" som root eller sudo. Detta är det rekommenderade sättet att köra I2P."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -281,14 +300,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "När du installerar för första gången, kom ihåg att justera din brandvägg/NAT\nom du kan. Portarna som ska vidarebefordras finns på sidan förnätverkskonfiguration i routerkonsolen. Om du behöver hjälp med hur man vidarebefordrar portar, så kan portforward.com vara till hjälp."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Var god läs igenom och justera bandbreddsinställningar på\ninställningssidan,\neftersom standardinställningarna 96 KB/s ner / 40 KB/s upp är tämligen konservativa."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/sv/LC_MESSAGES/research.po b/i2p2www/translations/sv/LC_MESSAGES/research.po
index 741e2e7d..49247736 100644
--- a/i2p2www/translations/sv/LC_MESSAGES/research.po
+++ b/i2p2www/translations/sv/LC_MESSAGES/research.po
@@ -1,255 +1,287 @@
-# Swedish translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# Anders Nilsson i2p.vmCommSystem=true
to the router.config before starting."
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
msgstr ""
-"Utöver det, så kan I2P startas i ett virtuellt nätverksläge. Detta slår "
-"av alla transporter, vilket låter routern testas isolerad utan "
-"nätverkstrafik. För att slå på detta läget, lägg till "
-"i2p.vmCommSystem=true
till router.config filen före du "
-"startar. "
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "Testande i existerande I2P-nätverket"
-
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
-msgstr ""
-"Om du planerar att göra forskning på det existerande I2P-nätverket, "
-"snälla kontakta oss före du börjar testa. "
-"Medan vi inte vill förhindra forskare från att ansvarsfullt testa sina "
-"idéer på det existerande nätverket, om den attack blir uppenbar och vi "
-"inte har en komunikationskanal så kommer göra motåtgärder som kan störa "
-"testerna."
-
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "Öppna forskningsfrågor"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "Nätverksdatabas"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "Transporter"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "Tunnlar och Destinationer"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "Nod-val"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "Envägs tunnlar"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "Multihem"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "Message routing"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "Februari 2016"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -261,7 +293,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -274,12 +307,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "E-post"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -292,8 +324,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -313,14 +344,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -332,8 +362,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -351,19 +381,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -385,8 +414,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -395,10 +423,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -433,8 +459,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -447,11 +472,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -503,8 +530,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -512,13 +539,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -527,8 +555,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -539,33 +567,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -580,7 +603,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -609,15 +633,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -627,10 +649,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -640,8 +660,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -678,4 +697,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/tr/LC_MESSAGES/about.po b/i2p2www/translations/tr/LC_MESSAGES/about.po
index 78182e6c..65c43411 100644
--- a/i2p2www/translations/tr/LC_MESSAGES/about.po
+++ b/i2p2www/translations/tr/LC_MESSAGES/about.po
@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:43+0000\n"
-"Last-Translator: zzzi2p\n"
+"PO-Revision-Date: 2018-08-12 19:23+0000\n"
+"Last-Translator: Kaya Zeren 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 and Message 4.\n"
@@ -12206,11 +12207,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"
@@ -12222,157 +12223,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12380,21 +12381,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12402,11 +12403,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12416,58 +12417,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 \n"
@@ -12476,13 +12477,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?"
@@ -12496,71 +12497,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12568,7 +12568,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"
@@ -12580,7 +12580,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\n"
@@ -12593,48 +12593,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12642,14 +12642,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12657,11 +12657,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 128.\n"
@@ -12673,11 +12673,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"
@@ -12686,7 +12686,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"
@@ -12696,7 +12696,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"
"with all established sessions - if there are matches,\n"
@@ -12708,7 +12708,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"
@@ -12720,7 +12720,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"
@@ -12728,18 +12728,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"
@@ -12747,7 +12747,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"
@@ -12756,11 +12756,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"
@@ -12768,41 +12768,41 @@ 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"
@@ -12813,7 +12813,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"
@@ -12823,7 +12823,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12831,7 +12831,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 now)\n"
@@ -12846,7 +12846,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"
@@ -12866,26 +12866,26 @@ 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"
@@ -12894,7 +12894,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"
@@ -12904,7 +12904,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"
@@ -12914,7 +12914,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"
@@ -12926,7 +12926,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"
@@ -12937,7 +12937,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"
@@ -12945,7 +12945,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"
@@ -12956,7 +12956,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"
@@ -12965,11 +12965,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"
@@ -12979,7 +12979,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 specified\n"
@@ -12992,11 +12992,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"
@@ -13005,105 +13005,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/tr/LC_MESSAGES/get-involved.po b/i2p2www/translations/tr/LC_MESSAGES/get-involved.po
index b1cc1350..e096ee99 100644
--- a/i2p2www/translations/tr/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/tr/LC_MESSAGES/get-involved.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/otf/I2P/language/tr_TR/)\n"
"MIME-Version: 1.0\n"
@@ -312,40 +312,65 @@ msgid ""
"Detailed instructions are on our reseed server 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 "Yol Haritası"
-#: 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 ""
@@ -1887,7 +1912,7 @@ msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:58
msgid "Resource"
-msgstr ""
+msgstr "Kaynak"
#: i2p2www/pages/site/get-involved/develop/licenses.html:59
msgid "Primary license"
@@ -1974,6 +1999,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 ""
@@ -2110,10 +2143,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."
@@ -2980,57 +3009,61 @@ msgstr ""
msgid "New Developer's Guide"
msgstr "Yeni Geliştiricinin Kaynağı"
-#: 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 "Çeviriler"
-#: 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"
@@ -3038,7 +3071,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3046,13 +3079,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3062,28 +3095,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3092,106 +3125,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3201,21 +3234,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3224,67 +3257,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3293,7 +3326,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/tr/LC_MESSAGES/priority.po b/i2p2www/translations/tr/LC_MESSAGES/priority.po
index f949a355..c013d5e6 100644
--- a/i2p2www/translations/tr/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/tr/LC_MESSAGES/priority.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Kaya Zeren ppa"
":i2p-maintainers/i2p
into the APT-line field and click Add "
"Source. Click the Close button then Reload."
msgstr "Diğer Kaynaklar sekmesini seçip Ekle üzerine tıklayın. APT satırı alanına ppa:i2p-maintainers/i2p
kodunu yapıştırıp sırasıyla Kaynak Ekle, Kapat ve Yeniden Yükle üzerine tıklayın."
-#: 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 "
@@ -171,85 +170,105 @@ msgid ""
" Mark then Apply."
msgstr "Hızlı Süzgeç alanına i2p
yazıp Enter tuşuna basın. i2p
sonuçları görüntülediğinde, i2p
üzerine sağ tıklayıp Kurulmak üzere işaretle seçeneğini işaretleyin. Bundan sonra Başka değişiklikler işaretlemek istiyor musunuz? açılan penceresi görüntülenir. İstiyorsanız, click İşaretle ve Uygula üzerine tıklayın."
-#: 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 "Kurulum tamamlandığında I2P başlatma\nadımına geçerek sisteminiz için gerekli ayarları yapabilirsiniz."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Debian Üzerine Yükleme Yönergeleri"
-#: 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\")."
-msgstr "Not: Aşağıdaki işlemler root izinleri ile yapılmalıdır (kullanıcıyı \"su\" yazarak\nroot yaparak ya da her komutun başına \"sudo\" yazarak)."
+"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
."
-msgstr "Aşağıdaki satırları %(file)s
dosyasına ekleyin."
+#: 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:"
-msgstr "Depoyu imzalamak için kullanılan anahtarı indirin ve apt üzerine ekleyin:"
+"\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 "Şunu yazarak paket yöneticinize yeni depoyu ekleyin"
-#: 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 step\n"
"1."
msgstr "Bu komut, 1. adımdaki I2P deposu da dahil sisteminizde etkin olan\ntüm depolardaki güncel yazılım listesini alır."
-#: 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 "Artık I2P uygulamasını kurabilirsiniz! i2P Anahtarlığı
paketini\nyükleyerek deponun GPG anahtarı güncellemelerini alacağınızdan emin olun."
-#: 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 "Kurulum tamamlandığında I2P başlatma\nadımına geçerek sisteminiz için gerekli ayarları yapabilirsiniz."
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "Not: https adresi çalışmıyorsa şunları yapabilirsiniz:"
-
-#: i2p2www/pages/downloads/debian.html:156
-msgid "Change the repository address to http://deb.i2p2.no/"
-msgstr "Depo adresini http://deb.i2p2.no/ olarak değiştirin"
-
-#: i2p2www/pages/downloads/debian.html:162
+#: i2p2www/pages/downloads/debian.html:190
#: i2p2www/pages/downloads/post-install.html:1
msgid "Post-install work"
msgstr "Kurulum sonrası işlemleri"
-#: 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 "Bu I2P paketleri kullanıldığında I2P yönelticisi üç şekilden birinde\nbaşlatılabilir:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""isteğe bağlı" i2prouter betiği kullanılarak. Komut satırından "\ni2prouter start
" yazılması yeterlidir. (Not: sudo ya da root\nkullanmayın)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -257,14 +276,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr "Java hizmeti sarıcısı olmadan "isteğe bağlı" \n(Linux/x86 olmayan sistemler için) \"i2prouter-nowrapper
\" çalıştırarak.\n(Not: sudo ya da root kullanmayın!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "önerilen çalışma şekli, sistem başlangıcında, oturum açılmadan önce \notomatik olarak çalışan bir hizmet olarak. Hizmet sudo ya da root \nkullanılarak \"dpkg-reconfigure i2p
\" komutuyla etkinleştirilebilir."
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -272,14 +291,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "İlk kez kurarken, yapabiliyorsanız NAT/Güvenlik Duvarı ayarlarınızı\nyapmayı unutmayın. İletilecek kapı numaralarını yöneltici konsolunda \nağ ayarları sayfasında bulabilirsiniz.\nKapı yönlendirme hakkında bilgi almak için \nportforward.com sitesinin yardımı dokunabilir."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Lütfen ayarlar sayfasındaki,\nbant genişliği ayarlarını gözden geçirin. Varsayılan ayarlar olan\n96 KB/s indirme ve 40 KB/s yükleme değerleri oldukça yavaştır."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
@@ -974,7 +993,7 @@ msgid ""
"BibTeX source page for examples.i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr "Yöneltici Ailesi Ayarları"
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:2
+msgid "Open research questions"
+msgstr "Açık araştırma konuları"
+
+#: i2p2www/pages/site/research/questions.html:5
+msgid "Network database"
+msgstr "Ağ veritabanı"
+
+#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
+msgid "Transports"
+msgstr "Aktarımlar"
+
+#: i2p2www/pages/site/research/questions.html:31
+msgid "Tunnels and Destinations"
+msgstr "Tüneller ve Hedefler"
+
+#: i2p2www/pages/site/research/questions.html:33
+msgid "Peer selection"
+msgstr "Eş seçimi"
+
+#: i2p2www/pages/site/research/questions.html:46
+msgid "Unidirectional tunnels"
+msgstr "Yönsüz tüneller"
+
+#: i2p2www/pages/site/research/questions.html:52
+msgid "Multihoming"
+msgstr "Çoklu ev"
+
+#: i2p2www/pages/site/research/questions.html:59
+msgid "Message routing"
+msgstr "İleti yöneltme"
+
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:2
+msgid "Vulnerability Response Process"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:3
+msgid "January 2017"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:6
+msgid ""
+"\n"
+"This process is subject to change. Please refer to this page for the current VRP."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:10
+msgid "Point of Contact for Security Issues"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:14
+msgid "Security Response Team"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:16
+msgid ""
+"Only the following members have access to the security point of contact:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:25
+msgid "Incident Response"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:28
+msgid "Researcher submits report via one or both of two methods:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:32
+msgid "Email"
+msgstr "E-posta"
+
+#: i2p2www/pages/site/research/vrp.html:37
+msgid ""
+"Response Team designates a Response Manager who is in charge of the particular\n"
+"report based on availability and/or knowledge-set."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:42
+#, python-format
+msgid ""
+"In no more than %(limit)s working days, Response Team should gratefully\n"
+"respond to researcher using only encrypted methods."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:47
+msgid ""
+"Response Manager makes inquiries to satisfy any needed information and to\n"
+"confirm if submission is indeed a vulnerability."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:52
+msgid "If submission proves to be vulnerable, proceed."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:55
+msgid "If not vulnerable:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:59
+msgid ""
+"Response Manager responds with reasons why submission is not a "
+"vulnerability."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:62
+msgid ""
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:70
+msgid ""
+"If over email, Response Manager opens a HackerOne issue for new submission."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:74
+msgid ""
+"\n"
+"Establish severity of vulnerability:\n"
+" "
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:79
+msgid ""
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:83
+msgid "Effects individual routers, or must be carefully exploited."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:87
+msgid "Is not easily exploitable."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:93
+msgid "Respond according to the severity of the vulnerability:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:97
+#, python-format
+msgid ""
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
+"working days of classification."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:102
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:105
+msgid ""
+"The notification must not include any details that could suggest an exploitation\n"
+"path."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:109
+msgid "The latter takes precedence over the former."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:113
+msgid "MEDIUM and HIGH severities will require a Point Release."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:116
+msgid "LOW severities will be addressed in the next Regular Release."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:122
+msgid "Response Team applies appropriate patch(es)."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:126
+msgid ""
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:129
+msgid "Patches are reviewed with the researcher."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:132
+msgid ""
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:136
+msgid "Vulnerability announcement is drafted."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:140
+msgid "Include severity of vulnerability."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:143
+msgid "Include systems/apps effected."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:146
+msgid "Include solutions (if any) if patch cannot be applied."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:150
+msgid "Release date is discussed."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:156
+msgid ""
+"At release date, Response Team coordinates with developers to finalize "
+"update:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:160
+msgid "Response Manager propagates the \"hotfix branch\" to trunk."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:163
+msgid ""
+"Response Manager includes vulnerability announcement draft in release notes."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:166
+msgid "Proceed with the Point or Regular Release."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:173
+msgid "Post-release Disclosure Process"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:176
+#, python-format
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:180
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:184
+msgid ""
+"Response Manager contacts researcher and asks if researcher wishes for "
+"credit."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:187
+msgid "Finalize vulnerability announcement draft and include the following:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:191
+msgid "Project name and URL."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:194
+msgid "Versions known to be affected."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:197
+msgid ""
+"Versions known to be not affected (for example, the vulnerable code was "
+"introduced in a recent version, and older versions are therefore "
+"unaffected)."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:200
+msgid "Versions not checked."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:203
+msgid "Type of vulnerability and its impact."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:206
+msgid "If already obtained or applicable, a CVE-ID."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:209
+msgid "The planned, coordinated release date."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:212
+msgid ""
+"Mitigating factors (for example, the vulnerability is only exposed in "
+"uncommon, non-default configurations)."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:215
+msgid ""
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:218
+msgid "If applicable, credits to the original reporter."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:223
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:226
+msgid ""
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:234
+msgid "If applicable, developers request a CVE-ID."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:238
+msgid ""
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:246
+msgid ""
+"If the Incident Response process in section III is *not* successfully "
+"completed:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:250
+msgid ""
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
+"future."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:255
+msgid ""
+"Any developer meetings immediately following the incident should include points\n"
+"made in section V."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:259
+msgid ""
+"If disputes arise about whether or when to disclose information about a\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
+"attempt to reach consensus."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:264
+#, python-format
+msgid ""
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
+"the researcher (after %(limit)s days) has every right to expose the\n"
+"vulnerability to the public."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:273
+msgid "Incident Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:276
+msgid "Isolate codebase"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:278
+#: i2p2www/pages/site/research/vrp.html:298
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:282
+msgid "Problematic implementation of classes/libraries/functions, etc."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:285
+msgid "Focus on apps/distro packaging, etc."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:288
+msgid "Operator/config error, etc."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:296
+msgid "Auditing"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:302
+msgid "Auditing of problem area(s) as discussed in point 1."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:305
+msgid "Generate internal reports and store for future reference."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:308
+msgid ""
+"If results are not sensitive, share with the public via IRC or public Trac."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:316
+#, python-format
+msgid ""
+"Response Team has %(limit)s days following completion of section III to ensure\n"
+"completion of section V."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:322
+msgid "Resolutions"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:324
+msgid ""
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
+"addressed via the following:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:338
+msgid "Continuous Improvement"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:341
+msgid ""
+"Response Team and developers should hold annual meetings to review the previous\n"
+"year's incidents."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:346
+msgid ""
+"Response Team or designated person(s) should give a brief presentation, "
+"including:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:350
+msgid "Areas of I2P affected by the incidents."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:353
+msgid "Any network downtime or monetary cost (if any) of the incidents."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:356
+msgid "Ways in which the incidents could have been avoided (if any)."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:359
+msgid "How effective this process was in dealing with the incidents."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:365
+msgid "After the presentation, Response Team and developers should discuss:"
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:369
+msgid "Potential changes to development processes to reduce future incidents."
+msgstr ""
+
+#: i2p2www/pages/site/research/vrp.html:372
+msgid "Potential changes to this process to improve future responses."
+msgstr ""
diff --git a/i2p2www/translations/uk/LC_MESSAGES/docs.po b/i2p2www/translations/uk/LC_MESSAGES/docs.po
index 00c6a5a3..1907444b 100644
--- a/i2p2www/translations/uk/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/uk/LC_MESSAGES/docs.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/otf/I2P/language/uk_UA/)\n"
"MIME-Version: 1.0\n"
@@ -24,9 +24,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
@@ -128,7 +130,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr ""
@@ -146,7 +148,7 @@ 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:197
msgid "Configuration File Format"
msgstr ""
@@ -290,7 +292,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 ""
@@ -392,160 +394,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"
@@ -1344,7 +1346,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 ""
@@ -1878,7 +1879,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 ""
@@ -1891,7 +1892,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 ""
@@ -1908,7 +1909,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 ""
@@ -2792,7 +2793,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
@@ -2951,18 +2952,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 ""
@@ -3046,95 +3047,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3142,43 +3143,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3186,11 +3187,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3200,7 +3201,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3211,7 +3212,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3219,7 +3220,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 clove in a\n"
@@ -3229,11 +3230,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3247,11 +3248,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 simple choke/unchoke indication.\n"
@@ -3262,7 +3263,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3272,7 +3273,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3283,29 +3284,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3314,37 +3315,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3360,21 +3361,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3388,7 +3389,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3396,24 +3397,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 the\n"
@@ -3421,7 +3422,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3433,39 +3434,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6313,6 +6314,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"
@@ -7913,7 +7918,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 "Введення"
@@ -11682,10 +11687,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 ""
@@ -11702,7 +11703,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
@@ -11715,21 +11716,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"
@@ -11737,11 +11743,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 RouterInfo).\n"
@@ -11749,126 +11755,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11882,85 +11888,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11968,7 +11974,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11976,7 +11982,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 Obfuscation\n"
@@ -11987,21 +11993,16 @@ 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"
@@ -12010,38 +12011,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12050,7 +12051,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12059,40 +12060,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12101,11 +12102,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 DatabaseStoreMessage.\n"
@@ -12113,42 +12114,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12156,48 +12157,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12205,11 +12206,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"
@@ -12221,157 +12222,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12379,21 +12380,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12401,11 +12402,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12415,58 +12416,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 \n"
@@ -12475,13 +12476,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?"
@@ -12495,71 +12496,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12567,7 +12567,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"
@@ -12579,7 +12579,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\n"
@@ -12592,48 +12592,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12641,14 +12641,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12656,11 +12656,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 128.\n"
@@ -12672,11 +12672,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"
@@ -12685,7 +12685,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"
@@ -12695,7 +12695,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"
"with all established sessions - if there are matches,\n"
@@ -12707,7 +12707,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"
@@ -12719,7 +12719,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"
@@ -12727,18 +12727,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"
@@ -12746,7 +12746,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"
@@ -12755,11 +12755,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"
@@ -12767,41 +12767,41 @@ 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"
@@ -12812,7 +12812,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"
@@ -12822,7 +12822,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12830,7 +12830,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 now)\n"
@@ -12845,7 +12845,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"
@@ -12865,26 +12865,26 @@ 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"
@@ -12893,7 +12893,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"
@@ -12903,7 +12903,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"
@@ -12913,7 +12913,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"
@@ -12925,7 +12925,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"
@@ -12936,7 +12936,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"
@@ -12944,7 +12944,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"
@@ -12955,7 +12955,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"
@@ -12964,11 +12964,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"
@@ -12978,7 +12978,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 specified\n"
@@ -12991,11 +12991,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"
@@ -13004,105 +13004,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/uk/LC_MESSAGES/get-involved.po b/i2p2www/translations/uk/LC_MESSAGES/get-involved.po
index 1f511b65..02fc042c 100644
--- a/i2p2www/translations/uk/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/uk/LC_MESSAGES/get-involved.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: Ruslan Semerenko\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/otf/I2P/language/uk_UA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -311,40 +311,65 @@ msgid ""
"Detailed instructions are on our reseed server 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"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "Січень 2016"
-#: 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 ""
@@ -1973,6 +1998,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 ""
@@ -2109,10 +2142,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."
@@ -2979,57 +3008,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 "Збірка I2P"
-#: 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"
@@ -3037,7 +3070,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3045,13 +3078,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3061,28 +3094,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3091,106 +3124,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3200,21 +3233,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3223,67 +3256,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3292,7 +3325,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/uk/LC_MESSAGES/priority.po b/i2p2www/translations/uk/LC_MESSAGES/priority.po
index 8ec2eb40..633d2f75 100644
--- a/i2p2www/translations/uk/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/uk/LC_MESSAGES/priority.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/otf/I2P/language/uk_UA/)\n"
"MIME-Version: 1.0\n"
@@ -71,29 +71,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Пакети I2P для Debian\nбули протестовані та повинні робити на платформах x86/x86_64:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Precise 12.04 та новіше)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy and новіший)"
-#: 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 report any issues\n"
@@ -101,73 +100,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "Пакети I2P можуть працювати на системах не вказаних нижче. Будь ласка дайте знати про будь-які проблеми\nз цими пакетами Trac на\nhttps://trac.i2p2.de."
-#: 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 "Варіант 1: Останні версії Ubuntu та його похідні (Спробуйте це, якщо ви не використовуєте Debian)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "Варіант 2: Debian (та його похідні)"
-#: 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 "Додавання PPA допомогою командного рядка і встановлення I2P"
-#: 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 "Цей команд додасть PPA в /etc/apt/sources.list.d і отримує ключ\nGPG, яким підписаний репозиторій. Ключ GPG гарантує,\nщоб пакети не були підроблені, від коли були побудовані."
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "Щоб повідомити менеджер пакетів, про новий PPA, ввівшіть:"
-#: 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 "Цей команд втягне останний список програмних забезпечень з кожної\nрепозиторії, яка включена на ваші системі, у тому числі само PPA для I2P\nяка була додана ранішим командом."
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "Ви тепер готові до установки I2P!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "Додавання PPA, використовуючи Synaptic"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "Запустіть Synaptic (System -> Administration -> Synaptic Package Manager)."
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Коли Synaptic запуститься, виберіть Repositories з меню Settings."
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "Клікніть на закладку Other Sources em> і кнопку Add em>. Вставте ppa:i2p-maintainers/i2p code> в поле APT-line і клікніть Add Source em>. Закрийте за допомогою Close em> і перезапустіть за допомогою Reload em>."
-#: 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 "
@@ -176,85 +175,105 @@ msgid ""
" Mark then Apply."
msgstr "У вікні, напишіть i2p
і натисніть кнопку \"ентер\". Коли i2p
появиться після пошуку, нажміть праву кнопку i2p
і виберіть Вибрати для встановлення. Після цього ви можете побачити вікно з текстом Позначити додаткові необхідні зміни?. Якщо так, виберіть Позначити і потім Застосувати."
-#: 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 "Після закінчення встановлення ми можете переходити до наступної\nчастини запуск I2P і налаштування його для вашої системи."
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Інструкції для Debian"
-#: 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\")."
-msgstr "Зверніть увагу: Кроки нижче мають виконуватись з доступом root (наприклад зміна\nкористувача до root за допомогою команди \"su\" або з додаванням до кожної команди на почату \"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
."
-msgstr "Додайте рядки як вказано у %(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:"
-msgstr "Завантажте ключ який використовується для підпису репозиторію і додайте його до 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 step\n"
"1."
msgstr "Команда дозволить отримати найновіший список програм з кожного\nрепозиторію включеного у вашій системі, включаючи репозиторій I2P який був доданий у кроці\n1."
-#: 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 "Тепер ви готові для встановлення I2P! Встановлення пакунку i2p-keyring
\nпідтвердить що ви отримаєте оновлення ключа GPG для цього репозиторію."
-#: 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 "Після процесу встановлення ви можете переходити до наступної частини запуск I2P і налаштування його для вашої системи."
-#: 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 "Використовуючи ці I2P пакунки, ви можете запустити I2P маршрутизатор\nтрьома шляхами: "
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""самостійно" використовуючи скрипт i2prouter. Достатньо запустити "i2prouter\nstart
" з командного рядка. (Примітка: Не використовуйте\nsudo і не запускайте від імені root!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -262,14 +281,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -277,14 +296,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "При першій інсталяції не забудьте поправити настройки NAT/firewall b>,\nякщо це можливо. Порти, які потрібно прокинути, вказані на сторінці конфігурації мережі в консолі маршрутизатора. Якщо вам потрібно розібратися, що таке кидок портів,\nпро це можна прочитати на portforward.com."
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "Перевірте і поправте настройки смуги пропускання b> на\nсторінці налаштувань,\nтак як значення за замовчуванням 96 KB/s down / 40 KB/s up достатньо обмежені."
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/zh/LC_MESSAGES/blog.po b/i2p2www/translations/zh/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..42daea70
--- /dev/null
+++ b/i2p2www/translations/zh/LC_MESSAGES/blog.po
@@ -0,0 +1,7549 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# YF , 2015-2016
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
+msgid "Files are available on the `download page`_."
+msgstr "文件在`下载页面`_可用。"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:39
+msgid "`download page`"
+msgstr "`下载页面`"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:45
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:13
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:101
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:26
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:48
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:34
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:35
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:65
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:29
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:37
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:32
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:38
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:36
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:43
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:27
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:30
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:44
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:36
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:34
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:73
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:53
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:35
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:54
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:33
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:35
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:32
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:56
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:32
+#: 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.rst:36
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:33
+msgid "RELEASE DETAILS"
+msgstr "发布细节"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:103
+msgid "Major Changes"
+msgstr "主要更改"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:54
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:112
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:34
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:51
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:40
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:41
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:76
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:39
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:50
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:35
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:51
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:55
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:53
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:30
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:40
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:57
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:52
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:42
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:80
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:63
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:47
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:71
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:43
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:47
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:48
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:68
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:41
+#: 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.rst:45
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:43
+msgid "Bug Fixes"
+msgstr "问题修复"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:63
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:19
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:118
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:52
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:99
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:49
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:47
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:87
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:49
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:57
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:42
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:60
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:68
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:65
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:38
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:49
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:75
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:65
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:50
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:89
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:76
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:53
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:83
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:58
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:57
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:62
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:82
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:54
+#: 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.rst:57
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:53
+msgid "Other"
+msgstr "其他"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:79
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:30
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:129
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:27
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:76
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:64
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:59
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:104
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:62
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:73
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:52
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:76
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:86
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:81
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:61
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:69
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:101
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:75
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:56
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:115
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:105
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:76
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:96
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:73
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:103
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:77
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:25
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:102
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:69
+#: 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.rst:79
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:73
+msgid "SHA256 Checksums:"
+msgstr "SHA256 校验:"
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
+msgid "Major changes"
+msgstr "主要变化"
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
+msgid "Wrapper Update"
+msgstr "Wrapper 更新"
+
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
+msgid "Update Info"
+msgstr "更新信息"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
+msgid "0.9.2 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
+msgid ""
+"0.9.2 includes extensive low-level changes to improve the performance and "
+"efficiency of the router. We have updated our UPnP library, to hopefully "
+"make UPnP work for more people. I2PSnark now has DHT support, but it is not "
+"yet enabled by default, as we plan to do more testing during the upcoming "
+"0.9.3 development cycle."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
+msgid ""
+"As usual, there's also lots of bug fixes in this release, so updating is "
+"recommended."
+msgstr "如往常一样,此发布中也修复了很多bug,所以推荐更新。"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
+msgid ""
+"SSU: Fix several problems in our UDP transport, to improve efficiency and "
+"reliability for connection setup. Also improve defenses against various "
+"types of bad input."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
+msgid ""
+"UPnP: Updated our library to fix several issues, should work for more "
+"routers now"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
+msgid ""
+"Transport: Improve performance in both our TCP and UDP transports, to "
+"benefit high-bandwidth routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
+msgid ""
+"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered are "
+"now much more flexible, which should lessen protocol overhead and reduce "
+"stalls caused by dropped tags."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
+msgid ""
+"I2PSnark: Add DHT support, not yet enabled by default, will do further "
+"testing and plan to enable by default in 0.9.3."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
+msgid ""
+"Fix various issues affecting memory usage and performance on high-bandwidth "
+"routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
+msgid ""
+"Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
+msgid ""
+"Fix i2psnark bug that prevented a completion announcement to the tracker"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
+msgid "Fix a lock contention problem in i2ptunnel"
+msgstr "修复一个 i2ptunnel 中锁定争用问题"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
+msgid "Fix some OSX installation issues"
+msgstr "修复一些 OSX 安装问题"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
+msgid "Remove uses of direct byte buffers that may have been leaking"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
+msgid "Reduce overhead in network messages"
+msgstr "减少网络消息开销"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
+msgid "Add \"universal\" theme support"
+msgstr "添加“通用”主题支持"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
+msgid "Theme updates"
+msgstr "主题更新"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
+msgid "Add a jbigi library for Raspberry Pi"
+msgstr "为Raspberry Pi(树莓派)添加一个jbigi库"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
+msgid "New Scala unit test framework"
+msgstr "新的Scala单元测试框架"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
+msgid "Translation updates for Czech, Dutch, German, and Greek"
+msgstr "捷克语、荷兰语、德语和希腊语翻译更新"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
+msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
+msgstr "更新wrapper到3.5.15(仅新安装和PPA)"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:77
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:127
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:74
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:62
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:57
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:100
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:58
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:70
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:49
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:83
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:78
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:58
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:66
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:96
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:72
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:53
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:112
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:97
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:68
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:88
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:65
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:95
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:69
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:94
+#: 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.rst:71
+msgid "Update GeoIP data (new installs and PPA only)"
+msgstr "更新GeoIP数据(仅新安装和PPA)"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
+msgid "0.9.3 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
+msgid ""
+"0.9.3 includes extensive low-level changes to the queueing of messages in "
+"the router. We implement the CoDel Active Queue Management (AQM) algorithm."
+" We also unify the queueing and priority mechanisms in the transports to "
+"aid diagnosis and reduce network latency. Work continues on fixing UDP "
+"transport bugs and making UDP more resistant to attacks. There are more "
+"changes to improve the performance of the router and reduce its memory "
+"usage. Also, we enable i2psnark's DHT support, introduced last release, by "
+"default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
+msgid "Active Queue Management"
+msgstr "主动队列管理"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
+msgid "Priority queues"
+msgstr "优先级队列"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
+msgid "I2PSnark DHT: Several bug fixes, enable by default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
+msgid ""
+"Several SSU fixes including memory leak, and better handling of routers "
+"behind firewalls that change UDP ports; additional defenses for malicious "
+"packets."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
+msgid "Fix piece selection (rarest-first) bugs in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
+msgid "Fix bug causing multiple browsers to open at startup"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
+msgid "Improvements in caching"
+msgstr "改善缓存"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
+msgid "Several synchronization fixes and lock contention reduction"
+msgstr "几点同步修复和锁争用减少"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
+msgid "Major reduction in SSU buffers memory use"
+msgstr "显著减少SSU缓冲区内存使用量"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
+msgid ""
+"Fix streaming connection timeout back to 1 minute, was inadvertently changed"
+" to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was unlimited"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
+msgid "Improved defenses in i2ptunnel for \"darkloris\""
+msgstr "i2ptunnel 中对 \"darkloris\" 改进的防护加固"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
+msgid "More validation at torrent creation in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
+msgid "Several parameter changes in SSU to improve throughput"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
+msgid ""
+"New event log for major events including restarts; show multiple restart "
+"lines on graphs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
+msgid "Remove duplicate messages from logs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
+msgid "Don't respond to blocked streaming connections with a reset, just drop"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
+msgid "Remove all uses of inefficient SimpleTimer"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
+msgid "More checks for valid IPs and ports entered in console"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
+msgid "Fix bug that wasted a lot of entropy"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
+msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
+msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
+msgid "0.9.4 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
+msgid ""
+"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, that "
+"was reducing network performance and reliability. It also includes major "
+"changes in the in-network update system, and adds the capability to update "
+"via in-network torrents."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
+msgid ""
+"We fixed several bugs in the i2psnark DHT implementation that was introduced\n"
+"last release. For those of you using console or http proxy passwords,\n"
+"we converted to the more-secure digest method and improved the security for console forms."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
+msgid ""
+"For those of you already running development builds, your router should automatically\n"
+"update to 0.9.4-0 using the new in-network torrent facility.\n"
+"For those running 0.9.3-0, you will update normally using in-network HTTP, and\n"
+"we will have more information for you when we release 0.9.5."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
+msgid ""
+"Big rework of the update system; Preliminary support for updates via "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
+msgid "Add per-destination outbound priorities"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
+msgid ""
+"Fix major bug that reduced SSU connection limits which reduced tunnel build "
+"success rates"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
+msgid ""
+"Fix bug with external I2CP that prevented some external apps from working"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
+msgid "Fixed several bugs in i2psnark DHT"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
+msgid "Fixed bug in i2psnark PEX that inflated peer counts"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
+msgid "Handle dropped I2CP messages better"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
+msgid "Reduce overhead of I2CP messages"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
+msgid "Enforce max size in transport outbound message queues"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
+msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
+msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
+msgid ""
+"More performance improvements, memory reduction, and object churn reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
+msgid "Better detection of network disconnections"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
+msgid "Further improvements in the SSU transport"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
+msgid "Add console password form"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
+msgid ""
+"Convert http proxy and console from basic to digest authentication for added"
+" security"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
+msgid ""
+"Improved verification of console form submissions, using jsp sessions. "
+"Cookies may now be required on forms, except when the console password is "
+"enabled"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
+msgid ""
+"Initial work on new interfaces to manage applications started via "
+"clients.config"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
+msgid "Increase minimum peer port to 1024"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
+msgid "Increase granularity of bandwidth limiter for smoother transmissions"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
+msgid ""
+"Translation updates: Chinese, French, German, Italian, Polish, Portuguese, "
+"Swedish, and Ukrainian"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
+msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
+msgid "New ARMv6 wrapper for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
+msgid "0.9.5 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
+msgid ""
+"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities "
+"that are being investigated by researchers at UCSB. We continue to work with"
+" them on additional improvements. This is a good opportunity to remind the "
+"community that while our network continues to grow rapidly, it is still "
+"relatively small. There may be multiple weaknesses or bugs that could "
+"compromise your anonymity. Help us grow the network by spreading the word "
+"and contributing where you can."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
+#, python-format
+msgid ""
+"In this upgrade cycle, a random 1%(pc)s of routers, (plus all routers running a\n"
+"development build) will attempt to update via the experimental in-network bittorrent\n"
+"with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
+msgid "Defenses and Bug Fixes"
+msgstr "防护加固和问题修复"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
+msgid "Fix router bug causing lockup when using iMule"
+msgstr "修复路由器问题导致使用 iMule 时的网络查询"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
+msgid "Recognize, handle, reject duplicate tunnel IDs"
+msgstr "识别、处理和拒绝重复的隧道ID"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
+msgid "Fix changing of the log file name"
+msgstr "修复日志文件名的更改"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
+msgid "Prevent hashcode attack in session tags"
+msgstr "避免会话标签中的哈希码攻击"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
+msgid "Add build request throttler based on previous hop"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
+msgid "Limit concurrent next-hop lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
+msgid "Catch exceptions storing nonces in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
+msgid "Fix saving graph settings in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
+msgid "Fix eepget generation of URLs when not proxied"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
+msgid ""
+"Encrypt database lookup messages end-to-end when sent through exploratory "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
+msgid "Don't use multiple floodfills from the same /16 in a query"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
+msgid "Randomize delay before verifying floodfill store"
+msgstr "验证种子存储前随机化延迟"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
+msgid "Increase number of floodfills"
+msgstr "增加种子的数量"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
+msgid "Improve support for mobile browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
+msgid "Partial defenses for UCSB attacks"
+msgstr "对 UCSB 攻击的部分防护"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
+msgid "Add announce list support to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
+msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
+msgid "Split router info files into multiple subdirectories"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
+msgid "Add IP to hostname mapping option in SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
+msgid "Improve PRNG seeding"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
+msgid ""
+"Translation updates: French, German, Hungarian, Italian, Norwegian, Polish, "
+"Portuguese, Russian, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
+msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
+msgid "0.9.6 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
+msgid ""
+"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
+"Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty "
+"update. The Jetty 7 series is actively maintained and we plan to stay "
+"current with it in future I2P releases."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
+msgid ""
+"Most users will update via HTTP. Those running development builds will attempt to update via the\n"
+"experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users\n"
+"to update via torrent in the 0.9.7 update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
+msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
+msgid ""
+"If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the\n"
+"following instructions to fix your eepsite location **before** you update to 0.9.6.\n"
+"Only original installations of 0.9.5-0 on Windows are affected by this issue. If your router version\n"
+"is 0.9.5-0-win1, you already have the fix and need not take any action."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
+msgid "See `this page`_ for instructions."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
+msgid "`this page`"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
+msgid "Jetty 7 Migration Details"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
+msgid ""
+"For most people, the update should just work. If you have multiple Jetty eepsites,\n"
+"OR have made changes to jetty.xml or other Jetty configuration files, including changing the port\n"
+"from 7658, you MUST take manual action AFTER updating."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
+msgid ""
+"After update, the router will migrate your jetty.xml files to the new Jetty "
+"7 format."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
+msgid ""
+"The migration resets the port to 7658. If you have more than one Jetty eepsite, OR your eepsite\n"
+" is NOT on port 7658, OR you have made other modifications to jetty.xml (for example changing the\n"
+" listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml file for each eepsite to fix them up\n"
+" after updating, and restart again."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
+msgid ""
+"**The following files will be backed up with a ".jetty6" suffix and then migrated.**\n"
+"If you have made local changes, you may have to edit them manually and restart.\n"
+"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
+msgid "Plugins"
+msgstr "插件"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
+msgid "Most plugins should work fine with Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
+msgid ""
+"The I2PControl and zzzot plugins must be updated. Your router should "
+"download and install the new versions shortly after starting 0.9.6."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
+msgid ""
+"If a plugin does not work, please contact the maintainer for that plugin."
+msgstr "如果一个插件不能正常工作,请联系该插件的维护者。"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
+msgid "Several bugs with Windows installation (see above)"
+msgstr "几个 Windows 安装包的问题(见上)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
+msgid "Fix default form action in i2ptunnel"
+msgstr "修复 i2ptunnel 中的默认操作"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
+msgid "Fix links on iframed console pages"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
+msgid "Better detection of 64-bit Windows to prevent crashes by systray"
+msgstr "更好的检测 64-bit Windows 以避免系统托盘崩溃"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
+msgid "Fix bug preventing router update via torrent"
+msgstr "修复问题,防止阻止通过BT种子进行路由器更新"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
+msgid "Several SSU fixes for NATs that change UDP ports"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
+msgid ""
+"Ignore unsupported IPs in RouterInfos when selecting an address (prep for "
+"IPv6)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
+msgid ""
+"Ignore unused option bits in Database Lookup Message (prep for requesting "
+"encrypted response)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
+msgid "Fix HTTP proxy error response for malformed URIs"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
+msgid "Recognize UPnP devices without port forwarding capability"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
+msgid "Jetty 7.6.10 (see above for migration information)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
+msgid "Limit page size in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
+msgid "Add data directory and page size configuration to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
+msgid "Support multiple i2psnark instances"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
+msgid "Piece size adjustments in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
+msgid "Add more graphing support for combined bandwidth graph"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
+msgid "Block b32.i2p supercookies"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
+msgid "Allow stopping clients on /configclients"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
+msgid "Check for nonce count replays in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
+msgid "Support SASL authentication in IRC proxy"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
+msgid "Several cleanups and minor fixes in the update manager"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
+msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:2
+msgid "0.9.7 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:7
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:9
+msgid "0.9.7 includes significant bug fixes and improvements."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:11
+msgid ""
+"For the first time, class 'N' routers (those with a minimumum of 128 KBytes/sec of shared bandwidth)\n"
+"will automatically become floodfill (previously it was only 'O' routers with 256 KBps). This will\n"
+"increase the floodfill population for additional resistance to certain attacks (see below). Floodfill routers\n"
+"don't consume much additional bandwidth, but they do tend to use additional memory and concurrent\n"
+"connections. If you do not wish your router to become floodfill, set the advanced configuration\n"
+"router.floodfillParticipant=false ."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:20
+#, python-format
+msgid ""
+"As we think the last release fixed the experimental update-via-torrent bugs, 3%(pc)s of routers should\n"
+"update over in-network bittorrent this cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:25
+msgid ""
+"Plugin update checks, possibly broken for several releases, are fixed. Your plugins should once again\n"
+"auto-update after updating the router."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:30
+msgid ""
+"We fixed a major streaming timer bug that contributed to frequent IRC "
+"disconnects."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:34
+msgid ""
+"This release contains additional mitigations for the `\"practical attacks\" paper`_.\n"
+"However, we have a lot more work to do to resist Sybil attacks on the floodfills, and resist\n"
+"traffic analysis at the gateways and endpoints of exploratory tunnels.\n"
+"It's a good reminder for everybody that our network is still relatively small and vulnerable.\n"
+"We don't currently recommend any uses that would put anybody in serious jeopardy.\n"
+"We'll keep working to improve it... please keep working to spread the word. A bigger network is a better network."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:43
+msgid "`\"practical attacks\" paper`"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:47
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:15
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:107
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:28
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:36
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:37
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:67
+msgid "Anonymity Improvements"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:49
+msgid "End-to-end encryption of responses to leaseset lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:50
+msgid "Expand floodfill pool by enabling class 'N' floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:51
+msgid "Randomize padding inside encrypted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:52
+msgid "Preparation for better SSU protocol obfuscation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:56
+msgid "Fix newer lease sets not getting stored or published"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:57
+msgid ""
+"Fix classpath bug when used with 4-year-old installations, causing the "
+"console not to start"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:58
+msgid "Fix addressbook database bug preventing update of the reverse index"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:59
+msgid ""
+"Fix i2psnark bug that changed the infohash of torrents created by Robert and"
+" fetched via magnet link"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:60
+msgid "Fix version checking for plugins"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:61
+msgid ""
+"Fix a streaming timer bug causing frequent IRC disconnects (also affects "
+"other close-on-idle tunnels)"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:65
+msgid "Don't install as a service on Windows by default"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:66
+msgid "Reduce transport idle timeouts"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:67
+msgid "Reduce tunnels on idle in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:68
+msgid "Change default in i2ptunnel GUI to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:69
+msgid "IE 10 support"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:70
+msgid ""
+"Individual expiration times in leases, for efficiency on destinations with a"
+" high number of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:71
+msgid "Low-level encryption and XOR speedups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:72
+msgid "Jetty 7.6.11"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:73
+msgid "Tomcat 6.0.37"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:74
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Spanish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:75
+msgid "New Turkish translation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:76
+msgid "Wrapper 3.5.19 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:2
+msgid "0.9.7.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:7
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:9
+msgid ""
+"This unscheduled release disables the RouterInfo verification messages that "
+"were used in the attack published in the UCSB paper, which should make "
+"correlating a LeaseSet and a Router much more difficult. We have also "
+"included a limited number of other fixes listed below. Our 0.9.8 release, "
+"which will include IPv6 support, is still on-schedule for late September."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:11
+msgid "As usual, we recommend that all users update to this release."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:17
+msgid "Disable RouterInfo verification messages"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:21
+msgid "Extend inbound tunnel expiration"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:22
+msgid "i2prouter: bashism fix"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:23
+msgid "i2psnark: increase max piece size, mime type updates"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:24
+msgid "New reseed host"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:25
+msgid "New update hosts, thanks Meeh and dg"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:26
+msgid "Streaming: RTO changes"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:27
+msgid "Updater: Increase update-via-torrent to 30 percent"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:28
+msgid "UPnP fix for some hardware"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:2
+msgid "0.9.8 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:7
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:9
+msgid ""
+"0.9.8 includes the long-awaited support for IPv6. It's enabled by default, "
+"but of course you need a public IPv6 address to use it. Configuration is on "
+"the 'network' configuration tab in your console. We also have anonymity "
+"improvements including padding of SSU packets and longer router private "
+"keys."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:11
+#, python-format
+msgid ""
+"30%(pc)s of you will update via in-network torrent in this update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:13
+msgid "IPv6 Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:15
+msgid ""
+"IPv6 is enabled and preferred by default. If you have a public IPv6 address \n"
+"and you are connecting to another router with a published IPv6 address, it will \n"
+"connect via IPv6. There is a new IPv6 configuration section on /confignet in \n"
+"the router console. If IPv6 is causing problems you may disable it there."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:22
+msgid ""
+"As a part of the IPv6 development effort, I2P now supports multiple \n"
+"published IP addresses. If you have multiple public IP addresses (IPv4, IPv6, \n"
+"or both), you may enable or disable them individually on /confignet. The \n"
+"default is to use the first IPv4 and IPv6 addresses it discovers. If you have \n"
+"multiple addresses you should review the configuration on /confignet and adjust \n"
+"it if necessary.\n"
+"Note that while you may enable multiple IPv4 and IPv6 addresses on /confignet,\n"
+"we recommend that you use only one IPv4 and one IPv6 address. There are\n"
+"bugs still to be fixed with multiple addresses of each type."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:34
+msgid ""
+"While IPv6 support was designed and developed over several years, it has \n"
+"only been tested by a limited number of users and is still beta. If you do have \n"
+"a public IPv6 address, please monitor your router and the logs for problems, \n"
+"and disable it necessary. Please report any bugs on \n"
+"http://trac.i2p2.i2p."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:42
+msgid "Rekeying Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:44
+msgid ""
+"For those of you running I2P on faster hardware (generally, 64-bit x86) the \n"
+"router will generate a new identity using longer keys. This will substantially \n"
+"reduce your participating traffic for 48 hours or more, while your router \n"
+"re-integrates into the network. Due to the new keys, the large number of \n"
+"torrent updates, and the recent network growth, we expect substantial \n"
+"disruption to the network for a week or more after the update is released. \n"
+"Please be patient and things should start to improve after a few days."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:54
+msgid ""
+"These changes may result in higher CPU usage for some of you. We're doing \n"
+"our best to increase efficiency, but stronger security generally requires more \n"
+"computation. Performance may also be poor during the first week\n"
+"due to the network churn.\n"
+"We will evaluate the network performace before deciding whether to\n"
+"change the key length on slower hardware in a future release."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:63
+msgid ""
+"We are experiencing rapid network growth in the last few weeks, which is \n"
+"causing a bit of a bumpy ride for some, especially on weekends. However, the \n"
+"network is still performing fairly well, so keep spreading the word."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:69
+msgid "More Changes Coming"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:71
+msgid ""
+"We're in the initial stages of desiging major changes to strengthen our \n"
+"crypto. Stronger crypto will use more CPU and it may possibly \n"
+"require a Java 7 JRE at a minimum. We understand your desire to run I2P on low-power \n"
+"and/or older hardware. We're working hard to minimize the impacts, but some \n"
+"loss of performance is inevitable. In addition, Java 5 and 6 are no longer \n"
+"supported by Oracle. Now is a good time to upgrade to Java 7. Any change in \n"
+"minimum requirements will be announced well in advance."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:81
+msgid "New Website"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:83
+msgid ""
+"After a heroic effort by str4d, the new website preview is available at \n"
+"http://i2hq.srv.i2p2.de. We hope to see it go live at \n"
+"https://geti2p.net and http://www.i2p2.i2p soon. Please \n"
+"contribute to the new website translations on Transifex, especially the \n"
+"website_priority resource."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:91
+msgid "Community Participation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:93
+msgid ""
+"In early August, hottuna and zzz attended DEFCON 21 in Las Vegas.\n"
+"Last weekend, echelon attended the CTS IV conference in Berlin and\n"
+"psi attended the Tahoe-LAFS hackfest at GNU 30 in Cambridge, Mass.\n"
+"Several of us will be at 30C3 in Hamburg late this year.\n"
+"It's great to see people participating at these events and representing I2P."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:105
+msgid "IPv6 support for both NTCP and SSU"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:109
+msgid "SSU protocol obfuscation by adding random padding"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:110
+msgid "Longer encryption and DH private keys for users on faster platforms"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:114
+msgid "Fix I2PTunnel / I2CP locking and duplicates (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:115
+msgid "Fix translation of HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:116
+msgid "Fix occasional runtime exception in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:120
+msgid ""
+"Big rework of transport code to accommodate multiple addresses and IPv6"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:121
+msgid "Streaming: Improved recovery from lost acks, other fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:122
+msgid ""
+"Use Transifex for translation of initial news and HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:123
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Swedish, "
+"Turkish"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:124
+msgid "New Romanian translation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:126
+msgid "Wrapper 3.5.20 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:2
+msgid "0.9.8.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:7
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:9
+msgid ""
+"0.9.8.1 fixes a problem with updating to 0.9.8 on Windows for some people. "
+"New installs and non-Windows platforms are not affected, however all "
+"platforms will automatically update even if running 0.9.8."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:11
+msgid ""
+"See the `Trac ticket`_ for details and workarounds. See\n"
+"`the 0.9.8 release notes`_ for information on IPv6 and other changes."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:16
+msgid ""
+"Due to recent attacks, logins are disabled on `Trac`_ and new registrations are\n"
+"disabled on `zzz.i2p`_. Until those services are restored, please report all\n"
+"bugs on IRC freenode or IRC2P #i2p-dev."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:22
+msgid "`Trac ticket`"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:23
+msgid "`the 0.9.8 release notes`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:2
+msgid "0.9.9 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:7
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:9
+msgid ""
+"0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and "
+"starts work on a year-long plan to increase the strength of the "
+"cryptographic signing algorithms used in the router, and support multiple "
+"algorithms and key lengths simultaneously. Automatic update files will now "
+"be signed with 4096-bit RSA keys."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:11
+msgid ""
+"We now support SSL between your router and your servers for security.\n"
+"See `this development thread`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:16
+msgid "`this development thread`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:18
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release.\n"
+"Several members of the I2P team will be at 30C3 in Hamburg this year.\n"
+"Come say hello and ask for an I2P sticker.\n"
+"Thanks to everyone for their support this year."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:30
+msgid "Don't build client tunnels through zero-hop exploratory tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:31
+msgid "New \"su3\" file support using stronger keys"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:32
+msgid "Use su3 for updates"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:36
+msgid "Issues with losing data when closing streams"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:37
+msgid "Fix various streaming connection limit issues"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:38
+msgid "Issues with resource usage of closed connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:39
+msgid "Clean up timer threads in close-on-idle tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:40
+msgid "Several other streaming fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:41
+msgid "Reject more non-public IPv6 addresses"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:42
+msgid "Fix IPv6 GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:43
+msgid "Fix peer selection in first minutes after startup"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:44
+msgid "Several I2PTunnel bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:45
+msgid "Fix major i2psnark DHT bug that prevented magnets from working well"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:46
+msgid ""
+"Fix client tunnels that fail due to name resolution failure at startup, "
+"particularly with b32 hostnames"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:47
+msgid "Fix changing client i2ptunnel target list"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:48
+msgid ""
+"Fix major bugs preventing reception of encrypted responses to leaseset "
+"lookups and verifies"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:49
+msgid "Fix bad links on some i2psnark buttons in Opera and text-mode browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:50
+msgid "Fix NPE in Susimail"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:54
+msgid "Start work on supporting stronger signing keys in the router"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:55
+msgid "Reduce thread usage for HTTP Server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:56
+msgid "Auto-stop update torrent after some time"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:57
+msgid "Add ability to stop webapp via console"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:58
+msgid "New POST throttler in HTTP server tunnel"
+msgstr "新的 HTTP 服务器隧道中的 POST 节流器"
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:59
+msgid "Improve connection throttling"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:60
+msgid "More work to reduce number of connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:61
+msgid "Re-enable router info expiration job"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:62
+msgid ""
+"Extend router info expiration and other changes to reduce load on floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:63
+msgid "Support multiple servers through a single server tunnel"
+msgstr "支持多个服务器通过单个服务器隧道"
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:64
+msgid "Support specification of server port in i2ptunnel clients"
+msgstr "支持 i2ptunnel 客户端中服务器端口的规范"
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:65
+msgid "Add support for SSL connections from i2ptunnel to external server"
+msgstr "添加从 i2ptunnel 至外部服务器的 SSL 连接的支持"
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:66
+msgid "SSL and crypto code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:67
+msgid "i2psnark storage code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:68
+msgid "New destination cache"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:69
+msgid "Lots of code cleanup and resolution of findbugs warnings"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:70
+msgid "New Japanese translation (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:71
+msgid ""
+"Translation updates: French, German, Italian, Romanian, Russian, Spanish, "
+"Swedish, and others"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:73
+msgid "Wrapper 3.5.22 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:1
+msgid ""
+"=====================\n"
+"Syndie 1.105b Release\n"
+"====================="
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:9
+msgid "Update to HSQLDB 2.3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:11
+msgid ""
+"This is the first stable release since February 2013.\n"
+"It is essentially the same as 1.104b-7-rc, with some translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:16
+msgid ""
+"All binaries and source packages are at `syndie.de`_ and `syndie.i2p`_.\n"
+"Plugins are available at `plugins.i2p`_ and `stats.i2p`_."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:21
+msgid ""
+"For those of you upgrading from 1.103b, you will find syndie startup and "
+"shutdown much faster due to the new version of HSQLDB."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:25
+msgid ""
+"If you have a large database or an identity you wish to preserve,\n"
+"you may wish to back up your entire ~/.syndie directory before you start.\n"
+"The upgrade process does make its own backup, however you may find it easier to use your own backup if the upgrade fails."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:31
+msgid ""
+"Upgrades from 1.103b may fail for some people due to database corruption due to bugs in the old HSQLDB.\n"
+"Unfortunately, we don't know how to fix it.\n"
+"Your alternatives are to start over with a clean database, or stay with 1.103b forever.\n"
+"Sorry about that."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:43
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:29
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:56
+msgid "GUI Improvements and Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:72
+msgid "Syndication"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:83
+msgid "Database"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:104
+msgid "New translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:105
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:60
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:56
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:99
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:57
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:69
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:72
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:82
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:77
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:57
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:65
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:95
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:71
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:52
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:111
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:96
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:67
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:87
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:64
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:94
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:68
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:93
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:59
+#: 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.rst:70
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:63
+msgid "Translation updates"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.10 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:9
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker to correlate a Destination with a Router."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:11
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more difficult for an attacker\n"
+"to correlate a Destination with a Router. It also fixes character encoding bugs in susimail,\n"
+"and includes lots of other bug fixes and translation updates.\n"
+"Most of you will update via torrent, using the new \"su3\" update format with stronger keys."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:18
+msgid ""
+"We recently attended `30C3`_ and `Real World Crypto`_, making several new\n"
+"connections and formulating `big plans`_ for 2014. Thanks to those who\n"
+"supported our attendance with their `donations`_!"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:26
+msgid "`big plans`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:27
+msgid "`donations`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:38
+msgid "Use client tunnels for LeaseSet lookups"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:42
+msgid ""
+"Flood netdb stores to new location before midnight to prevent lookup fails "
+"after midnight"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:43
+msgid "Fix setting I2CP host/port in BOB"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:44
+msgid "Fix several character encoding issues in susimail"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:45
+msgid "Fix StandardServerSocket.close()"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:46
+msgid "Fix exception in PrivateKeyFile"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:47
+msgid "Fixes in RouterInfo expiration task"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:51
+msgid "Tweaks to reduce number of peer connections"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:52
+msgid "Several threading fixes to reduce blocking in the timer queues"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:53
+msgid "Disable streaming ping handling for clients"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:54
+msgid "Use i2psnark's Kademlia library for the router netdb also"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:55
+msgid ""
+"Increase outbound exploratory default to 2 + 0-1 hops, part of gradual "
+"increase to 3 hops in/out"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:56
+msgid "More findbugs fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:57
+msgid "Streaming library refactoring"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:58
+msgid "Support country-specific translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:59
+msgid "New Brazilian Portuguese translation"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.11 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:9
+msgid ""
+"0.9.11 adds support for outproxy plugins, improves lease set lookup "
+"security, and reduces memory usage."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:11
+#, python-format
+msgid ""
+"0.9.11 continues improving LeaseSet lookup and storage to prevent an attacker\n"
+"from correlating a Destination with a Router. It adds support for the\n"
+"%(orchid)s outproxy plugin which is available at %(url)s. There is a\n"
+"reduction in memory usage due to fixes in the transports. We have some I2CP\n"
+"protocol improvements that will provide better lookup facilities and\n"
+"authorization protection for external clients. Of course, there's also the\n"
+"usual collection of bug fixes. All users should update."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:21
+msgid ""
+"This may be the last release that works with Java 5, which is very old and\n"
+"unsupported. If you are using a Java 5 or 6 runtime, we strongly recommend that\n"
+"you upgrade to Java 7."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:30
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:17
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:32
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:30
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:37
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:21
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:24
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:29
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:25
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:24
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:67
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:47
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:29
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:48
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:27
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:29
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:26
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:50
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:26
+#: 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.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."
+msgstr "0.9.22 带有bug修复并且开始 Ed25519 迁移"
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:39
+msgid "More leaseset handling improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:43
+msgid "Fix NPE after client shutdown"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:44
+msgid "Fix wrapper log encoding on logs page"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:45
+msgid "Streaming ping and I2Ping fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:49
+msgid "Add support for Orchid plugin"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:50
+msgid "Add HTTPS support to HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:51
+msgid "New I2CP support for hostname lookups by external clients"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:52
+msgid ""
+"Stricter I2CP authorization enforcement of external clients (incompatible "
+"change)"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:53
+msgid "Increase default inbound exploratory tunnel length variance"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:54
+msgid "Big reduction in memory usage by transports"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:55
+msgid "All in-net updates via torrent"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:1
+msgid ""
+"=========================\n"
+"Malware at i2pbrowser.net\n"
+"========================="
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:8
+msgid ""
+"The site i2pbrowser.net is a fake I2P website mirror serving up malware for "
+"Windows."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:10
+msgid ""
+"We have recently been made aware of the existence of i2pbrowser.net. This\n"
+"website copies our homepage and download page, and attempts to trick users into\n"
+"downloading Windows malware."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:16
+msgid ""
+"There are several indicators that point to i2pbrowser.net being a malware "
+"site:"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:20
+msgid "The domain was registered on February 10th, 2014."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:21
+msgid ""
+"The download URLs for Windows, Mac OSX, Linux, Android etc. all link to the "
+"same .exe file."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:22
+msgid ""
+"The .exe is only 741 KB; the official Windows installer for I2P is 13 MB."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:24
+msgid ""
+"We have not examined the malware ourselves, but it does not appear to be very\n"
+"sophisticated; it is not integrated into or bundled with the I2P software.\n"
+"Information security expert `Lance James`_ posted `a tweet`_ labelling it as\n"
+"\"a standard dark comet rat\"."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:31
+msgid ""
+"Spread the word. The only official download locations for I2P are linked on our\n"
+"`download page`_. All I2P download packages are GPG-signed by the\n"
+"`release signing key`_."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:38
+msgid "`a tweet`"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:40
+msgid "`release signing key`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:1
+msgid ""
+"================================================================\n"
+"Search Engine DuckDuckGo Awards Invisible Internet Project $5000\n"
+"================================================================"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:10
+msgid ""
+"Search engine `DuckDuckGo`_ `donates`_ $5000 to the `Invisible Internet "
+"Project`_ (I2P) in their open source donation program."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:12
+msgid ""
+"**Somewhere, NH** -- Internet search company `DuckDuckGo`_ `donates`_\n"
+"$5000 to the `Invisible Internet Project`_ (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal. With an emphasis on privacy, DuckDuckGo provides a search\n"
+"engine which does not track its users or store personal data. I2P is an anonymous network intended to\n"
+"protect individuals from dragnet surveillance regularly performed by ISPs and governments."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:21
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:42
+msgid ""
+"This marks the single largest donation ever received by I2P and reflects a growing interest in\n"
+"privacy and security by the Internet community. The funding will help I2P to reach more users, expand\n"
+"development, and audit the code. It will also enable I2P developers to attend conferences, such\n"
+"as the `Real-World Cryptography`_ conference in New York City, where the developers met and\n"
+"collaborated with cryptography experts pursuant to I2P's goals of providing anonymity to the\n"
+"public."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:51
+msgid ""
+"I2P thanks Gabriel Weinberg and DuckDuckGo for the generous donation,\n"
+"and the I2P community for its support in the `nominations`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:35
+msgid ""
+"For more information about I2P, visit `our web site`_ or follow us `on "
+"Twitter`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:39
+msgid "`donates`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:42
+msgid "`our web site`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:43
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:59
+msgid "`nominations`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:45
+msgid "`on Twitter`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.12 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:10
+msgid "0.9.12 adds support for ECDSA and updates to Jetty 8"
+msgstr "0.9.12 添加 ECDSA 的支持并更新 Jetty 8"
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:12
+msgid ""
+"I2P now requires Java 6 or higher.\n"
+"We strongly recommend that you upgrade to Java 7.\n"
+"If you are still using Java 5, you must upgrade your Java before installing I2P 0.9.12."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:18
+msgid ""
+"0.9.12 adds preliminary support for ECDSA-signed Destinations.\n"
+"It contains several fixes for the handling of Delivery Status Messages (acknowledgements)\n"
+"and those messages are now end-to-end encrypted for increased security."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:24
+msgid ""
+"We have upgraded to Jetty 8.\n"
+"Jetty 8 is almost identical to Jetty 7, so there are no complex configuration file conversions as there have been in past Jetty upgrades.\n"
+"No manual changes should be necessary."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:35
+msgid ""
+"In early March, Internet search company `DuckDuckGo`_ `donated`_\n"
+"$5000 to the `Invisible Internet Project` (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:56
+msgid "`donated`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:69
+msgid "Encrypt Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:70
+msgid "Add preliminary support for ECDSA-signed Destinations"
+msgstr "初步添加 ECDSA 签名对目标的支持"
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:71
+msgid "Add check for replayed NTCP session requests"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:72
+msgid "Add throttling and blocking checks to streaming ping processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:78
+msgid "Fix RouterInfo exchange in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:79
+msgid "Extend timeout for Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:80
+msgid "Drop streaming messages from recently closed connections"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:81
+msgid "Fix restarts on Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:82
+msgid "Restore profileOrganizer.sameCountryBonus advanced config"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:83
+msgid "Fix for jwebcache and i2phex"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:89
+msgid "Jetty 8.1.14.v20131031; Java 6 now required"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:90
+msgid ""
+"Reduce target connection count again to reduce tunnel reject rate further"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:91
+msgid "Add rate limit for outbound connections at tunnel endpoints"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:92
+msgid "Add optional inproxy blocking in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:93
+msgid "Use SSU session key for relay request/response when available"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:94
+msgid "Include HTTP POST data in SYN packet"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:95
+msgid "Add getopt library for better argument processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:96
+msgid "More removal of Jetty dependencies"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:97
+msgid "Remove MD5 code, use Java libraries instead"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:98
+msgid "Change the default addressbook subscription URL"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.13 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:10
+msgid "0.9.13 with SusiMail improvements and fixes for firewalled routers"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:12
+msgid ""
+"0.9.13 includes fixes for firewalled routers, netdb lookup improvements, and a big SusiMail update.\n"
+"Of course, there's also the usual collection of bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:22
+msgid ""
+"zzz has updated his GPG keys, and the release files are signed with his\n"
+"new keys. His new key fingerprint is:"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:31
+msgid "SusiMail"
+msgstr "SusiMail"
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:33
+msgid "Many UI improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:34
+msgid "Implement local storage of messages"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:35
+msgid "Add offline mode"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:36
+msgid "Messages now deleted on server after download"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:37
+msgid "Several backend POP3 and SMTP speedups and fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:41
+msgid "NetDB lookup fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:42
+msgid "Fix transition from not-firewalled to firewalled"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:43
+msgid "Fix plugin uninstall on Windows"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:44
+msgid "SSU locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:45
+msgid "Fix rapid republishing of SSU addresses"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:46
+msgid "IRC client exception fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:47
+msgid "Fix changing HTTP outproxy configuration without restarting tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:51
+msgid "New i2ptunnel server option for unique local address per-client"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:52
+msgid "Warn in i2ptunnel on duplicate client ports"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:53
+msgid "Update HTTP User-Agent to match TBB"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:54
+msgid "Extend SSU establishment retransmission timer"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:55
+msgid "Use constant-time method for HMAC verification"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:56
+msgid "New translation: Slovak"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.14 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:10
+msgid "0.9.14 includes critical security fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:12
+msgid ""
+"0.9.14 includes critical fixes for XSS and remote execution vulnerabilities reported by Exodus Intelligence.\n"
+"As an added precaution, we have disabled several advanced configuration features in the router console,\n"
+"including installation of new plugins.\n"
+"We plan to re-enable these in a future release after additional review."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:19
+msgid ""
+"Due to I2P library changes, I2P-Bote users must upgrade their plugin to version 0.2.10 to work with I2P 0.9.14.\n"
+"Your router should update the plugin automatically after the router restarts."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:24
+msgid ""
+"The release also contains several bug fixes in i2ptunnel, i2psnark, and other areas,\n"
+"and updates to the latest Jetty, Tomcat, and Wrapper.\n"
+"We've also implemented a faster and more secure method for reseeding.\n"
+"Of course, there's also the usual collection of minor bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:31
+msgid ""
+"You must update to this release immediately. The best way to\n"
+"maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:39
+msgid "Security Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:41
+msgid "Fix several XSS issues"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:42
+msgid "Disable changing news feed URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:43
+msgid "Disable plugin install"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:44
+msgid "Disable setting unsigned update URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:45
+msgid "Disable clients.config editing from the UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:46
+msgid "Add Content-Security-Policy and X-XSS-Protection headers"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:47
+msgid "Disable unused ExecNamingService (thx joernchen of Phenoelit)"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:52
+msgid "Fix tunnel building so it doesn't get \"stuck\" on a single pool"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:53
+msgid "Reject participating tunnels when hidden"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:54
+msgid ""
+"Several i2psnark improvements and fixes (GUI and DHT), including changes for"
+" better compatibility with Vuze"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:59
+msgid ""
+"Reseeding now fetches a signed zip file containing router infos for security"
+" and speed"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:60
+msgid "Use JVM's AES implementation if it is faster"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:61
+msgid "More advanced options shown in the i2ptunnel edit pages"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:62
+msgid ""
+"Per-message reliabilitiy settings in I2CP and error propagation back from "
+"router to client"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:63
+msgid "Lots of findbugs fixes and cleanups"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:64
+msgid "Support signature types in SAM, bump rev to 3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:65
+msgid "New event log page in console"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:68
+msgid "Wrapper 3.5.25 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:1
+msgid ""
+"================\n"
+"0.9.14.1 Release\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:10
+msgid "0.9.14.1 includes i2psnark and console fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:12
+msgid ""
+"0.9.14.1 includes fixes for the \"Add Torrent\" form in i2psnark and some other web forms.\n"
+"We've restored the ability to install plugins via the console, but you must first edit your router.config file\n"
+"(in ~/.i2p/ or /var/lib/i2p/i2p-config/ or %APPDATA%\\I2P\\) to add the line routerconsole.enablePluginInstall=true.\n"
+"Other rarely-used advanced features that were removed in 0.9.14 may be restored by adding the line routerconsole.advanced=true."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:19
+msgid ""
+"As usual, if configured with the default \"Download and Verify\", the router will automatically download the update and display a button to restart.\n"
+"However, due to a bug in 0.9.14, if your update is configured for \"Notify only\", the download button will not be displayed.\n"
+"You must change your configuration to \"Download and Verify\" or \"Download, Verify, and Restart\" to update."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:25
+msgid ""
+"If you are still running 0.9.13 or older, we recommend that you update to this release as soon as possible.\n"
+"If you don't often check your router console, please consider changing your configuration to \"Download, Verify, and Restart\"\n"
+"to ensure you are always running the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:37
+msgid "Fix i2psnark add torrent form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:38
+msgid "Fix iptunnel custom options form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:39
+msgid "Fix update download buttons"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:44
+msgid "Restore all console features if routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:45
+msgid "Restore plugin install if routerconsole.enablePluginInstall=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:46
+msgid "Restpre client adds/changes if routerconsole.enableClientChange=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:47
+msgid ""
+"Plugin signing keys are now whitelisted unless "
+"routerconsole.allowUntrustedPlugins=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:48
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:71
+msgid "More escaping and cleanups in forms and messages"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:1
+msgid ""
+"==============================\n"
+"The birth of Privacy Solutions\n"
+"=============================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:10
+msgid "Organization launch"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:14
+msgid ""
+"Hello all!\n"
+"\n"
+"Today we announce the Privacy Solutions project, a new organization that develops and maintains I2P software. Privacy Solutions includes several new development efforts designed to enhance the privacy, security, and anonymity for users, based on I2P protocols and technology.\n"
+"\n"
+"These efforts include\n"
+"\n"
+"1) The Abscond browser bundle.\n"
+"2) The i2pd C++ router project.\n"
+"3) The \"BigBrother\" I2P network monitoring project.\n"
+"4) The Anoncoin crypto-coin project.\n"
+"5) The Monero crypto-coin project.\n"
+"\n"
+"Privacy Solutions' initial funding was provided by the supporters of the Anoncoin and Monero projects. Privacy Solutions is a Norway-based non-profit type of organization registered within the Norwegian government registers. ( Kind of like US 501(c)3. )\n"
+"\n"
+"Privacy Solutions plans to apply for funding from the Norwegian goverment for network research, because of BigBrother (We'll get back to what that is) and the coins that are planned to use low-latency networks as primary transport layer. Our research will support advances in software technology for anonymity, security, and privacy.\n"
+"\n"
+"\n"
+"First a little bit about the Abscond Browser Bundle. This was first a one-man project by Meeh, but later on friends started sending patches, the project is now trying to create the same easy access to I2P as Tor has with their browser bundle. Our first release isn't far away, it's just some gitian script tasks left, including setup of the Apple toolchain. But again we will add monitoring with PROCESS_INFORMATION (A C struct keeping vital proces information about an process) from the Java instance to check on I2P before we declare it stable. I2pd will also switch with the Java version once it's ready, and there is no point in shipping a JRE in the bundle anymore. You can read more about the Abscond Browser Bundle at https://hideme.today/dev"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:36
+msgid ""
+"We would also like to inform of the current status of i2pd. I2pd supports "
+"bi-directional streaming now, that allows to use not only HTTP but long-"
+"lived communication channels. Instant IRC support has been added. I2pd users"
+" are able to use it same way as Java I2P for access to I2P IRC network. "
+"I2PTunnel is one of key features of I2P network, allowing non-I2P "
+"applications communicate transparently. That's why it's vital feature for "
+"i2pd and one of key milestones."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:40
+msgid ""
+"At last, if you are familiar with I2P you probably know about "
+"Bigbrother.i2p, which is a metrics system Meeh made over a year back. "
+"Recently we noticed that Meeh actually have 100Gb of non-duplicated data "
+"from nodes reporting in since initial launch. This will also be moved to "
+"Privacy Solutions and be rewritten with a NSPOF backend. With this we will "
+"aslo start using the Graphite ( http://graphite.wikidot.com/screen-shots ). "
+"This will give us a great overview over the network without privacy issues "
+"for our end users. The clients filter all data except country, router hash "
+"and success rate on tunnel buildings. The name of this service is as always "
+"a little joke from Meeh."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:47
+msgid ""
+"We have shorted down a bit of the news here, if you're interested in more information please visit https://blog.privacysolutions.no/\n"
+"We're still under construction and more content will come!\n"
+"\n"
+"\n"
+"\n"
+"For further information contact: press@privacysolutions.no\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"Best regards,\n"
+"\n"
+"Mikal \"Meeh\" Villa"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:1
+msgid ""
+"=============================================\n"
+"Android test release on Google Play in Norway\n"
+"============================================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:10
+msgid ""
+"I2P Android and Bote have been released on Google Play in Norway, as a test "
+"run for a future worldwide release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:12
+msgid ""
+"I2P Android has existed for over three years. In that time, it has evolved from\n"
+"a simple test project into a usable, useful Android port of the I2P router. Our\n"
+"eventual goal has been to release I2P Android on Google Play, to make it easier\n"
+"for users to discover, install and use I2P on their Android devices. After much\n"
+"work improving the user interface, fixing bugs and testing, we think that I2P\n"
+"Android is finally ready to go where the users are."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:21
+msgid ""
+"Initially, we are only releasing to Android users in Norway, as a test run. I2P\n"
+"Android will have far more exposure on Google Play than it has ever had before,\n"
+"and there will be bugs and usability issues that we need to fix. It will be much\n"
+"easier (and less stressful!) to respond to feedback if we only need to deal with\n"
+"reports from hundreds of users instead of thousands (already orders of magnitude\n"
+"more feedback than we have ever had)."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:30
+msgid ""
+"Simultaneously we are making the first public release of Bote, an Android port\n"
+"of `I2P-Bote`_. Bote is private, distributed, secure email, made easy. It runs\n"
+"on top of the I2P network, and while it works as a standalone app, it will use\n"
+"the I2P Android app by default if installed. As with I2P Android, we are\n"
+"initially only releasing Bote to Android users in Norway."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:38
+msgid ""
+"The apps are being released on Google Play by `The Privacy Solutions Project`_.\n"
+"See their `blog post`_ for further information, and links to the Google Play\n"
+"page for Norway users."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:44
+msgid ""
+"As lead developer for I2P Android and Bote, I look forward to your comments. You\n"
+"are the people who will be using them, and your perspectives will help me craft\n"
+"simple, intuitive apps that make privacy accessible to everyone."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:51
+msgid "`The Privacy Solutions Project`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:52
+msgid "`blog post`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:54
+msgid "Website release details"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:56
+msgid ""
+"We have also updated I2P Android on the website to match the release candidate\n"
+"deployed in Norway. This version will be updated with changes as we respond to\n"
+"feedback from Norwegian users, heading towards our next stable release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:62
+msgid ""
+"Please note that we have upgraded the Android API to 9. This means that Froyo\n"
+"Android 2.2 will not be supported anymore; the minimum requirement is now\n"
+"Gingerbread Android 2.3."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:68
+msgid ""
+"Also note that if you have an earlier version of I2P Android, you will need to\n"
+"uninstall and reinstall because we have changed the release keys. Further\n"
+"information about this will be provided in a subsequent blog post."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.15 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:10
+msgid "0.9.15 includes Ed25519 crypto and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:12
+msgid ""
+"0.9.15 adds preliminary support for Ed25519 EdDSA signatures.\n"
+"It includes a new persistent configuration backend for i2psnark and fixes several issues with i2psnark's handling of file names.\n"
+"There are several improvements to speed up SAM.\n"
+"Plugins now support stronger signatures in the su3 file format.\n"
+"Plugin installation via the console, which was disabled in 0.9.14, is re-enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:20
+msgid ""
+"We have supported ECDSA signatures since 0.9.12, and we would like to start using ECDSA by default.\n"
+"Unfortunately, some of you are still running older I2P versions, and for others,\n"
+"their distribution or Java runtime does not support ECDSA. Red Hat\n"
+"(RHEL, Fedora) distributions are reported to be missing ECDSA.\n"
+"Some have fixed the Java issues by upgrading from Java 6 to Java 7;\n"
+"others have had success with installing the \"unlimited strength policy files\".\n"
+"We've added information about missing crypto to the log file and the /logs page in the console.\n"
+"After you update to 0.9.15, please check if you are missing ECDSA support, and attempt to fix it if necessary.\n"
+"This is particularly important for those that run popular eepsites and services."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:41
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:39
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:46
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:32
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:46
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:38
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:36
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:75
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:55
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:37
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:56
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:35
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:37
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:34
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:58
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:34
+#: 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.rst:38
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:35
+msgid "Changes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:43
+msgid "Add support for Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:44
+msgid ""
+"i2psnark move to separate config file for each torrent to better support "
+"per-torrent settings"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:45
+msgid "Add i2psnark support for data outside the i2psnark/ directory"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:46
+msgid "Enable stronger signatures (su3 format) for plugins"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:47
+msgid "Speed up SSU introductions by responding to hole punch messages"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:48
+msgid "Several improvements in SAM efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:53
+msgid "Form submission fixes in the console and i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:54
+msgid "Streaming fixes for long signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:55
+msgid "i2psnark fixes for file name character mapping when seeding"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:56
+msgid "I2PTunnel fixes stopping client tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:57
+msgid "I2PTunnel fix updating options on a running delay-open client tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:62
+msgid "Re-enable plugin installation via the console, removed in 0.9.14"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:63
+msgid "i2psnark now remembers uploaded count across restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:64
+msgid "i2psnark increase max piece size to 8 MB"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:65
+msgid "i2psnark several UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:66
+msgid "Prohibit SSU peer test requests unless a connection is established"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:67
+msgid ""
+"i2ptunnel add support for local SSL connections for standard and IRC client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:68
+msgid "Console and log warnings for unavailable crypto"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:69
+msgid ""
+"More consistent routing for Delivery Status Messages to reduce network "
+"connections"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:70
+msgid "Disable external entities in UPnP XML parser"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:73
+msgid "Update GeoIP data (in both new installs and updates)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.16 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:10
+msgid "0.9.16 includes crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:12
+msgid ""
+"0.9.16 is a significant step forward in our plan to migrate\n"
+"from DSA to ECDSA and then EdDSA cryptographic signatures,\n"
+"and makes several other changes to increase your anonymity and security.\n"
+"Client tunnels for standard, IRC, and SOCKS IRC will use ECDSA signatures by default.\n"
+"In addition, we've fixed a large number of serious bugs, including console lockups."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:20
+msgid ""
+"Changes in router data structures will require i2pcontrol plugin users to "
+"update to version 0.0.9."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:24
+msgid ""
+"If you run an eepsite or a service and you are not running a recent release,\n"
+"or your Java or OS does not support ECDSA (as noted in the logs and on the /logs page in the console),\n"
+"please fix the issue as soon as possible or your users will soon be unable to connect."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:41
+msgid "Add support for stronger Router Info signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:42
+msgid "Encrypt RI lookups and responses on faster boxes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:43
+msgid ""
+"Require I2CP authorization for all messages when enabled (requires 0.9.11 or"
+" higher client)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:44
+msgid "Disable SSLv3 and older ciphers for reseeding and other uses of SSL"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:45
+msgid ""
+"Use ECDSA by default for i2ptunnel IRC, SOCKS-IRC, and standard client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:46
+msgid "Don't prefer floodfills in some countries"
+msgstr "默认不在一些国家播种"
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:47
+msgid ""
+"New column sorting, set-all priority buttons, and upload ratio display in "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:48
+msgid "Increase i2psnark tunnel default to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:49
+msgid ""
+"Implement bundling of multiple fragments in a single SSU message for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:50
+msgid "New add-to-addressbook links on netdb leaseset page"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:51
+msgid ""
+"Implement I2NP DatabaseLookupMessage search type field to improve lookup "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:58
+msgid "CPUID fixes and updates for recent processors"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:59
+#, python-format
+msgid "i2psnark fix magnet links with %(pc)s-encoding"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:60
+#, python-format
+msgid ""
+"Improve handling of SSU socket closing out from under us (hopefully fix "
+"100%(pc)s CPU)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:61
+msgid "SSU bitfield handling fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:62
+msgid "Fix HTTP header issues in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:63
+msgid "Fix rare NPE when building garlic message"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:64
+msgid "Fix console lockups (hopefully)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:65
+msgid "Fix i2ptunnel js confirm-delete"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:70
+msgid ""
+"Move router data structures from i2p.jar to router.jar (breaks i2pcontrol "
+"plugin)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:71
+msgid ""
+"New router keys now stored in router.keys.dat (eepPriv.dat format) instead "
+"of router.keys"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:72
+msgid "Improve handling of unsupported encryption throughout"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:73
+msgid "More error checking of client I2CP messages by the router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:74
+msgid "Initial work on hooks for pluggable transports"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:75
+msgid "Enforce request timestamp in tunnel build messages"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:76
+msgid ""
+"Re-enable message status in streaming, but treat no leaseset as a soft "
+"failure for now"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:77
+msgid "Return unused DH keypairs to the pool for efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:78
+msgid "Raise failsafe tagset limit and improve deletion strategy when hit"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:79
+msgid ""
+"Change eepsite Jetty threadpool and queue configuration (new installs only)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:80
+msgid "NTCP establishment refactoring in prep for NTCP2 and PT"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.17 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:10
+msgid "0.9.17 with more crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:12
+msgid ""
+"0.9.17 is primarily a bugfix release, but it also continues our migration to"
+" stronger cryptographic signatures."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:16
+msgid ""
+"We have moved the news feed system used for the news on your console and the latest router version indication\n"
+"to a signed format using RSA 4096-bit keys for enhanced security."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:21
+msgid ""
+"New eepsites and servers will be ECDSA-signed by default, if ECDSA is available.\n"
+"There is now a warning in the console sidebar if ECDSA is not available.\n"
+"For RedHat users, we have reports of successful installs of the BouncyCastle Provider (bcprov) jar to add ECDSA support."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:27
+msgid ""
+"We've fixed several serious bugs, including an SSU packet corruption problem,\n"
+"and a SAM bug affecting i2p-messenger and other SAM applications.\n"
+"There are several fixes for the preliminary ECDSA router signatures added in the last release but not yet enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:33
+msgid ""
+"Many of us will be attending 31C3 in Hamburg in December. Stop by our table "
+"and say hi!"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:48
+msgid "Signed news"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:49
+msgid "ECDSA default for new server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:50
+msgid "Reseeding now SSL-only by default"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:55
+msgid "Fix SSU sending corrupt ack-only packets with partial bitfields"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:56
+msgid "Fix SSU inbound connection fail from non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:57
+msgid "Don't select incompatible peers if we are a non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:58
+msgid "Fix EdDSA signature verification bug"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:59
+msgid ""
+"Set I2NP lookup type flags in all cases, not just when a reply tunnel is "
+"used"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:60
+msgid "Stop i2ptunnel server acceptor thread after close"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:61
+msgid "Fix bug preventing some plugins from stopping completely"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:62
+msgid "Fix SAM v3 bug causing failures in incoming connections"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:67
+msgid "Add a warning in the console sidebar if ECDSA not supported"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:68
+msgid "Log warnings for Java 6 that we will eventually require Java 7"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:69
+msgid "Don't let proxied routers auto-floodfill"
+msgstr "不要让经过代理的路由器自动播种"
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:70
+msgid "Don't resend SSU acks that are too old"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:71
+msgid "Don't publish direct info in SSU address if introducers are required"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:72
+msgid "New default opentrackers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:73
+msgid "Add support for specifiying data directory per-torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:74
+msgid "Changes in streaming accept() error behavior"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:75
+msgid "Minor blockfile format changes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:76
+msgid ""
+"New option for persistent random key to preserve peer ordering across "
+"restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:1
+msgid ""
+"====================\n"
+"Android app releases\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:10
+msgid ""
+"I2P Android 0.9.17 and Bote 0.3 have been released on the website, Google "
+"Play and F-Droid."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:12
+msgid ""
+"It has been some time since I last posted updates about our Android development,\n"
+"and several I2P releases have gone by without any matching Android releases.\n"
+"At last, the wait is over!"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:18
+msgid ""
+"New app versions\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:23
+msgid ""
+"New versions of I2P Android and Bote have been released! They can be downloaded\n"
+"from these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:31
+msgid ""
+"The main change in these releases is the transition to Android's new Material\n"
+"design system. Material has made it much easier for app developers with, shall\n"
+"we say, \"minimalist\" design skills (like myself) to create apps that are nicer\n"
+"to use. I2P Android also updates its underlying I2P router to the just-released\n"
+"version 0.9.17. Bote brings in several new features along with many smaller\n"
+"improvements; for example, you can now add new email destinations via QR codes."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:40
+msgid ""
+"As I mentioned in `my last update`_, the release key that signs the apps has\n"
+"changed. The reason for this was because we needed to change the package name\n"
+"of I2P Android. The old package name (``net.i2p.android.router``) had already\n"
+"been taken on Google Play (we still don't know who was using it), and we wanted\n"
+"to use the same package name and signing key for all distributions of I2P\n"
+"Android. Doing so means that a user could initially install the app from the I2P\n"
+"website, and then later if the website was blocked they could upgrade it using\n"
+"Google Play. Android OS considers an application to be completely different when\n"
+"its package name changes, so we took the opportunity to increase the strength of\n"
+"the signing key."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:53
+msgid "The fingerprint (SHA-256) of the new signing key is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:63
+msgid "`my last update`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:65
+msgid ""
+"Google Play\n"
+"-----------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:70
+msgid ""
+"A few months ago we `released`_ both I2P Android and Bote on Google Play in\n"
+"Norway, to test the release process there. We are pleased to announce that both\n"
+"apps are now being released globally by `Privacy Solutions`_. The apps can be\n"
+"found at these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:80
+msgid ""
+"The global release is being done in several stages, starting with the countries\n"
+"for which we have translations. The notable exception to this is France; due to\n"
+"import regulations on cryptographic code, we are unable yet to distribute these\n"
+"apps on Google Play France. This is the same issue that has affected other apps\n"
+"like TextSecure and Orbot."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:88
+msgid "`released`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:90
+msgid "`I2P on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:91
+msgid "`Bote on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:93
+msgid ""
+"F-Droid\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:98
+msgid ""
+"Don't think we have forgotten about you, F-Droid users! In addition to the two\n"
+"locations above, we have set up our own F-Droid repository. If you are reading\n"
+"this post on your phone, `click here`_ to add it to F-Droid (this only works in\n"
+"some Android browsers). Or, you can manually add the URL below to your F-Droid\n"
+"repository list:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:108
+msgid ""
+"If you would like to manually verify the fingerprint (SHA-256) of the repository\n"
+"signing key, or type it in when adding the repository, here it is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:117
+msgid ""
+"Unfortunately the I2P app in the main F-Droid repository has not been updated\n"
+"because our F-Droid maintainer has disappeared. We hope that by maintaining this\n"
+"binary repository, we can better support our F-Droid users and keep them\n"
+"up-to-date. If you have already installed I2P from the main F-Droid repository,\n"
+"you will need to uninstall it if you want to upgrade, because the signing key\n"
+"will be different. The apps in our F-Droid repository are the same APKs that are\n"
+"provided on our website and on Google Play, so in future you will be able to\n"
+"upgrade using any of these sources."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:128
+msgid "`click here`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:1
+msgid ""
+"================\n"
+"31C3 trip report\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:9
+msgid ""
+"CCC has always been a productive time for us, and 31C3 was no exception. "
+"Here is a summary of our various meetings and discussions."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:20
+msgid ""
+"We were, for the second year in a row, at a great location in the Congress, in\n"
+"`Noisy Square`_, right next to the EFF table. Being part of Noisy Square has\n"
+"really increased our visibility and helped many people find us. Thanks to Noisy\n"
+"Square and the 31C3 organizers for a great Congress."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:29
+msgid ""
+"We also thank Gabriel Weinberg and his fabulous search engine `DuckDuckGo`_ for\n"
+"their support of open source anonymity tools and their `generous contribution`_\n"
+"to I2P in 2014. Funding from DuckDuckGo and others helped support our attendance\n"
+"at CCC. This is the primary annual meetup for I2P developers and it is critical\n"
+"to our success."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:38
+msgid "`generous contribution`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:40
+msgid ""
+"Discussions with others\n"
+"======================="
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:48
+msgid ""
+"We spoke at length with Christian Grothoff of `GNUnet`_. He has moved himself\n"
+"and the project from TU Munich to `Inria`_ in France. He has a large number of\n"
+"`open positions`_. This is a great opportunity to get paid to work on open\n"
+"source anonymity tools, we encourage everybody to contact him about it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:57
+msgid "`open positions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:59
+msgid ""
+"The prospect of an invigorated GNUnet with a large amount of new funding is\n"
+"quite interesting. We discussed more ways to work together. In early 2014, we\n"
+"worked hard to understand the GnuNet DNS replacement, but we were unable to\n"
+"figure out a good fit for it in I2P. One of his new ideas is a distributed,\n"
+"anonymous statistics gathering subsystem, for detecting problems or attacks on\n"
+"the network. We'd definitely be interested in that."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:68
+msgid ""
+"We also discussed the `Special-Use Domain Names of Peer-to-Peer Systems draft`_.\n"
+"A new, greatly simplified version 3 was posted in December. The prospects for\n"
+"approval remain unclear. The best way to monitor or participate in the\n"
+"discussion is via the `IETF DNSOP WG mailing list`_. We will attempt to do so\n"
+"on our side, and also give Hellekin a new point-of-contact for this topic."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:76
+msgid "`Special-Use Domain Names of Peer-to-Peer Systems draft`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:77
+msgid "`IETF DNSOP WG mailing list`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:79
+msgid ""
+"We apologized to Christian for not being organized enough to have a talk at his\n"
+"`We Fix The Net assembly`_. One of our biggest failures as a project is our\n"
+"seeming inability to submit talks at conferences. We'll have to do better in the\n"
+"new year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:86
+msgid "`We Fix The Net assembly`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:91
+msgid ""
+"Iain Learmonth, a Debian participant, stopped by. He wants to put I2P in with\n"
+"other anonymity tools into this new Debian \"superpackage\" of some sort, and\n"
+"would love to get I2P into Debian in 2015. He claims the process is now easy,\n"
+"just `follow the instructions`_. We said that's funny, we've been\n"
+"`stuck in the process for over 7 years`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:99
+msgid "`follow the instructions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:100
+msgid "`stuck in the process for over 7 years`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:102
+msgid ""
+"He said, well, try the new process, it works great, should be no problem at all\n"
+"if your package is in good shape. The people in Debian that run this process are\n"
+"eager volunteers who want nothing more than to get more packages in. We said our\n"
+"package is indeed in fantastic shape, and we would try out the new process as\n"
+"soon as possible. If all this is true, we will be in the next Debian release in\n"
+"late 2015. This would be very very cool."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:114
+msgid ""
+"We had a nice discussion with BitingBird of Tails. They are very happy with our\n"
+"rapid response to the `vulnerability disclosure`_ last summer, resulting in our\n"
+"`0.9.14 release`_. Our vulnerability was initially blamed on Tails, and they\n"
+"took `great offense`_ to that and the lack of private notification. We thanked\n"
+"them for taking the heat and fighting back."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:122
+msgid "`vulnerability disclosure`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:123
+msgid "`0.9.14 release`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:124
+msgid "`great offense`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:126
+msgid ""
+"BitingBird also handles support, and she tells us the number one issue is how\n"
+"long I2P takes to start up and be useful for browsing I2P sites. Her standard\n"
+"answer is \"wait ten more minutes\" and that seems to be effective. I2P is\n"
+"particularly slow to startup on Tails since it does not persist peer data by\n"
+"default. It would be nice to change that, but there's also things we can do on\n"
+"the I2P side to make things start faster. Expect some improvement in our 0.9.18\n"
+"release."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:139
+msgid ""
+"Longtime friend of I2P Bernhard Fischer of `OnionCat`_ stopped by. The upcoming\n"
+"Tor Hidden Services changes mean that their keys will no longer fit into a\n"
+"portion of an IPv6 address, and he was working on a solution. We reminded him\n"
+"that this has always been the case for I2P (with \"GarliCat\"), that it's not a\n"
+"new problem. He pointed us to `a presentation`_ of his proposal. It involves\n"
+"storing an extra record in the hidden service directory (equivalent of a\n"
+"leaseset I2P's network database). It wasn't completely clear how this would\n"
+"work, or if we would consider it abuse of the netDb. We'll follow up with him\n"
+"as he gets further."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:152
+msgid "`a presentation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:154
+msgid ""
+"New users\n"
+"---------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:159
+msgid ""
+"We spent hours and hours explaining I2P to people stopping by our table. Some\n"
+"had heard of I2P before, some had not; everybody had heard of Tor and had at\n"
+"least a vague idea of what hidden services are. As usual, introducing people to\n"
+"I2P was a struggle. By the end of the Congress, we became convinced that a part\n"
+"of the problem was a difference in terminology. Back 12 years ago, when I2P and\n"
+"Tor were both getting started, we each came up with terms for the various parts\n"
+"of our systems. Today, the Tor terminology such as \"hidden service\" is\n"
+"well-understood and commonplace. The I2P terminology such as \"eepsite\" is\n"
+"neither. We agreed to review our documentation, router console, and other places\n"
+"for opportunities to simplify it and use common terms."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:172
+msgid ""
+"I2P project topics\n"
+"------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:177
+msgid ""
+"* *Spending money:* We discussed several ways to effectively use our resources\n"
+" in 2015, including more hardware for testing and development. Also, we plan to\n"
+" increase reimbursement levels for conference attendees."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:183
+msgid ""
+"* *Toronto meetup:* CCC is such a productive time for us, and it seems that a\n"
+" second meetup in the year would be quite helpful. We have proposed it for\n"
+" August 2015 in Toronto, Canada, in conjunction with `Toronto Crypto`_. It\n"
+" would include developer meetings together with presentations and tutorials,\n"
+" all open to the public. We are attempting to gauge interest and research\n"
+" possible venues. If you are considering attending, please let us know by\n"
+" `tweeting @i2p`_ or posting `on the dev forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:193
+msgid ""
+"* We discussed Meeh's workload and the state of the various services he is\n"
+" running. We made some plans to reduce his load and have some other people help\n"
+" out."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:199
+msgid ""
+"* We reviewed our critieria for placing links to `i2pd`_ on our download page.\n"
+" We agreed that the only remaining item is to have a nice page on the\n"
+" `Privacy Solutions web site`_ or elsewhere with binary packages for Windows,\n"
+" Linux, and Mac, and source packages. It's not clear who is responsible for\n"
+" building the packages and where the \"official\" version is. Once there's an\n"
+" established process for building and signing packages and an official place to\n"
+" put them, we're ready to link to it. If it is not feasible to host it on the\n"
+" Privacy Solutions website, we will discuss alternatives with orignal,\n"
+" including possible migration to our download servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:211
+msgid ""
+"* Lots of people coming by the table asked if we had a non-Java version. It was\n"
+" great to finally answer \"yes\" and we're eager to get the word out and get more\n"
+" users, testers, and developers on it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:217
+msgid ""
+"* `Vuze`_ continues to make good progress on their I2P integration. We look\n"
+" forward to working with them in the new year on a managed rollout to more\n"
+" users."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:223
+msgid ""
+"* We discussed the state of Meeh's and Sindu's reseed servers. They made several\n"
+" improvements while at the congress and are investigating migration to\n"
+" `Matt Drollette's Go implementation`_. The security and reliability of our\n"
+" reseed servers is vital to new users and network operation. `User 'backup'`_\n"
+" is doing a great job monitoring and managing the pool of reseed servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:231
+msgid ""
+"* We agreed to purchase a second root server for development, testing, and\n"
+" services. Echelon will be adminstering it. Contact him if you would like a VM."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:236
+msgid ""
+"* We reiterated that we have funds available to purchase test hardware,\n"
+" especially for Windows and Mac. Talk to echelon for details."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:241
+msgid ""
+"* We met with Welterde about the state of his services including his\n"
+" `open tracker`_. These services are not being adequately maintained and will\n"
+" soon become inaccessible due to crypto changes if they are not upgraded. He\n"
+" committed to upgrading them soon."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:248
+msgid ""
+"* We met lots of people interested in our `Android app`_. We passed several\n"
+" ideas and bug reports back to str4d. We plan to make a big push to give the\n"
+" app some development love early in the year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:254
+msgid ""
+"* Regrettably, we didn't get to see too many talks at the Congress, as we were\n"
+" so busy meeting with people. We plan to catch up and `watch them online`_. As\n"
+" usual, Tor's \"State of the Onion\" talk was excellent, and Jacob's talk was\n"
+" great. We hear that the cryptography talks were good as well."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:261
+msgid "`Toronto Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:262
+msgid "`tweeting @i2p`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:263
+msgid "`on the dev forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:266
+msgid "`Privacy Solutions web site`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:270
+msgid "`Matt Drollette's Go implementation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:271
+msgid "`User 'backup'`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:273
+msgid "`open tracker`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:275
+msgid "`Android app`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:277
+msgid "`watch them online`"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.18 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:10
+msgid "0.9.18 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:12
+msgid ""
+"0.9.18 contains several bug fixes and performance improvements.\n"
+"We have shortened the startup time, and reduced latency throughout our network protocols.\n"
+"We've increased the default connection limits for the fastest routers,\n"
+"and reduced the thread usage in i2ptunnel.\n"
+"UPnP fixes should improve handling of external device changes.\n"
+"CPU usage in high-bandwidth routers may be reduced thanks to some NTCP fixes."
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:32
+msgid "Fix parsing of ECDSA address helper in HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:33
+msgid ""
+"Fix news last-modified processing which prevented notification of update"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:34
+msgid "Improve handling of UPnP device changes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:35
+msgid "Don't hang at startup forever waiting for entropy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:36
+msgid "Possible fixes for high CPU usage in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:40
+msgid "Publish router info faster when address costs change"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:41
+msgid "Start i2ptunnel 90s sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:42
+msgid "Accept tunnels 10m sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:43
+msgid "Increase exploratory tunnel quantity during initial exploration"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:44
+msgid "Latency reductions in several places"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:45
+msgid ""
+"Add startup browser configuration with advanced config routerconsole.browser"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:46
+msgid "Persistent leaseset keys to eliminate correlation with restart"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:47
+msgid "Faster unchoking of new peers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:48
+msgid "More aggressive throttling of lookups at floodfills"
+msgstr "更具侵略性的种子查询节流阀"
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:49
+msgid "Tunnel build request record refactoring"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:50
+msgid "Reduce thread usage in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:51
+msgid "Add i2ptunnel server option for multihomed sites"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:52
+msgid "Disallow some common I2P application ports as router ports"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:53
+msgid "Increase connection limits for fast routers"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:54
+msgid "Add Save-As button for SusiMail messages"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:55
+msgid "Use 'hidden service' terminology in the console"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:56
+msgid "Encrypted netdb lookups for 32-bit x86"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.19 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:10
+msgid "0.9.19 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:12
+msgid ""
+"0.9.19 has several fixes and improvements for floodfill performance.\n"
+"Many of you saw high CPU usage after 0.9.18 was released.\n"
+"This was caused by a combination of increased encryption usage, the big influx of Vuze users into the network,\n"
+"reduced floodfills due to tighter performance requirements, and some longstanding bugs.\n"
+"Things should be a lot better after most of the network has updated.\n"
+"As always, the best way to reduce CPU usage is to lower your bandwidth limits."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:20
+msgid ""
+"We've also added new ways to reseed manually, and to generate a reseed file you can easily share with others who need it.\n"
+"See the reseed configuration page in the router console for more information."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:34
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:48
+msgid "Floodfill performance improvements"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:35
+msgid "Easier ways to reseed manually from a file or URL"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:36
+msgid "New way to export reseed data for others"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:37
+msgid "Support for installing plugin from file"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:42
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:59
+msgid "Fixes for high CPU usage in floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:43
+msgid "i2ptunnel locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:44
+msgid "Fixes for read timeout handling in streaming"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:45
+msgid "Fix changing i2psnark data directory on Windows"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:46
+msgid "Fix multiple SSL outproxies in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:51
+msgid "Update to UPnP library version 3.0"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:52
+msgid "Improve tracking of floodfill lookup success"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:53
+msgid "Direct router info lookups if connected to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:54
+msgid "Auto-adjustment of i2psnark tunnel quantity"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:55
+msgid "Increase exploratory tunnel quantity when floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:56
+msgid "Increase min and default bandwidth for i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:57
+msgid ""
+"Improved strategies for dropping jobs on high job lag to prevent overload"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:58
+msgid "Drop tunnel build requests on high job lag"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:59
+msgid "Increase allowed clock skew in I2CP"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:60
+msgid "New HTTP error page when the server resets the connection"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:61
+msgid "Require ECDSA support for floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:62
+msgid "Republish router info faster when capabilities change"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:63
+msgid "Better feedback in console for reseed errors"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.20 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:10
+msgid "0.9.20 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:12
+msgid ""
+"0.9.20 contains many important bug fixes, and several changes to increase "
+"floodfill capacity in the network."
+msgstr "0.9.20 包含很多重要的缺陷修复,并且增加了网络中的播种(floodfill)容量。"
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:16
+msgid ""
+"Routers configured for 32-64 KB of shared bandwidth may now become floodfill,\n"
+"and routers configured for 512 KB or more of shared bandwidth will have higher connection limits.\n"
+"These changes may cause your router to use more resources.\n"
+"If the router becomes too busy, the best way to reduce usage is to lower the bandwidth settings in your console.\n"
+"If that doesn't help, you may now disable automatic floodfill on the advanced configuration page in the console."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:24
+msgid ""
+"We're hopeful that these changes will increase network capacity and performance,\n"
+"and reduce the congestion that's been affecting the network the last three months."
+msgstr "我们希望这些改变会增加网络的容量和性能,并减少过去三个月里网络拥堵的影响。
"
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:34
+msgid ""
+"Finally, we're excited to announce our first-ever I2P meetup, in Toronto August 15-16.\n"
+"There will be lots of presentations and tutorials. All are welcome.\n"
+"For more information, see the `announcement`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:49
+msgid "Add support for address book export"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:50
+msgid "Add support for SSL in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:51
+msgid "Allow class 'M' (64-128 KBps share bandwidth) to become floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:52
+msgid ""
+"Raise connection limits for new classes 'P' (512-2000 KBps share bandwidth) "
+"and 'X' (over 2000 KBps)"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:53
+msgid "Add support for signed development builds"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:60
+msgid "Clock skew fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:61
+msgid ""
+"Fixes and configuration for when IPv4 is firewalled but IPv6 still works"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:62
+msgid "Locking fixes for i2ptunnel clients to prevent hangs at startup"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:63
+msgid "Verify hostnames when reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:64
+msgid "Fix deletion of config files for deleted torrents in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:65
+msgid "Fix hangs fetching proxy.i2p local resources via Privoxy"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:66
+msgid "Fixes for duplicate shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:67
+msgid "Fix for occasional page truncation in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:68
+msgid "Fixes for handling corrupted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:69
+msgid "Fix closing of SAM sessions when I2P session closes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:70
+msgid "Fix bugs in handling streaming resets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:77
+msgid "Reduce NTCP threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:78
+msgid "Eliminate SimpleScheduler threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:79
+msgid "Add continent-based NTP servers as fallbacks for country-based ones"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:80
+msgid "Remove all default non-SSL reseed hosts"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:81
+msgid "Disable fallback to non-su3 reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:82
+msgid "Several fixes in streaming for better \"loopback\" performance"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:83
+msgid "Reduce latency in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:84
+msgid "Add a larger Bloom filter for very high bandwidth and memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:85
+msgid ""
+"Add Bloom filter warning when configured for high bandwidth but not enough "
+"memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:86
+msgid "Reduce max netdb search depth to reduce floodfill load"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:87
+msgid "Improved header processing and error handling in i2ptunnel HTTP server"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:88
+msgid ""
+"Better error handling and user feedback when HTTP client tunnel is disabled"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:89
+msgid "More changes to improve floodfill capacity"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:90
+msgid "New configuration for forcing IPv4 (only) to firewalled on /confignet"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:91
+msgid "New configuration for floodfill on /configadvanced"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:92
+msgid "Show separate IPv4 and IPv6 status in summary bar when appropriate"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:93
+msgid "Better handling of corrupt SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:1
+msgid ""
+"==============\n"
+"Toronto Meetup\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:10
+msgid "I2P Meetup in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:12
+msgid ""
+"The I2P team is proud to announce that we are going to host a meetup in Toronto on August 15-16.\n"
+"A number of members of our community will be attending and are going to host talks, workshops and discussions about and relating to I2P. This event is not just for I2P people though, it's meant for everyone."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:17
+msgid ""
+"If you're curious about I2P, interested in privacy/cryptography/anonymity or just want to come by and talk to us, please do. This is an event for everyone. If you're not familiar with any of these topics, come by anyway and we'll show you how I2P works and what you can do with it.\n"
+"\n"
+"The event is entirely free, you don't need to sign up or register."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:23
+msgid ""
+"The meetup couldn't have been arranged without our friends at `Toronto "
+"Crypto `_ which have been helping us organize "
+"the event, and our friends at `Hacklab `_ which are "
+"providing us with a very nice space."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:27
+#: i2p2www/blog/2015/07/16/I2PCon.rst:126
+msgid "If you have any questions, feel free to contact us on `@geti2p`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:34
+#: i2p2www/blog/2015/07/16/I2PCon.rst:38
+msgid ""
+"Details\n"
+"======="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:39
+#: i2p2www/blog/2015/07/16/I2PCon.rst:57
+msgid ""
+"Location\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:44
+msgid "`Hacklab `_ at 1266 Queen Street West, Toronto."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:48
+msgid ""
+"Day 1, August 15 - 3PM\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:53
+msgid ""
+"The focus will be on an introduction to topics surrounding I2P, privacy and "
+"anonymity online. People of all backgrounds and knowledge levels are welcome"
+" to attend."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:57
+msgid "I2P Presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:58
+msgid "Crypto party introduction"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:59
+msgid "Crypto party"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:61
+msgid ""
+"The crypto party will contain a number of stations where privacy/anonymity "
+"software will be demoed. The goal is to provide people with the tools they "
+"need to communicate securely."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:65
+msgid "`Vuze/I2P`_ - Downloading torrents anonymously"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:66
+msgid "`Veracrypt`_ - Encrypt your data"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:67
+msgid "`I2PBote`_ - Anonymous decentralized email"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:68
+msgid "Your station idea here"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:70
+msgid ""
+"We're currently looking for help staffing the stations. If you want to help "
+"out, you can! Bring a monitor/laptop and run a station. The station could be"
+" any of the ones listed above, or any other privacy/anonymity related one "
+"you would like to run. Please contact us at `@geti2p`_ if you're interested."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:79
+msgid ""
+"Day 2, August 16 - 1PM\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:84
+msgid ""
+"The focus will be on in-depth topics surrounding I2P, the roadmap and "
+"development. Anyone is welcome to attend, but the content will be somewhat "
+"technical."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:88
+msgid "I2P Technical presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:89
+msgid "Technical discussion"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:90
+msgid "I2P App Dev Into"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:91
+msgid "I2PD presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:92
+msgid "I2P on Android"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:1
+msgid ""
+"======\n"
+"I2PCon\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:10
+msgid "I2PCon will be in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:13
+msgid ""
+"I2PCon is the first event of its kind. It has two short term goals. Where the\n"
+"first one is to provide the general public with an event where knowledge about\n"
+"privacy and privacy concerns can be obtained. The second goal is to further the\n"
+"I2P project and its community. This will take the shape of technical discussions\n"
+"about cryptography, anonymity and I2P centric topics."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:21
+msgid ""
+"There is a larger and more long-term goal of this event, and it is to build a\n"
+"commnutiy of privacy-conscious individuals. By connecting people who recognize\n"
+"the importance of privacy, we would like to provide a forum where this community\n"
+"can grow."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:28
+msgid ""
+"The idea for this event was first spawned by our wonderful friends at\n"
+"`Toronto Crypto`_. The venue and everything relating to it is provided by\n"
+"`Hacklab`_. Without either of them this event would not have been possible, so\n"
+"thank you both."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:43
+msgid ""
+"Cost\n"
+"----"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:48
+msgid ""
+"I2PCon is entirely free to attend! We ask you to register `here`_, to give us\n"
+"an estimate of how many people will be attending. No identifying information has\n"
+"to be given in order to register, but if you have any concerns, please let us\n"
+"know."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:55
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:45
+msgid "`here`"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:62
+msgid "`Hacklab`_ at 1266 Queen Street West, Unit #6, Toronto."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:66
+msgid ""
+"Venue\n"
+"-----"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:71
+msgid "Power and WiFi access will be provided by `Hacklab`_."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:76
+msgid ""
+"Schedule\n"
+"========"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:81
+msgid ""
+"Day 1, August 15\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:98
+msgid ""
+"Day 2, August 16\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:121
+msgid ""
+"I'm confused and would like some answers\n"
+"========================================"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.21 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:10
+msgid "0.9.21 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:12
+msgid ""
+"0.9.21 contains several changes to add capacity to the network, increase the efficiency of the floodfills,\n"
+"and use bandwidth more effectively.\n"
+"We have migrated the shared clients tunnels to ECDSA signatures and added a DSA fallback\n"
+"using the new \"multisession\" capability for those sites that don't support ECDSA."
+msgstr "0.9.21 包含几个更改,以增加网络容量、提高播种效率,并更有效率的使用带宽。我们已经迁移共享客户端隧道到 ECDSA 签名,并使用新的 \"multisession\" 功能为那些不支持 ECDSA 的站点添加一个 DSA 后备。"
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:19
+msgid ""
+"The speakers and the schedule of the I2PCon in Toronto 2015 have been announced.\n"
+"Have a look on the `I2PCon page`_ for details.\n"
+"Reserve your seat on `Eventbrite`_."
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:40
+msgid "Add multisession support for dual-signature crypto on the same tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:41
+msgid "Use multisession for shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:42
+msgid "Increase default outbound bandwidth limit to 60 KBps"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:43
+msgid "Increase default maximum participating tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:44
+msgid ""
+"Floodfills will send database store acks directly if connected, for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:45
+msgid "Set TCP keepalive on I2CP and SAM sockets"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:46
+msgid "More efficient decompression in HTTP proxy, use less threads"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:47
+msgid "Add support for fast extensions in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:48
+msgid "i2psnark only autostarts torrents that were running previously"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:49
+msgid "Add support for translated console news"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:54
+msgid "SSU fixes to compete better with NTCP for bandwidth when limited"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:55
+msgid "Fixes to prevent SSU stalls"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:56
+msgid ""
+"Wait for outbound tunnels before sending first leaseset to client, to "
+"prevent dropping first message"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:57
+msgid "Clean up resources correctly when SAM stops"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:58
+msgid "Better error handling and notification when HTTP proxy is not running"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:59
+msgid "More i2ptunnel fixes at startup and shutdown of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:60
+msgid "Fix total_size in i2psnark metadata message"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:61
+msgid "Restore dates in console news headers"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:62
+msgid "Several I2CP fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:67
+msgid "Use same session for naming lookups in I2PSocketEepGet"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:68
+msgid "Increase max bandwidth to 16 MBps, add larger Bloom filter"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:69
+msgid ""
+"New floodfills will send their info to nearby floodfills to speed "
+"integration"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:1
+msgid ""
+"============================\n"
+"I2PCon: Mission Accomplished\n"
+"============================"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:10
+msgid "I2PCon: Mission Accomplished"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:13
+msgid ""
+"I2PCon has been a giant success. For us, the I2P contributors, it represents a\n"
+"leap forward in terms of what we're capable of pulling off as a community, how we\n"
+"communicate the usecases of I2P and reach out to privacy conscious individuals.\n"
+"\n"
+"By arranging this event, we've also grown our community. People who've previously\n"
+"only lurked on our irc channels, or run our software or possibly hadn't even heard\n"
+"of I2P are now a part of our comminuty.\n"
+"\n"
+"This event has been our first active step towards building a large and inclusive\n"
+"community, and as such it's been great success."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:27
+msgid ""
+"Minutiae\n"
+"========\n"
+"On day 2 we had two short discussion sessions. A more general discussion and a roadmapping discussion.\n"
+"\n"
+"The minutiae can be found here: `I2P Roadmap session minutiae`_ and `I2P Discussion session minutiae`_."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:36
+msgid ""
+"Photos\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:44
+msgid "The learn how to setup I2P crypto party station"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:49
+msgid "The learn how use I2P and Vuze party station"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:54
+msgid "David Dagons wonderful talk"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:56
+msgid ""
+"Thanks\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:61
+msgid ""
+"We've had some wonderful speakers, from both inside- and outside of our community.\n"
+"\n"
+"`David Dagon`_ talked to us about the way forward and how I2P could handle potential abuse.\n"
+"\n"
+"`Lance James`_ - the creator of our predecessor iip - said Hi and gave us his thoughts about how far I2P has come.\n"
+"\n"
+"`Nick Johnston`_ gave us a wonderful talk about why privacy matters and why you should care."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:71
+msgid ""
+"I would also like to thank the speakers from our community. `psi`_, `@str4d`_ and `zzz`_ who all had\n"
+"wonderful talks. Improving our ability to inform people about I2P is something that\n"
+"is going to be important for us going forward."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:77
+msgid ""
+"I would like to thank `Sadie`_ and Siew for helping us out with marketing and graphics.\n"
+"Without you I2PCon would've been a very different event."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:82
+msgid ""
+"I would like to thank `@chlorelium`_ and `Hacklab`_ for being the most "
+"wonderful of hosts."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:86
+msgid ""
+"I would like to thank `@darknetj`_, P and `@hizeena`_ of `Toronto Crypto`_ "
+"for their help during the event."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:90
+msgid ""
+"I would like to thank `@z3r0fox`_ for doing a wonderful job with the AV and doing all of the post-production\n"
+"work for the videos of all the talks."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:95
+msgid ""
+"I would like to thank `@killyourtv_i2p`_ for hosting a very popular crypto "
+"party station."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:99
+msgid ""
+"Thanks to our new favorite journalist `@robinlevinson`_, for showing an interest in our cause and\n"
+"educating yourself about the technologies involved."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:104
+msgid ""
+"Thanks for all the pizza `@Panago_Pizza`_, it keept us going. You very much "
+"made this event better."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:108
+msgid ""
+"Finally I would like to thank everyone else who just showed up to the event and helped out in any way\n"
+"they could.\n"
+"ComradeNosebleed, LazyGravy, `cacapo`_, Xmz, ZeroRax, `echelon`_, it was most excellent to hang out\n"
+"with you."
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.22 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:10
+msgid "0.9.22 with bug fixes and start of Ed25519 migration"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:12
+msgid ""
+"0.9.22 contains fixes for i2psnark getting stuck before completion, and begins the migration of router infos to new, stronger Ed25519 signatures.\n"
+"To reduce network churn, your router will have only a small probability of converting to Ed25519 at each restart.\n"
+"When it does rekey, expect to see lower bandwidth usage for a couple of days as it reintegrates into the network with its new identity.\n"
+"If all goes well, we will accelerate the rekeying process in the next release."
+msgstr "0.9.21 版本带有性能改进和缺陷修复。<br>"
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:19
+msgid ""
+"I2PCon Toronto was a big success!\n"
+"All the presentations and videos are listed on the `I2PCon page`_."
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:30
+msgid "`I2PCon page`"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:38
+msgid "Start migration to Ed25519 router info signatures"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:39
+msgid "Convert i2psnark destinations to Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:44
+msgid ""
+"Fix i2psnark getting stuck before download complete, and not deleting temp "
+"files"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:45
+msgid ""
+"Fix starting of torrents added by copying torrent file to i2psnark directory"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:46
+msgid "Fix UPnP 'content not allowed in trailing section' error"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:47
+msgid "Fix excluded SSL ciphers in console"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:1
+msgid ""
+"==================\n"
+"Community Outreach\n"
+"=================="
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:10
+msgid "A start to more frequent community status reports."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:12
+msgid "Meta"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:14
+msgid ""
+"Greetings!\n"
+"This is the first in a long series of blogs to help the community see what is happening in the I2P community.\n"
+"Since many awesome events are happening *inside* the network, we think it will be worthwhile to talk about some of activities here."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:20
+msgid "A Call for Feedback"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:22
+msgid ""
+"Let's face it -- our console needs improvement.\n"
+"Our site could use an update as well.\n"
+"We are looking for feedback on how to improve the usability of I2P for new and existing users!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:28
+msgid ""
+"Any and all feedback is welcome.\n"
+"Please contact `@GetI2P`_, `@str4d`_, or `@YrB1rd`_.\n"
+"If you don't feel comfortable using Twitter, we are always available via the in-network IRC channel.\n"
+"You don't have to be a long time user.\n"
+"We want to hear from all sorts of people!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:40
+msgid "Developer Meeting Synopsis"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:42
+msgid ""
+"On 03 November there was an I2P developer meeting (`log`_).\n"
+"This meeting focused on adding new links to the router console, preparation for CCC, finding a replacement for forum.i2p, and website improvements."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:49
+msgid ""
+"The consensus was to not add dogecoindark.i2p.\n"
+"There are concerns about usability due to many images being included on the page.\n"
+"Exchanged.i2p is conditionally added, as long as the maintainer adds a disclaimer on the site.\n"
+"I2Pwiki.i2p (a backup of ugha.i2p, an older wiki) was accepted, as was lenta.i2p (a russian news site)."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:56
+msgid ""
+"str4d proposed blocking off the \\*.i2p.i2p namespace so they can be used for developer's services.\n"
+"He also suggested a more formalized technical proposal system, with more prominence on the main website."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:61
+msgid ""
+"The I2P Team is going to be in Hamburg, Germany for the 32nd Chaos Computer Congress.\n"
+"More details are to come on this, but we can promise there will be stickers."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:66
+msgid "General Announcements"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:68
+msgid ""
+"Thank you to `TorontoCrypto`_ for hosting the newest I2P reseed server!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:74
+msgid ""
+"Translation deadline Thursday, 12 November, translators please update. All "
+"translations are done via `Transifex`_ ."
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.23 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:10
+msgid ""
+"0.9.23 contains a variety of bug fixes, and some minor improvements in "
+"I2PSnark"
+msgstr "0.9.23 包含多个错误修复,以及一些对 I2PSnark 的小幅改善"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:12
+msgid ""
+"Hello I2P! This is the first release signed by me (str4d), after 49 releases\n"
+"signed by zzz. This is an important test of our redundancy for all things,\n"
+"including people."
+msgstr "欢迎使用 I2P!这是我 (str4d) 签发的第一个版本,在 zzz 签发 49 个版本之后。这是我们对所有事物过多冗余的一次重要测试,包括人员。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:18
+msgid ""
+"Housekeeping\n"
+"============"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:23
+msgid ""
+"My signing key has been in router updates for over two years (since 0.9.9), so\n"
+"if you are on a recent version of I2P this update should be just as easy as\n"
+"every other update. However, if you are running an older version than 0.9.9, you\n"
+"will first need to manually update to a recent version. Update files for recent\n"
+"versions `can be downloaded here`_, and instructions on how to manually update\n"
+"`are provided here`_. Once you have manually updated, your router will then find\n"
+"and download the 0.9.23 update as usual."
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:33
+msgid "`can be downloaded here`"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:35
+msgid "`are provided here`"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:37
+msgid ""
+"If you installed I2P via a package manager, you are not affected by the change,\n"
+"and can update as usual."
+msgstr "如果您已通过一个软件包管理器来安装 I2P,您不会受到此更改的影响,并且可以照常更新。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:42
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:12
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:12
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:19
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:12
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:12
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:12
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:12
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:12
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:12
+#: 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.rst:12
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:12
+msgid ""
+"Update details\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:47
+msgid ""
+"The migration of RouterInfos to new, stronger Ed25519 signatures is going well,\n"
+"with at least half of the network already estimated to have rekeyed. This\n"
+"release accelerates the rekeying process. To reduce network churn, your router\n"
+"will have a small probability of converting to Ed25519 at each restart. When it\n"
+"does rekey, expect to see lower bandwidth usage for a couple of days as it\n"
+"reintegrates into the network with its new identity."
+msgstr "迁移 RouterInfos 到新的、更强的 Ed25519 签名很顺利,预计已有至少一半的网络转换密钥。此次发布加速了密钥更新的过程。为了减少网络客户端的流失,您的路由器将在每次重启时有较小的概率转换到 Ed25519。在它转换密钥后,可预期的两天内将有更低的带宽,因为它需要将新的身份重新集成到网络。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:56
+msgid ""
+"Note that this will be the last release to support Java 6. Please update to\n"
+"Java 7 or 8 as soon as possible. We are already working to make I2P compatible\n"
+"with the upcoming Java 9, and some of that work is in this release."
+msgstr "请注意,这是最后一个支持 Java 6 的发布版本。请尽快更新到 Java 7 或者 8。我们已经努力使 I2P 兼容即将到来的 Java 9,并且一些成果已经放在此次发布中。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:62
+msgid ""
+"We have also made some minor improvements in I2PSnark, and added a new page in\n"
+"the routerconsole for viewing older news items."
+msgstr "我们也对 I2PSnark 做了一些细微的改进,并且在路由器控制台中加入了一个新的页面用以查看较旧的新闻。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:77
+msgid "Accelerate transition to Ed25519"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:82
+msgid ""
+"Fix some bugs soft restarting after a large clock shift (e.g. resume) (but "
+"more to do)"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:83
+msgid ""
+"Fix streaming retransmission timers that were dying, and related timer bugs"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:84
+msgid "Fix streaming connections rejected while tunnel is opening"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:85
+msgid "Fix rare i2psnark and UPnP deadlocks"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:86
+msgid "Fix lifetime participating bandwidth display in console"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:91
+msgid "Increase default outbound exploratory tunnel length to 3"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:92
+msgid ""
+"Use max of 2 not-failing peers in exploratory tunnels to improve build "
+"success"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:93
+msgid "Add support for hostnames prefixed with \"www.\""
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:94
+msgid ""
+"Store news feed items separately on disk, show on new /news page, limit "
+"display on home page to 2"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:95
+msgid "Increase probability of rekeying to EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:96
+msgid "Detect for broken ECDSA support in Gentoo"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:97
+msgid ""
+"Console: Add a Java 6 warning, this is the last release to support Java 6"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:98
+msgid "Changes to prepare for Java 9 compatibility"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:99
+msgid ""
+"Pass Accept-Encoding header through client and server proxies, to allow end-"
+"to-end compression"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:102
+msgid "Increase piece size, piece count, and file count limits"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:103
+msgid "Save added and completed times"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:104
+msgid "Save magnet parameters across restart"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:105
+msgid ""
+"Don't delete .torrent file on errors at startup, rename to .torrent.BAD"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:106
+msgid "Add recheck, start, stop buttons on details pages"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:107
+msgid "Add option to disable \"smart sort\""
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:109
+msgid "Speed up IP address validation"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:110
+msgid "Separate streaming blacklists for ECDSA and EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:1
+msgid ""
+"=========\n"
+"CCC Recap\n"
+"========="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:10
+msgid "CCC!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:12
+msgid ""
+"Attending: Sadie, Colin, lazygravy, zzz, hottuna, kytv, cacapo, and eche|on."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:16
+msgid ""
+"Start\n"
+"=====\n"
+"The project has had another successful year at CCC.\n"
+"We would like to thank the volunteers at `32C3`_ for all of their help in organizing this event and for being accommodating hosts for us.\n"
+"Many I2P contributors were able to attend this year's Congress due to many of the generous donations from supporters like you to the project.\n"
+"If you would like to fund I2P, please see `our donation page`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:25
+msgid "`32C3`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:26
+msgid "`our donation page`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:28
+msgid ""
+"Just like previous years we were located in Noisy Square, located near the EFF's table.\n"
+"This proved to be an ideal spot for us as our table was almost always busy with current and new users who were interested in I2P, many of whom we wouldn't have otherwise had the ability to talk to."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:62
+msgid ""
+"Reseed Status\n"
+"============="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:67
+msgid "Let's get more reseeds!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:71
+msgid ""
+"If you don't know what a reseed server is, it is first the connection new routers use to find peers.\n"
+"There was a lot of discussion around the current status of the reseed network right now.\n"
+"As always, more reseed operators are needed!\n"
+"If you would like to strengthen the reseed infrastructure, (or if you're talented with Go) email `backup -at- i2pmail.org`_."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:78
+msgid "`backup -at- i2pmail.org`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:80
+msgid ""
+"Sybil Detection (beta)\n"
+"======================"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:85
+msgid ""
+"Due to the decentralized nature of I2P detecting Sybil attacks is not as straight forward as on other networks (i.e. Tor).\n"
+"To mitigate this zzz has been working on a new router-based Sybil detection tool.\n"
+"To be brief, the tool runs in the router, and collects information on floodfills your router is currently aware of.\n"
+"Currently the tool is mainly collecting a baseline and does not act on any of the information it is collecting.\n"
+"Expect to see a writeup on this more as 0.9.25 or 0.9.26 approaches, as it is still in active development"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:93
+msgid ""
+"Development Meeting\n"
+"==================="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:98
+msgid ""
+"On the 30th we held an in person `meeting`_ at our table.\n"
+"The meeting focused on organizationally preparing for more project management, and public relations (both from Sadie)."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:103
+msgid "`meeting`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:105
+msgid ""
+"We discussed how much of the work done on I2P is lost in the commits and there is not much to see for our users.\n"
+"To remedy this lazygravy plans on preparing a series of posts explaining some technical topics in I2P.\n"
+"The initial ideas that we discussed writing posts on are what encrypted lease sets are, why different tunnel types are needed, and some observations seen in `I2Spy`_.\n"
+"But these are just the start and we would like to hear feedback on topics we should write about!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:112
+msgid "`i2spy`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:114
+msgid ""
+"Meeting (Future)\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:119
+msgid "There will be a `another meeting`_ on 2 Feburary 2016 to discuss:"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:123
+msgid "Review of assigned tasks from 30 December meeting"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:124
+msgid "Project meeting plan for 2016"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:125
+msgid "GMP 6 readiness"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:126
+msgid "A proposal for a code of conduct"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:128
+msgid "`another meeting`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.24 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:10
+msgid "0.9.24 contains a variety of bug fixes and performance enhancements"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:17
+msgid ""
+"0.9.24 contains a new version of SAM (v3.2) and numerous bug fixes and efficiency improvements.\n"
+"Note that this release is the first to require Java 7.\n"
+"Please update to Java 7 or 8 as soon as possible.\n"
+"Your router will not automatically update if you are using Java 6."
+msgstr "0.9.24 包含新版本的 SAM (v3.2) 和众多问题修复和效率改进。\n注意,这是首个必需使用 Java 7 的发布版本。\n请尽快升级到 Java 7 或 8。\n如果您在使用 Java 6,您的路由将不会自动更新。"
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:24
+msgid ""
+"To prevent the problems caused by the ancient commons-logging library, we have removed it.\n"
+"This will cause very old I2P-Bote plugins (0.2.10 and below, signed by HungryHobo) to crash if they have IMAP enabled.\n"
+"The recommended fix is to replace your old I2P-Bote plugin with the current one signed by str4d.\n"
+"For more details, see `this post`_."
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:31
+msgid "`this post`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:33
+msgid ""
+"We had a great `32C3 Congress`_ and are making good progress on our 2016 project plans.\n"
+"Echelon gave a talk on I2P's history and current status, and his slides are `available here`_ (pdf).\n"
+"Str4d attended `Real World Crypto`_ and gave a talk on our crypto migration, his slides are `here`_ (pdf)."
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:39
+msgid "`32C3 Congress`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:41
+msgid "`available here`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:43
+msgid "`Real World Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:57
+msgid "Java 7 now required"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:58
+msgid ""
+"SAM 3.2, with several new advanced features, command parser improvements, "
+"and lots of bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:59
+msgid "Router Family"
+msgstr "路由器家族"
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:60
+msgid "Commons logging removed"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:65
+msgid "Fix HTML escaping in the console plugin table"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:66
+msgid "Fix rare deadlocks in the router"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:67
+msgid "Fix the tunnel build Bloom filter"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:68
+msgid ""
+"Don't remove tunnel on next-hop failure indication from transport, it isn't "
+"reliable"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:69
+msgid "Fix formatting in summary bar to prevent overflow"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:70
+msgid ""
+"Fix console links in i2ptunnel error pages when on nonstandard host/port"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:71
+msgid ""
+"Don't query floodfills whose version is too old to support encrypted replies"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:72
+msgid "Reduce out-of-order delivery in SSU"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:73
+msgid "Fix a rare NPE in the tunnel build handler"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:78
+msgid "Listen for Windows Service shutdown events to shutdown cleanly"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:79
+msgid "Fix some IPv6 issues on Windows"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:80
+msgid "Change Jetty request logging from b64 to b32"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:81
+msgid ""
+"New 'family' indication in netdb, don't use two of the same family in a "
+"tunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:82
+msgid "New overview picture in SusiDNS"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:83
+msgid "Close connection faster if it's for a rejected tunnel request"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:84
+msgid "Use SSU extended options field for session request message"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:85
+msgid "Request introduction in the SSU extended options"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:86
+msgid ""
+"Don't offer to introduce unless requested, to introduce only those that need"
+" it"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:87
+msgid "Experimental Sybil analysis tool, requires routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:88
+msgid "Persist some profile netdb stats that weren't being saved"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:89
+msgid "Memory reduction and other efficiency improvements throughout"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:90
+msgid "Increase several limits in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:91
+msgid "New streaming unit tests"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:92
+msgid "Fix some SSU stats on /peers to be consistent with NTCP"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:93
+msgid "Change default sig type for new i2ptunnels to Ed25519"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:94
+msgid "Increase router rekey probability at startup again"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:95
+msgid "New Chinese (Taiwan) translation"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:102
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:73
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:93
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:70
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:100
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:74
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:99
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:66
+#: 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.rst:76
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:70
+msgid "`Full list of fixed bugs`"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.25 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:10
+msgid "0.9.25 contains SAM 3.3, QR codes, and bug fixes"
+msgstr "0.9.25 包含 SAM 3.3、QR 码及缺陷修复"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:17
+msgid ""
+"0.9.25 contains a major new version of SAM, v3.3, to support sophisticated multiprotocol applications.\n"
+"It adds QR codes for sharing hidden service addresses with others,\n"
+"and \"identicon\" images for visually distinguishing addresses."
+msgstr "0.9.25 包含 SAM 的一个主要新版本 v3.3,以支持复杂的多协议应用程序。\n增加了 QR 码用于与其他人分享隐身服务。\n增加了“身份”图像用于视觉上区分地址。"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:23
+msgid ""
+"We've added a new \"router family\" configuration page in the console,\n"
+"to make it easier to declare that your group of routers is run by a single person.\n"
+"There are several changes to increase the capacity of the network and hopefully improve tunnel build success."
+msgstr "我们在控制台中添加了新的“路由器家族”配置页面,\n这可以让您更容易的声明您的一组路由器是由一个人运行。\n有一些变更以增加网络容量,并希望能够提升隧道构建成功率。"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:39
+msgid "Display of identicons and QR codes in address book and i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:40
+msgid "SAM v3.3 with advanced features"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:41
+msgid "Configuration page for router family"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:42
+msgid "Custom icons for plugins"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:43
+msgid "Internal implementation of self-signed certificate generation"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:44
+msgid "Add i2ptunnel http server options to block by referer or user-agent"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:49
+msgid "IRC server tunnel default fix to help reliability"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:50
+msgid "Don't wait until a lease expires to switch to a new on"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:55
+msgid "Preliminary support for certificate revocations"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:56
+msgid "Preliminary support for storing EdDSA and ElGamal keys in keystores"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:57
+msgid "More efficient signing and verification with EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:58
+msgid "Increase default connection limits"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:59
+msgid "Increase default inbound bandwidth"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:60
+msgid "Increase max files per torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:61
+msgid "Add more sanity checks to detect bad system clock"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:62
+msgid "Improve news styling in console"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:63
+msgid "Improve certificate blacklist implementation"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:64
+msgid "Faster disconnect after publishing router info to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:65
+msgid "Smooth out the dropping of idle SSU sessions"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:66
+msgid "Add X-Content-Type-Options headers in console"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:1
+msgid ""
+"==============\n"
+"I2P Summer Dev\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:10
+msgid ""
+"We are pleased to announce that this summer, I2P will be embarking on a "
+"development program aimed at improving the privacy software ecosystem for "
+"both developers and users."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:12
+msgid ""
+"Over the last few years, the need for users to be in control of their own data\n"
+"has become increasingly apparent. Some excellent progress had been made in this\n"
+"regard with the rise of messaging apps like Signal_, and file storage systems\n"
+"like Tahoe-LAFS_. The ongoing work of `Let's Encrypt`_ to bring HTTPS to the\n"
+"whole world is steadily gaining traction."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:20
+msgid ""
+"But building privacy and anonymity into applications is not trivial. Much of the\n"
+"software people use every day was not designed to be privacy-preserving, and the\n"
+"tools developers have available are generally not easy to work with. The\n"
+"recently-published OnionScan_ survey gives some insight into just how easy it is\n"
+"for even technical users to mis-configure their services, completely undermining\n"
+"their intentions."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:35
+msgid ""
+"Helping developers help their users\n"
+"==================================="
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:40
+msgid ""
+"We are pleased to announce that this summer, I2P will be embarking on a\n"
+"development program aimed at improving the privacy software ecosystem. Our goal\n"
+"is to make life easier both for developers wanting to leverage I2P in their\n"
+"applications, and for users trying to configure and run their apps through I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:47
+msgid ""
+"We will be focusing our time this summer into three complementary areas:"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:51
+msgid ""
+"June: APIs\n"
+"----------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:56
+msgid ""
+"In June, we will be updating the various libraries that exist for interfacing\n"
+"with I2P. We have made significant progress this year on extending our SAM_ API\n"
+"with additional features, such as support for datagrams and ports. We plan to\n"
+"make these features easily accessible in our C++ and Python libraries."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:63
+msgid ""
+"We will also soon be making it much easier for Java and Android developers to\n"
+"add I2P support to their applications. Stay tuned!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:70
+msgid ""
+"July: Apps\n"
+"----------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:75
+msgid ""
+"In July we will be working with applications that have expressed interest in\n"
+"adding support for I2P. There are some really neat ideas being developed in the\n"
+"privacy space right now, and we want to help their communities leverage over a\n"
+"decade of research and development on peer-to-peer anonymity. Extending these\n"
+"applications to work natively over I2P is a good step forward for usability, and\n"
+"in the process will improve how these applications think about and handle user\n"
+"information."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:85
+msgid ""
+"August: Plugins\n"
+"---------------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:90
+msgid ""
+"Finally, in August we will turn out attention to the apps we bundle inside I2P,\n"
+"and the wider array of plugins. Some of these are due for some love, to make\n"
+"them more user-friendly - as well as fix any outstanding bugs! We hope that\n"
+"longtime I2P supporters will enjoy the outcome of this work."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:98
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:124
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:114
+msgid ""
+"Take part in Summer Dev!\n"
+"========================"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:103
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:129
+msgid ""
+"We have many more ideas for things we'd like to get done in these areas. If\n"
+"you're interested in hacking on privacy and anonymity software, designing usable\n"
+"websites or interfaces, or writing guides for users: come and chat with us on\n"
+"IRC or Twitter! We are always happy to \"see\" new \"faces\" in our community, both\n"
+"inside and outside I2P. We'll be sending I2P stickers out to all new\n"
+"contributors taking part (or possibly other pending I2P goodies)!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:112
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:138
+msgid ""
+"Likewise, if you are an application developer who wants a hand with integrating\n"
+"I2P, or even just to chat about the concepts or details: get in touch! If you\n"
+"want to get involved in our July Apps month, contact `@GetI2P`_, `@i2p`_ or\n"
+"`@str4d`_ on Twitter. You can also find us in #i2p-dev on OFTC or FreeNode."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:119
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:145
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:130
+msgid ""
+"We'll be posting here as we go, but you can also follow our progress, and share\n"
+"your own ideas and work, with the hashtag `#I2PSummer`_ on Twitter. Bring on the\n"
+"summer!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.26 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:10
+msgid ""
+"0.9.26 contains crypto updates, Debian packaging improvements, and bug fixes"
+msgstr "0.9.26 包含加密学更新,Debian 包改进,以及缺陷修复。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:12
+msgid ""
+"I2P is now a proposed site on Stack Exchange!\n"
+"Please `commit to using it`_ so the beta phase can begin."
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:17
+msgid "`commit to using it`"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:24
+msgid ""
+"0.9.26 contains a major upgrade to our native crypto library,\n"
+"a new addressbook subscription protocol with signatures,\n"
+"and major improvements to the Debian/Ubuntu packaging."
+msgstr "0.9.26 对我们的加密程序库进行了一次重要升级,有新的地址簿订阅协议和签名,以及 Debian/Ubuntu 包的重要改进。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:30
+msgid ""
+"For crypto, we have upgraded to GMP 6.0.0, and added support for newer processors,\n"
+"which will speed up crypto operations considerably.\n"
+"Also, we are now using constant-time GMP functions to prevent side-channel attacks.\n"
+"For caution, the GMP changes are enabled for new installs and Debian/Ubuntu builds only;\n"
+"we will include them for in-net updates in the 0.9.27 release."
+msgstr "加密学方面,我们升级到 GMP 6.0.0,并添加较新处理器的支持,这可以大幅加速密码运算。\n另外,我们现在使用常数时间的 GMP 函数以防止侧信道攻击。\n出于谨慎,GMP 更改只对新的安装和 Debian/Ubuntu 构建启用;我们会在 0.9.27 发布时更新它们。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:38
+msgid ""
+"For Debian/Ubuntu builds, we have added dependencies on several packages,\n"
+"including Jetty 8 and geoip, and removed the equivalent bundled code."
+msgstr "对于 Debian/Ubuntu 构建,我们添加了几个包的依赖,包括 Jetty 8 和 geoip,并移除封装的等效代码。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:43
+msgid ""
+"There's a collection of bug fixes also, including a fix for a timer bug\n"
+"that caused instability and performance degradations over time."
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:58
+msgid ""
+"GMP 6.0.0 and jbigi/jcpuid native libraries, enabling significant speedups "
+"on newer architectures, and constant-time crypto operations (new installs "
+"and Debian/Ubuntu builds only, will include in the updates in the next "
+"release, 0.9.27)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:59
+msgid "Addressbook subscription protocol, enabling signed addressbook updates"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:60
+msgid "Generate signed authentication strings for subscriptions in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:61
+msgid ""
+"Enhance hosts blockfile format to allow for multiple destinations per entry"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:62
+msgid "Use system GeoIP database when available"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:63
+msgid ""
+"Remove systray4j.jar from non-Windows installers and Debian/Ubuntu packages"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:64
+msgid ""
+"Remove multiple external libraries from Debian/Ubuntu builds, and add "
+"dependencies on: geoip-database, gettext-base, libgetopt-java, "
+"libjetty8-java, libservlet3.0-java, glassfish-javaee"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:65
+msgid ""
+"Store CRLs received in the news feed, to distribute key revocations when "
+"necessary"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:66
+msgid ""
+"Enhancements to the desktopgui system tray feature, to be enabled by default"
+" in next release"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:67
+msgid "Wrapper 3.5.29 (new non-Windows installs only)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:73
+msgid ""
+"Fix periodic timers not firing after a backwards OS clock shift, which "
+"caused widespread instability and gradual deterioration"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:74
+msgid ""
+"Fix wrapper on FreeBSD 10 (new installs only, see ticket #1118 for manual "
+"fix)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:75
+msgid "Fix NPE on hostname lookup failure in SOCKS 4a"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:76
+msgid ""
+"Fix setting JAVA_HOME on Mac OS X (new installs only, see ticket #1783 for "
+"manual fix)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:77
+msgid "Fix UTF-8 console passwords, and partial fix for usernames"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:78
+msgid "Fix router family configuration form"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:79
+msgid "Fix NTP sending random data in some fields that should be zero"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:85
+msgid "More verification of received NTP packets"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:86
+msgid ""
+"Rework resource bundle generation for 20x speedup in build time (requires "
+"gettext version 0.19)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:1
+msgid ""
+"====================\n"
+"I2P on Maven Central\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:10
+msgid "The I2P client libraries are now available on Maven Central!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:12
+msgid ""
+"We're nearly half-way into the APIs month of Summer Dev, and making great\n"
+"progress on a number of fronts. I'm happy to announce that the first of these is\n"
+"complete: the I2P client libraries are now available on Maven Central!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:18
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:47
+msgid ""
+"This should make it much simpler for Java developers to use I2P in their\n"
+"applications. Instead of needing to obtain the libraries from a current install,\n"
+"they can simply add I2P to their dependencies. Upgrading to new versions will\n"
+"similarly be much easier."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:26
+msgid ""
+"How to use them\n"
+"==============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:31
+msgid "There are two libraries that you need to know about:"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:35
+msgid "The core I2P APIs; you can use these to send individual datagrams."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:36
+msgid "A TCP-like set of sockets for communicating over I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:38
+msgid ""
+"Add one or both of these to your project's dependencies, and you're good to "
+"go!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:66
+msgid ""
+"For other build systems, see the Maven Central pages for the `core`_ and\n"
+"`streaming`_ libraries."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:71
+msgid ""
+"Android developers should use the `I2P Android client library`_, which contains\n"
+"the same libraries along with Android-specific helpers. I'll be updating it soon\n"
+"to depend on the new I2P libraries, so that cross-platform applications can work\n"
+"natively with either I2P Android or desktop I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:80
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:62
+msgid "`I2P Android client library`"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:83
+msgid ""
+"Get hacking!\n"
+"============"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:88
+msgid ""
+"See our `application development`_ guide for help getting started with these\n"
+"libraries. You can also chat with us about them in #i2p-dev on IRC. And if you\n"
+"do start using them, let us know what you're working on with the hashtag\n"
+"`#I2PSummer`_ on Twitter!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:95
+msgid "application development"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:1
+msgid ""
+"========================\n"
+"Summer Dev roundup: APIs\n"
+"========================"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:10
+msgid ""
+"In the first month of Summer Dev, we have improved the usability of our APIs"
+" for Java, Android, and Python developers."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:12
+msgid ""
+"Summer Dev is in full swing: we've been busy greasing wheels, sanding edges, and\n"
+"tidying the place up. Now it's time for our first roundup, where we bring you up\n"
+"to speed on the progress we are making!"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:18
+msgid ""
+"\n"
+"But first, a big thank you to `Elio Qoshi`_ and `ura`_ for designing us the\n"
+"fantastic logo you see above. It adds a cheerful personality to our development\n"
+"program (and is going to look great on t-shirts)."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:27
+msgid ""
+"APIs month\n"
+"=========="
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:32
+msgid ""
+"Our goal for this month was to \"blend in\" - to make our APIs and libraries work\n"
+"within the existing infrastructure of various communities, so that application\n"
+"developers can work with I2P more efficiently, and users don't need to worry\n"
+"about the details."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:42
+msgid ""
+"The I2P client libraries are now available on `Maven Central`_! See our\n"
+"`previous blog post`_ for full details.\n"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:54
+msgid ""
+"The `I2P Android client library`_ has also been updated to use the new I2P\n"
+"libraries. This means that cross-platform applications can work natively with\n"
+"either I2P Android or desktop I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:61
+msgid "`previous blog post`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:69
+msgid ""
+"The `Twisted`_ plugin ``txi2p`` now supports in-I2P ports, and will work\n"
+"seamlessly over local, remote, and port-forwarded `SAM APIs`_. See its\n"
+"`documentation`_ for usage instructions, and report any issues on `GitHub`_."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:77
+msgid ""
+"The first (beta) version of ``i2psocket`` has been released! This is a direct\n"
+"replacement for the standard Python ``socket`` library that extends it with I2P\n"
+"support over the `SAM API`_. See its `GitHub page`_ for usage instructions, and\n"
+"to report any issues."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:87
+msgid "`documentation`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:89
+msgid "`GitHub page`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:91
+msgid ""
+"Other progress\n"
+"--------------"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:96
+msgid ""
+"zzz has been hard at work on Syndie, getting a headstart on Plugins month. "
+"You can follow his progress on `the development forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:98
+msgid ""
+"psi has been creating an I2P test network using i2pd, and in the process has"
+" found and fixed several i2pd bugs that will improve its compatibility with "
+"Java I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:100
+msgid "`the development forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:102
+msgid ""
+"Coming up: Apps month!\n"
+"======================"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:107
+msgid ""
+"We are excited to be working with `Tahoe-LAFS`_ in July! I2P has for a long time\n"
+"been home to one of the `largest public grids`_, using a patched version of\n"
+"Tahoe-LAFS. During Apps month we will be helping them with their ongoing work to\n"
+"add native support for I2P and Tor, so that I2P users can benefit from all of\n"
+"the improvements upstream."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:115
+msgid ""
+"There are several other projects that we will be talking with about their plans\n"
+"for I2P integration, and helping with design. Stay tuned!"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:121
+msgid "`largest public grids`"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.27 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:10
+msgid "0.9.27 contains bug fixes"
+msgstr "0.9.27 包含缺陷修复"
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:17
+msgid ""
+"0.9.27 contains a number of bug fixes.\n"
+"The updated GMP library for crypto acceleration, which was bundled in the 0.9.26 release for new installs and Debian builds only, is now included in the in-network update for 0.9.27.\n"
+"There are improvements in IPv6 transports, SSU peer testing, and hidden mode."
+msgstr "0.9.27 包含一些缺陷修复。\n更新的 GMP 程序库为加密提速了,这在新安装的 0.9.26 版本及 Debian 版本中启用,网络更新用户将在 0.9.27 时享用到它。\nIPv6 传输、SSU 对等端测试、隐身模式等也有改进。"
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:23
+msgid ""
+"We updated a number of plugins during I2P Summer and your router will "
+"automatically update them after restart."
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:37
+msgid "GMP 6 (in-net updates)"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:38
+msgid "SSU Peer Testing for IPv6"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:39
+msgid "Add outproxy plugin support for SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:40
+msgid "Enable desktop GUI (tray icon) on Windows"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:45
+msgid "Fix reported GMP version when jbigi built as a shared library"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:46
+msgid "Fix SSU peer test happening too frequently"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:47
+msgid "Fix SSU peer test not terminating properly in some cases"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:48
+msgid "Fix bote plugin not working in Debian/Ubuntu builds"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:49
+msgid "Fix rare UPnP NPE when viewing /peers"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:50
+msgid "Fix standalone i2psnark build and configuration"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:51
+msgid "Hidden mode improvements: Enable tunnel testing and use fast peers"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:52
+msgid "Fix possible CSRF in SusiMail"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:53
+msgid "Fix i2psnark exception on bad configured announce URL"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:54
+msgid "Fix layout issues on i2ptunnel registration page"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:55
+msgid "Fix streaming accept() hang when session disconnects"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:60
+msgid "Split up the large /configclients web page into several"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:61
+msgid "Add links to view complete router and wrapper log files"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:62
+msgid "Block 'Proxy' header in i2ptunnel (HTTPoxy)"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:63
+msgid "Recognize Kaby Lake CPUIDs"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.28 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:10
+msgid "0.9.28 contains bug fixes"
+msgstr "0.9.28 包含缺陷修复"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:17
+msgid ""
+"0.9.28 contains fixes for over 25 Trac tickets, and updates for a number of bundled software packages including Jetty.\n"
+"There are fixes for the IPv6 peer testing feature introduced last release.\n"
+"We continue improvements to detect and block peers that are potentially malicious.\n"
+"There are preliminary fixes for Java 9, although we do not yet recommend Java 9 for general use."
+msgstr "0.9.28 包含 25 个 Trac 工单的修复,并更新了捆绑的一些软件包,包括 Jetty。\n它修复了上一版本引入的 IPv6 对等端测试功能。\n我们继续改进以检测和阻止潜在的恶意对等端。\n虽然我们尚不推荐将 Java 9 用作一般用途,但也为 Java 9 做了初步修复。"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:24
+msgid ""
+"I2P will be at 33C3, please stop by our table and give us your ideas on how to improve the network.\n"
+"We will review our 2017 roadmap and priorities 2017 at the Congress."
+msgstr "I2P将会出席33C3,请来我们的桌边逛逛,并告诉我们您改进这个网络的想法。\n我们会在大会上回顾我们2017年的蓝图以及优先事项。"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:49
+msgid "Fix version test for SSU IPv6 peer testing"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:50
+msgid "Fix generation of keys for SSL console"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:51
+msgid "Fix uploader limit in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:52
+msgid "Fix susimail nonce error on login after logout"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:53
+msgid "Fixes for Java 9"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:59
+msgid "Allow Java 9 in packages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:60
+msgid "Add warning for Java 9, not yet recommended"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:61
+msgid "Preliminary fixes for use with Tomcat 8"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:62
+msgid "Improved self-signed certificates"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:63
+msgid "Increase max IPv6 MTU (proposal #127)"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:64
+msgid "Caching of serialized leasesets"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:65
+msgid "Peer selection updates"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:66
+msgid "Restrictions in peer selection for netdb verifies"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:67
+msgid "New advanced netdb search form"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:68
+msgid "Sybil tool enhancements"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:69
+msgid "Blocklist updates in news feed"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:70
+msgid "Support IPv6 in blocklist"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:71
+msgid "Add Java version to jar manifests"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:72
+msgid "Remove dead console home page links"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:73
+msgid "Add initial news to bottom of full news page"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:74
+msgid "Fix periodic re-logging of dup log messages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:75
+msgid "Periodic saving of profiles and i2psnark DHT nodes"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:76
+msgid "Catch rare UPnP exceptions"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:77
+msgid "Add logout button to more susimail pages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:78
+msgid "Truncate history.txt in installers"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:79
+msgid "Use NTCP even before SSU minimums are met or SSU is broken"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:80
+msgid "Reduce default tunnel build records to 4"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:81
+msgid "Improved IPv6 address selection"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:82
+msgid "Add force-firewalled IPv6 setting"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:83
+msgid "Improved handling of webapps that fail to start"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:84
+msgid "New configuration for test networks"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:85
+msgid "Remove deprecated Sha256Standalone, Syndie 1.105 must upgrade"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:86
+msgid "Actually use a random nonzero byte in ElGamal, as specified"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:87
+msgid "Disallow RSA for netdb entries"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:88
+msgid "Add library jars to jar classpath for Debian builds"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:89
+msgid "Remove old systray code"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:90
+msgid "Fix low-memory warnings without wrapper"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:91
+msgid "Various code consolidation and cleanup"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:92
+msgid "New translations: Galician, Korean"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:93
+msgid "New translations for some subsytems: Chinese (Taiwan)"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.29 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:10
+msgid "0.9.29 contains bug fixes"
+msgstr "0.9.29包含缺陷修复"
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:17
+msgid ""
+"0.9.29 contains fixes for numerous Trac tickets, including workarounds for corrupt compressed messages.\n"
+"We now support NTP over IPv6.\n"
+"We've added preliminary Docker support.\n"
+"We now have translated man pages.\n"
+"We now pass same-origin Referer headers through the HTTP proxy.\n"
+"There are more fixes for Java 9, although we do not yet recommend Java 9 for general use."
+msgstr "0.9.29版本包含大量Trac工单的修复,包括针对错误压缩的消息的变通方案。\n我们现在在IPv6上提供对NTP的支持。\n我们对Docker加入了初步的支持。\n我们翻译了手册页。\n我们现在通过HTTP代理传输same-origin Referer标头。\n我们为Java 9进行了更多的修复,然而我们尚不推荐将Java 9用作一般用途。"
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:36
+msgid "BOB database refactor"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:37
+msgid "Fixes for Java 9, still not recommended for general use"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:38
+msgid "NTP fixes for security and standards"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:39
+msgid "NTP IPv6 support"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:40
+msgid "Don't display very old news in console"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:41
+msgid "Blocklist checking improvements"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:42
+msgid "Add preliminary Docker support"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:43
+msgid "Add Referrer-Policy headers to console"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:44
+msgid "Pass same-origin Referer headers through proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:45
+msgid "Translated man pages"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:50
+msgid "Add support for outproxy plugin to CONNECT proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:51
+msgid "Replace random tunnel keys when rekeying"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:52
+msgid "Fix streaming optional delay and choking"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:53
+msgid "Don't hard fail on message expired error in streaming"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:54
+msgid "Fix javadoc errors"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:55
+msgid "Fix broken unit tests"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:56
+msgid "Ensure i2psnark finishes writing config files at shutdown"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:57
+msgid "Fix rare NPE in AES via NTCP"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:58
+msgid "Disable caching of compressors, in an attempt to fix corruption"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:59
+msgid "Don't close SAM or BOB session on receipt of corrupt compressed data"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:64
+msgid "Add support for ports to CONNECT proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:65
+msgid "Consolidate stream copy code"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:66
+msgid "Consolidate console timer threads"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:67
+msgid "New streaming test harness"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:1
+msgid ""
+"============================\n"
+"0.9.29 Windows Installer Fix\n"
+"============================"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:10
+msgid "0.9.29 Windows installer fix"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:17
+msgid ""
+"The 0.9.29 Windows installer posted on our website two days ago fails during install with an Exception.\n"
+"We have fixed the bug and posted the new installer to our website.\n"
+"This does not affect upgrades from previous releases or non-Windows installers.\n"
+"We apologize for the issue."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.30 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:10
+msgid "0.9.30 with Jetty 9"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:17
+msgid ""
+"0.9.30 contains an upgrade to Jetty 9 and Tomcat 8.\n"
+"The previous versions are no longer supported, and are not available in the upcoming Debian Stretch and Ubuntu Zesty releases."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:22
+msgid ""
+"The router will migrate the jetty.xml configuration file for each Jetty website to the new Jetty 9 setup.\n"
+"This should work for recent, unmodified configurations but may not work for modified or very old setups.\n"
+"Verify that your Jetty website works after upgrading, and contact us on IRC if you need assistance."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:28
+msgid ""
+"Several plugins are not compatible with Jetty 9 and must be updated.\n"
+"The following plugins have been updated to work with 0.9.30, and your router should update them after restart:"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:34
+msgid ""
+"The following plugins (with current versions listed) will not work with 0.9.30.\n"
+"Contact the appropriate plugin developer for the status of new versions:"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:40
+msgid ""
+"This release also supports migration of old (2014 and earlier) DSA-SHA1 hidden services to the more-secure EdDSA signature type.\n"
+"See http://zzz.i2p/topics/2271 for further information, including a guide and FAQ."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:45
+msgid ""
+"Note: On non-Android ARM platforms such as the Raspberry Pi, the blockfile database will upgrade on restart, which may take several minutes.\n"
+"Please be patient."
+msgstr "注意:在非Android的ARM平台,例如树莓派,文件块数据库将在重启时升级,这也许会花上数分钟。\n请保持耐心。"
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:60
+msgid "Jetty 9, Tomcat 8"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:61
+msgid "Stretch / Zesty support"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:62
+msgid "Migration support for DSA-SHA1 hidden services"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:63
+msgid "ARM (non-Android) router signature type migration"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:64
+msgid "ARM (non-Android) blockfile format migration"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:65
+msgid "Introducer expiration (proposal 133)"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:70
+msgid "Fix disappearing i2psnark start button"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:71
+msgid "Fix saving of libjcpuid.jnilib file on Macs"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:72
+msgid "Fix fallback to 'none' architecture for jbigi"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:73
+msgid "Fixes for multiple destinations in SusiDNS"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:74
+msgid "Fix config directory location in Gentoo"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:75
+msgid "Fix rapid firewalled/not-firewalled transitions"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:76
+msgid "Fix startup crash on very old Android platforms"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:77
+msgid "Fixes for advanced authentication strings in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:78
+msgid "Fix exception caused by corrupt stored i2psnark DHT data"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:79
+msgid "Speed up writes of i2psnark files at shutdown"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:84
+msgid "Recognize AMD Ryzen processor"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:85
+msgid "Support for new i2psnark-rpc remote plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:86
+msgid "Build addressbook as a jar, not a webapp"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:87
+msgid "Support client registration in app context"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:88
+msgid "Add support for i2psnark-rpc plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:89
+msgid "Adjust thresholds for probabalistic throttling on slow platforms"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:90
+msgid "Add reset() to I2PSocket API"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:91
+msgid "Add date parameter to subscription authentication strings"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:92
+msgid "Add bash completion scripts to Debian packages"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:1
+msgid ""
+"================================\n"
+"I2P Summer Dev 2017: MOAR Speed!\n"
+"================================"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:10
+msgid ""
+"This year's Summer Dev will be focused on metrics collection and performance"
+" improvements for the network."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:12
+msgid ""
+"It's that time of year again! We're embarking on our summer development\n"
+"programme, where we focus on a particular aspect of I2P to push it forward. For\n"
+"the next three months, we'll be encouraging both new contributors and existing\n"
+"community members to pick a task and have fun with it!"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:19
+msgid ""
+"`Last year`_, we focused on helping users and developers leverage I2P, by\n"
+"improving API tooling and giving some love to applications that run over I2P.\n"
+"This year, we want to improve the user experience by working on an aspect that\n"
+"affects everyone: performance."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:26
+msgid "`Last year`"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:28
+msgid ""
+"Despite onion-routing networks often being called \"low-latency\" networks, there\n"
+"is significant overhead created by routing traffic through additional computers.\n"
+"I2P's unidirectional tunnel design means that by default, a round trip between\n"
+"two Destinations will involve twelve participants! Improving the performance of\n"
+"these participants will help to both reduce the latency of end-to-end\n"
+"connections [1]_, and increase the quality of tunnels network-wide."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:37
+msgid ""
+"MOAR speed!\n"
+"==========="
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:42
+msgid "Our development programme this year will have four components:"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:46
+msgid ""
+"Measure\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:51
+msgid ""
+"We can't tell if we improve performance without a baseline! We'll be creating a\n"
+"metrics system for collecting usage and performance data about I2P in a\n"
+"privacy-preserving way, as well as porting various benchmarking tools to run\n"
+"over I2P (e.g. iperf3_)."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:60
+msgid ""
+"Optimise\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:65
+msgid ""
+"There's a lot of scope for improving the performance of our existing code, to\n"
+"e.g. reduce the overhead of participating in tunnels. We will be looking at\n"
+"potential improvements to:"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:71
+msgid "Cryptographic primitives"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:72
+msgid ""
+"Network transports, both at the link-layer (NTCP_, SSU_) and end-to-end "
+"(Streaming_)"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:73
+msgid "Peer profiling"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:74
+msgid "Tunnel path selection"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:80
+msgid ""
+"Advance\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:85
+msgid ""
+"We have several open proposals for improving the scalability of the I2P network\n"
+"(e.g. Prop115_, Prop123_, Prop124_, Prop125_, Prop138_, Prop140_). We will be\n"
+"working on these proposals, and begin implementing the finalised ones in the\n"
+"various network routers. The more feedback these proposals receive, the sooner\n"
+"we can roll them out, and the sooner I2P services can start using them!"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:100
+msgid ""
+"Research\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:105
+msgid ""
+"I2P is a packet-switched network, like the internet it runs on top of. This\n"
+"gives us significant flexibility in how we route packets, both for performance\n"
+"and privacy. The majority of this flexibility is unexplored! We want to\n"
+"encourage research into how various clearnet techniques for improving bandwidth\n"
+"can be applied to I2P, and how they might affect the privacy of network\n"
+"participants."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:119
+msgid ""
+"We have many more ideas for things we'd like to get done in these areas. If\n"
+"you're interested in hacking on privacy and anonymity software, designing\n"
+"protocols (cryptographic or otherwise), or researching future ideas - come and\n"
+"chat with us on IRC or Twitter! We are always happy to welcome newcomers into\n"
+"our community, both inside and outside the I2P network. We'll also be sending\n"
+"I2P stickers out to all new contributors taking part! If you want to chat about\n"
+"a specific idea, contact `@GetI2P`_, `@i2p`_ or `@str4d`_ on Twitter. You can\n"
+"also find us in #i2p-dev on OFTC or Freenode."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:141
+msgid ""
+"Low-latency onion-routing networks are vulnerable to traffic confirmation "
+"attacks, so it would be reasonable to ask whether improved performance "
+"equates to reduced privacy. Some latency can help privacy if applied "
+"correctly via random delays or batching (neither of which are currently "
+"employed by any general-purpose onion-routing network). However, if a tunnel"
+" has uniform overall latency, then traffic confirmation attacks should be "
+"just as viable with or without that latency; thus there should be little "
+"statistical difference when the latency is reduced uniformly."
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.31 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:10
+msgid "0.9.31 with Console Updates"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:17
+msgid ""
+"The changes in this release are much more noticeable than usual!\n"
+"We have refreshed the router console to make it easier to understand,\n"
+"improve accessibility and cross-browser support,\n"
+"and generally tidy things up.\n"
+"This is the first step in a longer-term plan to make the router console more user-friendly.\n"
+"We have also added torrent ratings and comments support to i2psnark."
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:36
+msgid "Console updates"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:37
+msgid "i2psnark ratings and comments"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:43
+msgid "Fix compile error with Jetty 9.2.22"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:44
+msgid "Preserve CRT parameters for RSA private keys"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:45
+msgid "Fix AES NPE on 4-core Rasp. Pi"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:46
+msgid "Fix NPE in GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:47
+msgid "Fix bencoding for scrape response in zzzot plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:48
+msgid "Fix display of default SusiDNS subscription"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:49
+msgid "Fix Debian apparmor profile"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:50
+msgid "Improve handling of read-only i2psnark directory"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:56
+msgid "Hostname lookup caching improvements"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:57
+msgid "Move blockfile support from i2p.jar to addressbook.jar"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:58
+msgid "Locale-independent Jetty directory listing"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.32 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:10
+msgid "0.9.32 with Console Updates"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:17
+msgid ""
+"0.9.32 contains a number of fixes in the router console and associated webapps (addressbook, i2psnark, and susimail).\n"
+"We have also changed the way we handle configured hostnames for published router infos, to eliminate some network enumeration attacks via DNS.\n"
+"We have added some checks in the console to resist rebinding attacks."
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:33
+msgid "Disallow hostnames in router addresses (proposal 141)"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:34
+msgid "Validate Host header in console"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:39
+msgid "Numerous console, i2psnark, susidns, and susimail UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:40
+msgid "Fix i2psnark issues with expanding sections in some browsers"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:41
+msgid "Debian packaging fixes"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:46
+msgid "New benchmarking framework"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:47
+msgid "New Indonesian translation"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.33 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:10
+msgid "0.9.33 with Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:17
+msgid ""
+"0.9.33 contains a large number of bug fixes, including i2psnark, i2ptunnel, streaming, and SusiMail.\n"
+"For those who cannot access the reseed sites directly, we now support several types of proxies for reseeding.\n"
+"We now set rate limits by default in the hidden services manager.\n"
+"For those that run high-traffic servers, please review and adjust the limits as necessary."
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:34
+msgid "DesktopGui: Enable on OSX"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:35
+msgid "i2ptunnel: Set default rate limits"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:36
+msgid "Reseeding: Add support for proxies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:39
+msgid "new installs only"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:45
+msgid "Client: Remove key when stopping or disabling encrypted lease set"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:46
+msgid "Console: Several keyring configuration fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:47
+msgid "EepGet: Detect and reject redirect to https"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:48
+msgid "HTTP Proxy: Fix up characters in URLs not escaped by browsers "
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:49
+msgid "i2psnark: Fix bad completion status on recheck"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:50
+msgid "i2psnark: Prohibit comments unless name is set"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:51
+msgid "i2psnark: Fix crash stopping update torrent"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:52
+msgid "i2ptunnel: Don't erase messages on refresh in UI"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:53
+msgid "i2ptunnel: Propagate reset to and from streaming"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:54
+msgid "i2ptunnel: Add header read timeouts to client proxies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:55
+msgid "i2ptunnel: Prevent changing sig type after creating destination"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:56
+msgid "Jetty: Fix zero length in request log for static content"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:57
+msgid "Router: Reduce router info lock contention"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:58
+msgid "Streaming: Fix loopback hangs"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:59
+msgid "Streaming: Fix bug causing excessive acks"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:60
+msgid "Streaming: Fix connection close after reset"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:61
+msgid "SusiMail: Fix several issues when using multiple browser tabs"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:62
+msgid ""
+"SusuMail: Fix bugs corrupting text attachments and large message bodies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:63
+msgid "SusiMail: Reject sending messages that exceed server limits"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:64
+msgid "SusiMail: Reduce chance of crashes sending large attachments"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:65
+msgid "SusiMail: Subject line encoding fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:66
+msgid "SusiMail: Fix Cc header"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:67
+msgid "SusiMail: Fix encoding for attachment file names"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:68
+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 ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:70
+msgid "Utils: Use constant-time method to check passwords"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:76
+msgid "Build: Add partial Gradle support"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:77
+msgid "Console: Hide or combine aliased tunnels on tunnels pages"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:78
+msgid "Console: Note encrypted leasesets on netdb page"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:79
+msgid "Console: Use bandwidth setting for burst bandwidth"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:80
+msgid "Console: Refactor multipart form handling to use Servlet 3.0 API"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:81
+msgid "Console: Move most handlers and helpers to the war"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:82
+msgid "Debian: Xenial build is now separate, Zesty+ matches Buster"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:83
+msgid ""
+"Debian: Remove ecj dependency; replace glassfish with libtaglibs where able"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:84
+msgid "Debian: Fix builds for x32"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:85
+msgid "i2ptunnel: Refactor edit jsps"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:86
+msgid "i2ptunnel: Message box improvements"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:87
+msgid "Session Key Manager: Delete excess tag sets"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:88
+msgid "SOCKS: Move client code to core"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:89
+msgid ""
+"Startup: Increase open files ulimit if able, in i2prouter script (new "
+"installs only)"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:90
+msgid "SusiMail: UI tweaks and minor fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:91
+msgid "SusiMail: Use internal sockets to connect to servers"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:92
+msgid "SusiMail: Encoder refactoring"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:93
+msgid "SusiMail: State tracking refactoring"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:95
+msgid "Update GeoIP data"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:1
+msgid ""
+"===========================\n"
+"High-level Roadmap for 2018\n"
+"==========================="
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:10
+msgid ""
+"2018 will be the year of new protocols, new collaborations, and a more "
+"refined focus."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:12
+msgid ""
+"One of the many things we discussed at 34C3 was what we should focus on for the\n"
+"coming year. In particular, we wanted a roadmap that was clear about what we\n"
+"want to ensure we get done, vs what would be really nice to have, and be able to\n"
+"help onboard newcomers to either category. Here is what we came up with:"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:19
+msgid ""
+"Priority: New crypto(graphy!)\n"
+"-----------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:24
+msgid ""
+"Many of the current primitives and protocols still retain their original designs\n"
+"from circa 2005, and need improvement. We have had a number of open proposals\n"
+"for several years with ideas, but forward progress has been slow. We all agreed\n"
+"that this needs to be our top priority for 2018. The core components are:\n"
+"\n"
+"- New transport protocols (to replace NTCP and SSU). See Prop111_.\n"
+"- New onion-encryption protocol for building and using tunnels.\n"
+"- New NetDB datatypes to enable enhanced Destinations. See Prop123_.\n"
+"- Upgraded end-to-end protocol (replacing ElGamal)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:39
+msgid ""
+"Work on this priority falls into several areas:\n"
+"\n"
+"- Writing proposals.\n"
+"- Writing working implementations of them that we can test.\n"
+"- Reviewing proposals."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:47
+msgid ""
+"We cannot release new protocol specifications across the entire network without\n"
+"work on all of these areas."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:52
+msgid ""
+"Nice-to-have: Code reuse\n"
+"------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:57
+msgid ""
+"One of the benefits of starting the above work now, is that over the last few\n"
+"years there have been independent efforts to create simple protocols and\n"
+"protocol frameworks that achieve many of the aims we have for our own protocols,\n"
+"and have gained traction with the wider community. By leveraging this work, we\n"
+"get a \"force multiplier\" effect:\n"
+"\n"
+"- We benefit from protocol designs, security proofs, and code written by others,\n"
+" reducing the amount of work we need to do for the same level of\n"
+" feature-completeness and security assurances.\n"
+"\n"
+"- Work we do can be leveraged by other communities, increasing their interest in\n"
+" collaborating with us, and thinking about I2P as a whole."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:72
+msgid ""
+"My proposals in particular will be leveraging the `Noise Protocol Framework`_,\n"
+"and the `SPHINX packet format`_. I have collaborations lined up with several\n"
+"people outside I2P for these!"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:81
+msgid ""
+"Priority: Clearnet collaboration\n"
+"--------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:86
+msgid ""
+"On that topic, we've been slowly building interest over the last six months or\n"
+"so. Across PETS2017, 34C3, and RWC2018, I've had some very good discussions\n"
+"about ways in which we can improve collaboration with the wider community. This\n"
+"is really important to ensure we can garner as much review as possible for new\n"
+"protocols. The biggest blocker I've seen is the fact that the majority of I2P\n"
+"development collaboration currently happens inside I2P itself, which\n"
+"significantly increases the effort required to contribute."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:96
+msgid ""
+"The two priorities in this area are:\n"
+"\n"
+"- Set up a project-run development forum that is accessible both inside and\n"
+" outside I2P.\n"
+"\n"
+"- Set up mailing lists for review and discussion of proposals (possibly\n"
+" connected to the above forum)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:106
+msgid ""
+"Other goals which are classed as nice-to-have:\n"
+"\n"
+"- Set up a usable git-to-mtn pathway, to enable us to effectively solicit\n"
+" clearnet contributions on GitHub while keeping the canonical dev environment\n"
+" on Monotone.\n"
+"\n"
+"- Write a \"position paper\" that accurately explains I2P to academic audiences,\n"
+" and puts it in context with existing literature."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:117
+msgid ""
+"I expect that collaborations with people outside I2P will be done entirely on\n"
+"GitHub, for minimal friction."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:122
+msgid ""
+"Priority: Preparation for long-lived releases\n"
+"---------------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:127
+msgid ""
+"I2P is now in Debian Sid (their unstable repo) which will stablilise in around a\n"
+"year and a half, and has also been pulled into the Ubuntu repository for\n"
+"inclusion in the next LTS release in April. We are going to start having I2P\n"
+"versions that end up hanging around for years, and we need to ensure we can\n"
+"handle their presence in the network."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:135
+msgid ""
+"The primary goal here is to roll out as many of the new protocols as we feasibly\n"
+"can in the next year, to hit the next Debian stable release. For those that\n"
+"require multi-year rollouts, we should incorporate the forward-compatability\n"
+"changes as early as we can."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:142
+msgid ""
+"Priority: Pluginization of current apps\n"
+"---------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:147
+msgid ""
+"The Debian model encourages having separate packages for separate components. We\n"
+"agreed that decoupling the currently-bundled Java applications from the core\n"
+"Java router would be beneficial for several reasons:\n"
+"\n"
+"- It codifies the boundary between the applications and the router.\n"
+"\n"
+"- It should make it easier to get these apps running with non-Java routers.\n"
+"\n"
+"- It would enable third parties to create \"I2P bundles\" containing just the\n"
+" applications they want."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:160
+msgid ""
+"In combination with the earlier priorities, this moves the main I2P project more\n"
+"in the direction of e.g. the Linux kernel. We will spend more time focusing on\n"
+"the network itself, leaving third-party developers to focus on applications that\n"
+"use the network (something that is significantly easier to do after our work in\n"
+"the last few years on APIs and libraries)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:168
+msgid ""
+"Nice-to-have: App improvements\n"
+"------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:173
+msgid ""
+"There are a bunch of app-level improvements that we want to work on, but do not\n"
+"currently have the developer time to do so, given our other priorities. This is\n"
+"an area we would love to see new contributors for! Once the above decoupling is\n"
+"complete, it will be significantly easier for someone to work on a specific\n"
+"application independently of the main Java router."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:181
+msgid ""
+"One such application we would love to have help with is I2P Android. We will be\n"
+"keeping it up-to-date with the core I2P releases, and fixing bugs as we can, but\n"
+"there is much that could be done to improve the underlying code as well as the\n"
+"usability."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:188
+msgid ""
+"Priority: Susimail and I2P-Bote stabilisation\n"
+"---------------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:193
+msgid ""
+"Having said that, we do want to work specifically on Susimail and I2P-Bote fixes\n"
+"in the near term (some of which have landed in 0.9.33). They have had less work\n"
+"over the last few years than other I2P apps, and so we want to spend some time\n"
+"bringing their codebases up to par, and making them easier for new contributors\n"
+"to jump into!"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:201
+msgid ""
+"Nice-to-have: Ticket triage\n"
+"---------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:206
+msgid ""
+"We have a large backlog of tickets in a number of I2P subsystems and apps. As\n"
+"part of the above stabilisation effort, we would love to clean up some of our\n"
+"older long-standing issues. More importantly, we want to ensure that our tickets\n"
+"are correctly organised, so that new contributors can find good tickets to work\n"
+"on."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:214
+msgid ""
+"Priority: User support\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:219
+msgid ""
+"One aspect of the above we will be focusing on is keeping in touch with users\n"
+"who take the time to report issues. Thank you! The smaller we can make the\n"
+"feedback loop, the quicker we can resolve problems that new users face, and the\n"
+"more likely it is that they keep participating in the community."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:226
+msgid ""
+"We'd love your help!\n"
+"--------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:231
+msgid ""
+"That all looks very ambitious, and it is! But many of the items above overlap,\n"
+"and with careful planning we can make a serious dent in them."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:236
+msgid ""
+"If you are interested in helping with any of the goals above, come chat to us!\n"
+"You can find us on OFTC and Freenode (#i2p-dev), and Twitter (@GetI2P)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/12/bsidesnyc.rst:1
+msgid ""
+"================\n"
+"I2P at BSidesNYC\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2018/02/12/bsidesnyc.rst:10
+msgid "Trip report about the I2P meetup at BSidesNYC."
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.34 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:10
+msgid "0.9.34 with Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:17
+msgid ""
+"0.9.34 contains a lot of bug fixes!\n"
+"It also has improvements in SusiMail, IPv6 handling, and tunnel peer selection.\n"
+"We add support for IGD2 schemas in UPnP.\n"
+"There's also preparation for more improvements you will see in future releases."
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:34
+msgid "SusiMail: Improved startup and memory management"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:35
+msgid "UPnP: Support IGD 2"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:40
+msgid "Console: Numerous fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:41
+msgid "i2ptunnel: Fix servers not accepting after router restart"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:42
+msgid "Router: Improved tunnel peer selection for hidden and IPv6-only modes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:43
+msgid "SusiMail: Numerous fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:44
+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.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.rst:63
+msgid "Prep for splitting up Debian package"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:51
+msgid "Streaming: Return HTTP response when limits exceeded"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:52
+msgid "Console: Number formatting changes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:53
+msgid "EdDSA cleanups"
+msgstr ""
+
+#: 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.rst:10
+msgid "0.9.35 with SusiMail folders and SSL Wizard"
+msgstr ""
+
+#: 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.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.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.rst:40
+msgid "New Hidden Service SSL Wizard"
+msgstr ""
+
+#: 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.rst:47
+msgid "Console: Fix changes to wrong tunnel on /configtunnels"
+msgstr ""
+
+#: 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.rst:49
+msgid ""
+"i2psnark: Fix torrents ignoring priority settings when autostart enabled"
+msgstr ""
+
+#: 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.rst:51
+msgid "NTCP: Fix bug causing initial latency for outbound connections"
+msgstr ""
+
+#: 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.rst:53
+msgid "SusiMail: Many other fixes"
+msgstr ""
+
+#: 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.rst:59
+msgid "Add support for notes in Addressbook"
+msgstr ""
+
+#: 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.rst:61
+msgid "DNSoverHTTPS (disabled by default)"
+msgstr ""
+
+#: 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.rst:65
+msgid "Move SusiMail logging to router logs"
+msgstr ""
+
+#: 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.rst:67
+msgid "Fix eepget handling of response line with no status text"
+msgstr ""
+
+#: 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.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/i2p2www/translations/zh/LC_MESSAGES/comparison.po b/i2p2www/translations/zh/LC_MESSAGES/comparison.po
index c24b8327..8c34b0e1 100644
--- a/i2p2www/translations/zh/LC_MESSAGES/comparison.po
+++ b/i2p2www/translations/zh/LC_MESSAGES/comparison.po
@@ -1,7 +1,7 @@
-# Chinese translations for I2P.
-# Copyright (C) 2017 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# nobody , 2015
# nobody , 2016
@@ -10,18 +10,18 @@
# yue gao , 2017
msgid ""
msgstr ""
-"Project-Id-Version: I2P\n"
+"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2017-11-21 11:39+0000\n"
-"Last-Translator: yue gao \n"
-"Language-Team: Chinese (China) "
-"(http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
#: i2p2www/pages/site/comparison/freenet.html:2
msgid "I2P Compared to Freenet"
@@ -29,57 +29,37 @@ msgstr "I2P 相比 Freenet"
#: i2p2www/pages/site/comparison/freenet.html:8
msgid ""
-"Freenet is a fully distributed, peer to peer anonymous publishing "
-"network, offering \n"
-"secure ways to store data, as well as some approaches attempting to "
-"address the loads\n"
-"of a flash flood. While Freenet is designed as a distributed data store,"
-" people have\n"
-"built applications on top of it to do more generic anonymous "
-"communication, such as \n"
+"Freenet is a fully distributed, peer to peer anonymous publishing network, offering \n"
+"secure ways to store data, as well as some approaches attempting to address the loads\n"
+"of a flash flood. While Freenet is designed as a distributed data store, people have\n"
+"built applications on top of it to do more generic anonymous communication, such as \n"
"static websites and message boards."
msgstr "Freenet是一个完全分布式的P2P匿名发布网络,提供安全的数据存储方式,以及一些试图解决洪泛负载的方法。虽然Freenet的设计目的是分布式的数据存储,但是人们也在Freenet之上建立了一些应用程序,使得更通用的匿名通信成为可能,如静态网站和留言板等。"
#: i2p2www/pages/site/comparison/freenet.html:16
#, python-format
msgid ""
-"Compared to I2P, Freenet offers some substantial benefits - it is a "
-"distributed data\n"
-"store, while I2P is not, allowing people to retrieve the content "
-"published by others \n"
-"even when the publisher is no longer online. In addition, it should be "
-"able to \n"
-"distribute popular data fairly efficiently. I2P itself does not and will"
-" not provide \n"
-"this functionality. On the other hand, there is overlap for users who "
-"simply want to \n"
-"communicate with each other anonymously through websites, message boards,"
-" file sharing\n"
-"programs, etc. There have also been some attempts to develop a "
-"distributed data \n"
+"Compared to I2P, Freenet offers some substantial benefits - it is a distributed data\n"
+"store, while I2P is not, allowing people to retrieve the content published by others \n"
+"even when the publisher is no longer online. In addition, it should be able to \n"
+"distribute popular data fairly efficiently. I2P itself does not and will not provide \n"
+"this functionality. On the other hand, there is overlap for users who simply want to \n"
+"communicate with each other anonymously through websites, message boards, file sharing\n"
+"programs, etc. There have also been some attempts to develop a distributed data \n"
"store to run on top of I2P,\n"
"(most recently a port of Tahoe-LAFS)\n"
"but nothing is yet ready for general use."
-msgstr ""
-"相比于I2P,Freenet提供了一些实质性的好处——它是一个分布式的数据存储网络,而I2P并不是,Freenet允许用户检索已发布的内容,即便内容的发布者已经离线了。此外,Freenet应该能够高效地分发流行数据。I2P本身不提供此功能。另一方面,对于那些只想通过网站、留言板、文件共享程序等方式匿名交流的用户来说,这是有重叠的。I2P也进行了一些尝试以支持分布式数据存储,(最近的是Tahoe-LAFS的移植) 但还没有准备好全面使用。"
+msgstr "相比于I2P,Freenet提供了一些实质性的好处——它是一个分布式的数据存储网络,而I2P并不是,Freenet允许用户检索已发布的内容,即便内容的发布者已经离线了。此外,Freenet应该能够高效地分发流行数据。I2P本身不提供此功能。另一方面,对于那些只想通过网站、留言板、文件共享程序等方式匿名交流的用户来说,这是有重叠的。I2P也进行了一些尝试以支持分布式数据存储,(最近的是Tahoe-LAFS的移植) 但还没有准备好全面使用。"
#: i2p2www/pages/site/comparison/freenet.html:29
msgid ""
-"However, even ignoring any implementations issues, there are some "
-"concerns \n"
-"about Freenet's algorithms from both a scalability and anonymity "
-"perspective, owing \n"
-"largely to Freenet's heuristic driven routing. The interactions of "
-"various techniques \n"
-"certainly may successfully deter various attacks, and perhaps some "
-"aspects of the \n"
-"routing algorithms will provide the hoped for scalability. "
-"Unfortunately, not much\n"
-"analysis of the algorithms involved has resulted in positive results, but"
-" there is still\n"
-"hope. At the very least, Freenet does provide substantial anonymity "
-"against an attacker\n"
+"However, even ignoring any implementations issues, there are some concerns \n"
+"about Freenet's algorithms from both a scalability and anonymity perspective, owing \n"
+"largely to Freenet's heuristic driven routing. The interactions of various techniques \n"
+"certainly may successfully deter various attacks, and perhaps some aspects of the \n"
+"routing algorithms will provide the hoped for scalability. Unfortunately, not much\n"
+"analysis of the algorithms involved has resulted in positive results, but there is still\n"
+"hope. At the very least, Freenet does provide substantial anonymity against an attacker\n"
"who does not have the resources necessary to analyze it further."
msgstr ""
@@ -89,15 +69,11 @@ msgstr "I2P与其他项目的比较"
#: i2p2www/pages/site/comparison/index.html:4
msgid ""
-"There are a great many other applications and projects working on "
-"anonymous \n"
-"communication and I2P has been inspired by much of their efforts. This "
-"is not \n"
+"There are a great many other applications and projects working on anonymous \n"
+"communication and I2P has been inspired by much of their efforts. This is not \n"
"a comprehensive list of anonymity resources - both freehaven's \n"
-"Anonymity "
-"Bibliography\n"
-"and GNUnet's related "
-"projects\n"
+"Anonymity Bibliography\n"
+"and GNUnet's related projects\n"
"serve that purpose well. That said, a few systems stand out for further\n"
"comparison. The following have individual comparison pages:"
msgstr ""
@@ -109,13 +85,11 @@ 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, "
-"and we welcome comments and additions.\n"
-"You may contribute an analysis by entering a new "
-"ticket on Trac."
+"The content of this page is subject to update, discussion and dispute, and we welcome comments and additions.\n"
+"You may contribute an analysis by entering a new ticket on Trac."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:2
@@ -126,7 +100,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"
@@ -139,144 +113,124 @@ msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:29
#, 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 "
-"latency \n"
-"mix network. Morphmix includes some very interesting collusion detection"
-" \n"
-"algorithms and Sybil defenses, while Tarzan makes use of the scarcity of "
-"IP\n"
+"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 latency \n"
+"mix network. Morphmix includes some very interesting collusion detection \n"
+"algorithms and Sybil defenses, while Tarzan makes use of the scarcity of IP\n"
"addresses to accomplish the same. The two primary differences between \n"
-"these systems and I2P are related to I2P's threat model \n"
-"and their out-proxy design (as opposed to providing both sender and "
-"receiver \n"
-"anonymity). There is source code available to both systems, but we are "
-"not aware \n"
+"these systems and I2P are related to I2P's threat model \n"
+"and their out-proxy design (as opposed to providing both sender and receiver \n"
+"anonymity). There is source code available to both systems, but we are not aware \n"
"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"
-"Mixminion and Mixmaster are networks to support anonymous email against a"
-" very\n"
+"Mixminion and Mixmaster are networks to support anonymous email against a very\n"
"powerful adversary.\n"
"High-latency messaging applications running on top of I2P\n"
"(for example Syndie or I2PBote)\n"
"may perhaps prove adequate to meet the threat\n"
-"model of those adversaries, while running in parallel along side the "
-"needs of low latency users, to provide\n"
+"model of those adversaries, while running in parallel along side the needs of low latency users, to provide\n"
"a significantly larger anonymity set.\n"
-"High-latency support within the I2P router itself may or may not be added"
-" in a distant future release.\n"
-"It is too early to say if I2P will meet the needs of users requiring "
-"extreme protection for email."
+"High-latency support within the I2P router itself may or may not be added in a distant future release.\n"
+"It is too early to say if I2P will meet the needs of users requiring 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 "
-"web requests,\n"
-"and as such it has a few centralized nodes (participants in the cascade) "
-"that blend\n"
-"and mix requests from clients through the sequence of nodes (the cascade)"
-" before \n"
-"proxying out onto the web. The scope, threat model, and security is "
-"substantially \n"
-"different from I2P, but for those who don't require significant anonymity"
-" but still\n"
-"are not satisfied with an Anonymizer-like service, JAP is worth "
-"reviewing. One\n"
-"caution to note is that anyone under the jurisdiction of the German "
-"courts may want\n"
-"to take care, as the German Federal Bureau of Criminal Investigation "
-"(FBCI) has \n"
+"JAP (Java Anonymous Proxy) is a network of mix cascades for anonymizing web requests,\n"
+"and as such it has a few centralized nodes (participants in the cascade) that blend\n"
+"and mix requests from clients through the sequence of nodes (the cascade) before \n"
+"proxying out onto the web. The scope, threat model, and security is substantially \n"
+"different from I2P, but for those who don't require significant anonymity but still\n"
+"are not satisfied with an Anonymizer-like service, JAP is worth reviewing. One\n"
+"caution to note is that anyone under the jurisdiction of the German courts may want\n"
+"to take care, as the German Federal Bureau of Criminal Investigation (FBCI) has \n"
"successfully mounted an \n"
"attack \n"
-"on the network. Even though the method of this attack was later found to"
-" be illegal \n"
-"in the German courts, the fact that the data was successfully collected "
-"is the \n"
-"concern. Courts change their minds based upon circumstance, and this is "
-"evidence that \n"
-"if a government body or intelligence agency wanted to, they could gather "
-"the data, even \n"
+"on the network. Even though the method of this attack was later found to be illegal \n"
+"in the German courts, the fact that the data was successfully collected is the \n"
+"concern. Courts change their minds based upon circumstance, and this is evidence that \n"
+"if a government body or intelligence agency wanted to, they could gather the data, even \n"
"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"
"antnet routing, providing some degree of\n"
-"anonymity based on the threat model of providing plausible deniability "
-"against a simple \n"
-"non-colluding adversary. With the antnet routing, they first either do a"
-" random walk or a \n"
-"broadcast search to find some peer with the data or identity desired, and"
-" then use a feedback\n"
-"algorithm to optimize that found path. This works well for applications "
-"that merely want to know \n"
-"what other people around them have to offer - \"How are y'all doing\" vs."
-" \"Hey Alice, how are you\" - \n"
-"you basically get a local cluster of nodes that can share files with and "
-"maintain some degree of \n"
-"anonymity (though you don't have much control over who is in that group "
-"of peers)."
+"anonymity based on the threat model of providing plausible deniability against a simple \n"
+"non-colluding adversary. With the antnet routing, they first either do a random walk or a \n"
+"broadcast search to find some peer with the data or identity desired, and then use a feedback\n"
+"algorithm to optimize that found path. This works well for applications that merely want to know \n"
+"what other people around them have to offer - \"How are y'all doing\" vs. \"Hey Alice, how are you\" - \n"
+"you basically get a local cluster of nodes that can share files with and maintain some degree of \n"
+"anonymity (though you don't have much control over who is in that group 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"
-"particular peer it ends up doing a broadcast search or random walk "
-"(though if they are lucky enough\n"
-"for that to succeed, the antnet routing should optimize that found "
-"connection). This means that \n"
-"while these networks can work great at small scales, they are not "
-"suitable for large networks where\n"
-"someone wants to get in touch with another specific peer. That does not "
-"mean that there is no \n"
-"value in these systems, just that their applicability is limited to "
-"situations where their \n"
+"However, the algorithm does not scale well at all - if the application wants to speak with a \n"
+"particular peer it ends up doing a broadcast search or random walk (though if they are lucky enough\n"
+"for that to succeed, the antnet routing should optimize that found connection). This means that \n"
+"while these networks can work great at small scales, they are not suitable for large networks where\n"
+"someone wants to get in touch with another specific peer. That does not mean that there is no \n"
+"value in these systems, just that their applicability is limited to situations where their \n"
"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"
-"Tor did a good writeup on what to look for in a "
-"circumvention tool.\n"
-"Suffice it to say that being closed source and publicly targeting a "
-"specific country are not good ideas.\n"
+"Tor did a good writeup on what to look for in a circumvention tool.\n"
+"Suffice it to say that being closed source and publicly targeting a specific country are not good ideas.\n"
"I2P is, of course, open source. However, that source, and our\n"
"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 ""
@@ -479,13 +433,10 @@ msgstr "Tor 相对 I2P 的优势"
#: i2p2www/pages/site/comparison/tor.html:78
msgid ""
-"Much bigger user base; much more visibility in the academic and hacker "
-"communities; benefits from\n"
+"Much bigger user base; much more visibility in the academic and hacker communities; benefits from\n"
"formal studies of anonymity, resistance, and performance;\n"
"has a non-anonymous, visible, university-based leader"
-msgstr ""
-"大许多的用户群;在学术和黑客群体中得到较多关注;\n"
-"基于正式研究的匿名性、抵抗性和性能优势;有一个非匿名的,来自大学的领导者"
+msgstr "大许多的用户群;在学术和黑客群体中得到较多关注;\n基于正式研究的匿名性、抵抗性和性能优势;有一个非匿名的,来自大学的领导者"
#: i2p2www/pages/site/comparison/tor.html:84
msgid "Has already solved some scaling issues I2P has yet to address"
@@ -501,20 +452,17 @@ msgstr "有更多的开发者,其中有些是全职的"
#: i2p2www/pages/site/comparison/tor.html:88
msgid ""
-"More resistant to state-level blocking due to TLS transport layer and "
-"bridges\n"
-"(I2P has proposals for \"full restricted routes\" but these are not yet "
-"implemented)"
-msgstr ""
-"由于具有基于 TLS 的传输和网桥,对国家级封锁有更强的抵抗\n"
-"(I2P 有“完全限制路由”的提案,但还没有实现)"
+"More resistant to state-level blocking due to TLS transport layer and bridges\n"
+"(I2P has proposals for \"full restricted routes\" but these are not yet implemented)"
+msgstr "由于具有基于 TLS 的传输和网桥,对国家级封锁有更强的抵抗\n(I2P 有“完全限制路由”的提案,但还没有实现)"
#: i2p2www/pages/site/comparison/tor.html:93
msgid "Big enough that it has had to adapt to blocking and DOS attempts"
msgstr "足够大所以它已经适应了封锁和拒绝服务攻击"
#: i2p2www/pages/site/comparison/tor.html:94
-msgid "Designed and optimized for exit traffic, with a large number of exit nodes"
+msgid ""
+"Designed and optimized for exit traffic, with a large number of exit nodes"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:96
@@ -553,8 +501,8 @@ msgstr "I2P 相对 Tor 的优势"
#: i2p2www/pages/site/comparison/tor.html:120
msgid ""
-"Designed and optimized for hidden services, which are much faster than in"
-" Tor"
+"Designed and optimized for hidden services, which are much faster than in "
+"Tor"
msgstr "专为隐藏服务设计和优化,在这方面比 Tor 快许多"
#: i2p2www/pages/site/comparison/tor.html:121
@@ -571,9 +519,7 @@ msgstr "通过不断分析和比较性能,而不是根据目录声称的流量
msgid ""
"Floodfill peers (\"directory servers\") are varying and untrusted,\n"
"rather than hardcoded"
-msgstr ""
-"种子节点(“目录服务器”)是持续变化并且不被信任的,\n"
-"而不是硬编码写入"
+msgstr "种子节点(“目录服务器”)是持续变化并且不被信任的,\n而不是硬编码写入"
#: i2p2www/pages/site/comparison/tor.html:134
msgid "Small enough that it hasn't been blocked or DOSed much, or at all"
@@ -693,4 +639,3 @@ msgid ""
"where the endpoint will inject dummy messages if there\n"
"are insufficient messages, etc)"
msgstr ""
-
diff --git a/i2p2www/translations/zh/LC_MESSAGES/docs.po b/i2p2www/translations/zh/LC_MESSAGES/docs.po
index c838b6cb..2bd0956d 100644
--- a/i2p2www/translations/zh/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/zh/LC_MESSAGES/docs.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: nobody \n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,9 +26,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
@@ -130,7 +132,7 @@ msgid "Managed Clients"
msgstr ""
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr "在您的应用程序中嵌入该路由器"
@@ -148,7 +150,7 @@ msgid "hostsdb.blockfile Format"
msgstr "hostsdb.blockfile 格式"
#: i2p2www/pages/site/docs/index.html:49
-#: i2p2www/pages/site/docs/index.html:195
+#: i2p2www/pages/site/docs/index.html:197
msgid "Configuration File Format"
msgstr "配置文件格式"
@@ -292,7 +294,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 "路由器补种规格"
@@ -394,160 +396,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 "UDP-based transport overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:172
msgid "SSU specification"
msgstr "SSU 规格"
-#: i2p2www/pages/site/docs/index.html:172
+#: i2p2www/pages/site/docs/index.html:174
msgid "NTCP transport encryption"
msgstr "NTCP 传输加密"
-#: i2p2www/pages/site/docs/index.html:174
+#: i2p2www/pages/site/docs/index.html:176
msgid "SSU transport encryption"
msgstr "SSU 传输加密"
-#: i2p2www/pages/site/docs/index.html:176
+#: i2p2www/pages/site/docs/index.html:178
msgid "Transport Javadoc"
msgstr "传输 Java 文档"
-#: i2p2www/pages/site/docs/index.html:178
+#: i2p2www/pages/site/docs/index.html:180
msgid "NTCP Javadoc"
msgstr "NTCP Java 文档"
-#: i2p2www/pages/site/docs/index.html:180
+#: i2p2www/pages/site/docs/index.html:182
msgid "SSU Javadoc"
msgstr "SSU Java 文档"
-#: 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 "原生 BigInteger 程序库"
-#: i2p2www/pages/site/docs/index.html:191
+#: i2p2www/pages/site/docs/index.html:193
msgid "Time synchronization and NTP"
msgstr "时间同步及 NTP"
-#: 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 "服务器 %(num)s"
-#: 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 "I2P 使用的端口"
-#: 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 "Bug 跟踪系统"
-#: 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 "Transifex 上的翻译源"
-#: 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"
@@ -1346,7 +1348,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 ""
@@ -1880,7 +1881,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 ""
@@ -1893,7 +1894,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 ""
@@ -1910,7 +1911,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 ""
@@ -2794,7 +2795,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
@@ -2953,18 +2954,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 ""
@@ -3048,95 +3049,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3144,43 +3145,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3188,11 +3189,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3202,7 +3203,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3213,7 +3214,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3221,7 +3222,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 clove in a\n"
@@ -3231,11 +3232,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3249,11 +3250,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 simple choke/unchoke indication.\n"
@@ -3264,7 +3265,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3274,7 +3275,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3285,29 +3286,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3316,37 +3317,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3362,21 +3363,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3390,7 +3391,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3398,24 +3399,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 the\n"
@@ -3423,7 +3424,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3435,39 +3436,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6315,6 +6316,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"
@@ -7915,7 +7920,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 "介绍"
@@ -11684,10 +11689,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 ""
@@ -11704,7 +11705,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
@@ -11717,21 +11718,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"
@@ -11739,11 +11745,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 RouterInfo).\n"
@@ -11751,126 +11757,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11884,85 +11890,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11970,7 +11976,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11978,7 +11984,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 Obfuscation\n"
@@ -11989,21 +11995,16 @@ 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"
@@ -12012,38 +12013,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12052,7 +12053,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12061,40 +12062,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12103,11 +12104,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 DatabaseStoreMessage.\n"
@@ -12115,42 +12116,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12158,48 +12159,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12207,11 +12208,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"
@@ -12223,157 +12224,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12381,21 +12382,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12403,11 +12404,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12417,58 +12418,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 \n"
@@ -12477,13 +12478,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?"
@@ -12497,71 +12498,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12569,7 +12569,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"
@@ -12581,7 +12581,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\n"
@@ -12594,48 +12594,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12643,14 +12643,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12658,11 +12658,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 128.\n"
@@ -12674,11 +12674,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"
@@ -12687,7 +12687,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"
@@ -12697,7 +12697,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"
"with all established sessions - if there are matches,\n"
@@ -12709,7 +12709,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"
@@ -12721,7 +12721,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"
@@ -12729,18 +12729,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"
@@ -12748,7 +12748,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"
@@ -12757,11 +12757,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"
@@ -12769,41 +12769,41 @@ 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 "爱丽丝直接连接到鲍勃。\nIPv6 在 0.9.8 版本开始支持。"
-#: 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"
@@ -12814,7 +12814,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"
@@ -12824,7 +12824,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12832,7 +12832,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 now)\n"
@@ -12847,7 +12847,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"
@@ -12867,26 +12867,26 @@ 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"
@@ -12895,7 +12895,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"
@@ -12905,7 +12905,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"
@@ -12915,7 +12915,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"
@@ -12927,7 +12927,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"
@@ -12938,7 +12938,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"
@@ -12946,7 +12946,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"
@@ -12957,7 +12957,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"
@@ -12966,11 +12966,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"
@@ -12980,7 +12980,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 specified\n"
@@ -12993,11 +12993,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"
@@ -13006,105 +13006,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/zh/LC_MESSAGES/get-involved.po b/i2p2www/translations/zh/LC_MESSAGES/get-involved.po
index 716763b4..1426602d 100644
--- a/i2p2www/translations/zh/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/zh/LC_MESSAGES/get-involved.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: YF \n"
"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -314,40 +314,65 @@ msgid ""
"Detailed instructions are on our reseed server 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"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "2016年1月"
-#: 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 ""
@@ -1976,6 +2001,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 ""
@@ -2112,10 +2145,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."
@@ -2982,57 +3011,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"
@@ -3040,7 +3073,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3048,13 +3081,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3064,28 +3097,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3094,106 +3127,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3203,21 +3236,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3226,67 +3259,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3295,7 +3328,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/zh/LC_MESSAGES/priority.po b/i2p2www/translations/zh/LC_MESSAGES/priority.po
index 4e97606f..1f34e30e 100644
--- a/i2p2www/translations/zh/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/zh/LC_MESSAGES/priority.po
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: YF \n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -75,29 +75,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "已经过测试并且应该能工作在 x86/x86_64 平台上的软件包:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Precise 12.04 或更新)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy 或更高版本)"
-#: 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 report any issues\n"
@@ -105,73 +104,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "I2P包可能也能在上面未列出的系统上工作。请在 Trac at\nhttps://trac.i2p2.de 上报告任何这些包相关的问题。"
-#: 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 "选择 1: Ubuntu 最近版本及其衍生版 (如果您使用的不是Debian,请尝试此项。)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "选择 2:Debian (包括 Debian 衍生版)"
-#: 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 "通过命令行添加PPA源,安装I2P"
-#: 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 "此命令将添加 PPA 至 /etc/apt/source.list.d 中,\n并获取软件源签名所使用的 GPG 密钥。GPG 密钥保证软件包自编译后没有被篡改。"
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "输入一下命令,通知您的软件包管理器新添加的PPA源:"
-#: 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 "此命令将从系统中已启用的每个软件源中获取最新的软件列表,包括刚刚通过命令添加的 I2P PPA 源。"
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "您现在可以安装I2P了!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "使用Synaptic添加PPA"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "打开 Synaptic (系统 -> 管理 -> Synaptic 软件包管理器)。"
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "Synaptic 启动后,从 设置 菜单中选择 软件源 。"
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "点击 其他来源 选项卡,单击 添加。\n粘贴 ppa:i2p-maintainers/i2p
至 APT-行并点击添加来源。\n点击关闭 按钮,然后 重新载入。"
-#: 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 "
@@ -180,85 +179,105 @@ msgid ""
" Mark then Apply."
msgstr "在快速筛选框中,输入 i2p
,按回车键。\n结果列表中出现 i2p
后,右键点击 i2p
并选择 标记为安装。\n此后可能会出现 标记其他需要的变更? 弹出窗口,请选择 标记 然后 应用。"
-#: 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 "安装过程结束后,您可以继续到下一部分 启动I2P,根据您的系统对其进行配置。"
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Debian 的安装指南"
-#: 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\")."
-msgstr "注意:下列步骤应以 root 权限执行(例如用 \"su\" 切换到 root,或者用 \"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
."
-msgstr "添加如下行到 %(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:"
-msgstr "下载签名版本库的密钥并添加到 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 step\n"
"1."
msgstr "此命令将从您的系统上启用的每个资源库中检索最新的软件列表,包括用上述步骤添加的 I2P 资源库\n1."
-#: 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 "您现在已准备好安装 I2P!安装 i2p-keyring
软件包,确保你接收到用资源库的 GPG 密钥签发的更新。"
-#: 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 "安装过程结束后,您可以继续到下一部分 启动I2P,根据您的系统对其进行配置。"
-#: 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 "使用以上 I2P 软件包,I2P 路由可以通过如下方式启动"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"sudo or run it as root!)"
msgstr ""按需启动" 使用 i2prouter 脚本。从命令行执行 "i2prouter\nstart
" 即可。(注意:不要使用 sudo 或以 root 身份运行!)"
-#: i2p2www/pages/downloads/debian.html:177
+#: i2p2www/pages/downloads/debian.html:205
msgid ""
""on demand" without the java service wrapper\n"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -266,14 +285,14 @@ msgid ""
"use sudo or run it as root!)"
msgstr ""按需运行" 执行 \"i2prouter-nowrapper
\",\n不使用 java 服务封装直接运行(非Linux/非x86系统中需要这样)。\n(注意:不要使用 sudo 或以 root 身份运行!)"
-#: 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of operation."
msgstr "作为服务在您的系统启动时自动运行,甚至早于用户登录。服务可以通过以root身份或sudo命令执行\"dpkg-reconfigure\ni2p
\"启用。这是推荐的操作方式。"
-#: 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"
"if you can. The ports to forward can be found on the \n"
@@ -281,14 +300,14 @@ msgid ""
"you may find portforward.com to be helpful."
msgstr "首次安装时,请不要忘记如果可能请调整您的 NAT/防火墙。\n需要转发的端口可以通过路由控制台的 网络配置页面查看。\n如果需要端口转发/端口映射方面的帮助,portforward.com可能会对您有用。"
-#: 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr "请到配置页面,\n检查并调整带宽设置,因为默认设置的 96 KB/s 下行 / 40 KB/s 上行相当保守。"
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""
diff --git a/i2p2www/translations/zh/LC_MESSAGES/research.po b/i2p2www/translations/zh/LC_MESSAGES/research.po
index 26f060eb..63342efd 100644
--- a/i2p2www/translations/zh/LC_MESSAGES/research.po
+++ b/i2p2www/translations/zh/LC_MESSAGES/research.po
@@ -1,7 +1,7 @@
-# Chinese translations for I2P.
-# Copyright (C) 2016 ORGANIZATION
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the I2P project.
-#
+#
# Translators:
# xkimo_daeee , 2014
# Tommy Lmath , 2016
@@ -9,220 +9,277 @@
# YF , 2014,2016
msgid ""
msgstr ""
-"Project-Id-Version: I2P\n"
+"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-02-12 00:06+0000\n"
-"PO-Revision-Date: 2016-12-23 09:03+0000\n"
-"Last-Translator: Tommy Lmath \n"
-"Language-Team: Chinese (China) "
-"(http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"POT-Creation-Date: 2018-06-24 13:48+0000\n"
+"PO-Revision-Date: 2018-06-24 18:45+0000\n"
+"Last-Translator: ducki2p \n"
+"Language-Team: Chinese (China) (http://www.transifex.com/otf/I2P/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
#: i2p2www/pages/site/research/index.html:2
msgid "Academic Research"
msgstr "学术研究"
#: i2p2www/pages/site/research/index.html:3
-msgid "February 2016"
-msgstr "2016年2月"
-
-#: i2p2www/pages/site/research/index.html:5
-msgid ""
-"Academic research and analysis of I2P is an important part of ensuring "
-"that the software and network performs as expected and is safe for users "
-"in hostile environments."
-msgstr "I2P 的学术研究和分析是重要的部分, 这确保软件和网络按预期执行且对在敌对环境中的用户来说是安全的."
-
-#: i2p2www/pages/site/research/index.html:9
-#, python-format
-msgid ""
-"\n"
-"Recent events have prompted anonymity projects to provide specific "
-"guidelines\n"
-"for responsible research.\n"
-"We endorse the Tor Ethical Research Guidelines "
-"and incorporate them here.\n"
-"Please follow the Tor guidelines when researching I2P as well.\n"
+#: i2p2www/pages/site/research/questions.html:3
+msgid "May 2018"
msgstr ""
-#: i2p2www/pages/site/research/index.html:16
+#: i2p2www/pages/site/research/index.html:6
+msgid "Introduction"
+msgstr "介绍"
+
+#: i2p2www/pages/site/research/index.html:8
+msgid "Research on the I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:10
+msgid ""
+"I2P is a very unique project that unfortunately has not received the wider\n"
+"academic attention it deserves. To date, most research focus on anonymous and\n"
+"onion-routing technology has been around Tor, and while those papers benefit us\n"
+"as well, there is a great need for I2P-focused research. This plays a key role\n"
+"in both maintaining the security and integrity of the network, as well as\n"
+"opening doors for more impactful future development."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:19
#, python-format
msgid ""
"\n"
-"There is a large research community investigating a wide range of aspects"
-" of\n"
-"anonymity. For a current and comprehensive list of relevant papers, see "
-"the\n"
+"There is a large research community investigating a wide range of aspects of\n"
+"anonymity. For a current and comprehensive list of relevant papers, see the\n"
"Free Haven Anonymity Bibliography.\n"
-"I2P benefits from much of the research into Tor and onion routing, but "
-"there is\n"
-"little dedicated research interest into the theory behind I2P, and the "
-"choices\n"
-"and tradeoffs that the network makes. This presents a unique opportunity "
-"for\n"
+"I2P benefits from much of the research into Tor and onion routing, but there is\n"
+"little dedicated research interest into the theory behind I2P, and the choices\n"
+"and tradeoffs that the network makes. This presents a unique opportunity for\n"
"original research.\n"
-msgstr ""
-"\n"
-"有一个调查匿名性方面范围广泛的大型研究社区 .当前综合有关论文列表,请参阅自由避风港匿名参考书目. I2P 得益于对 Tor 和裕 洋葱路由的大量研究. 不过, "
-"对I2P后面的理论以及网络做出的选择和权衡的研究几乎没有. 这为原创研究提供了一个独特的条件.\n"
+msgstr "\n有一个调查匿名性方面范围广泛的大型研究社区 .当前综合有关论文列表,请参阅自由避风港匿名参考书目. I2P 得益于对 Tor 和裕 洋葱路由的大量研究. 不过, 对I2P后面的理论以及网络做出的选择和权衡的研究几乎没有. 这为原创研究提供了一个独特的条件.\n"
-#: i2p2www/pages/site/research/index.html:26
+#: i2p2www/pages/site/research/index.html:29
#, python-format
msgid ""
"A list of known published papers about I2P is available here."
msgstr "已知的已发表的有关 I2P 的论文在这里可以找到。"
-#: i2p2www/pages/site/research/index.html:30
-#, python-format
+#: i2p2www/pages/site/research/index.html:34
msgid ""
"\n"
-"See also the Tor Research Home Page for general "
-"guidance and links.\n"
+"This page aims to outline the most needed fields of research, notes to\n"
+"potential researchers, our general safety guidelines as well as an expanding\n"
+"list of open questions that you can begin on at any time.\n"
msgstr ""
-#: i2p2www/pages/site/research/index.html:34
-msgid "Testing Attacks on I2P"
-msgstr "攻击测试 I2P"
-
-#: i2p2www/pages/site/research/index.html:36
-msgid ""
-"I2P can be run as a separate test network by controlling the locations "
-"that a new router reseeds from so that it only finds other test routers."
-msgstr "I2P 可以作为一个单独的测试网络运行, 通过控制 新路由器的补种位置,这样它就只会找到其他的测试路由器."
-
#: i2p2www/pages/site/research/index.html:40
-msgid ""
-"The standard mode of operation is to have one JVM per router instance; "
-"hence running multiple copies of I2P on a single machine is inadvisable, "
-"both due to the potential resource drain and the certain port conflicts. "
-"To better facilitate setting up small test networks, I2P has a "
-"multirouter mode which enables multiple distinct routers to be run in the"
-" same JVM."
+msgid "Notes to Researchers:"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:42
+msgid "Defensive Research"
msgstr ""
-"运作的标准模式是每个路由器实例有一个JVM ;因此在一台机器上运行 I2P "
-"的多个副本是不可取的,既由于潜在资源的流失又由于某些端口冲突。为更好地的方便设置小测试网络,I2P 有一个 multirouter "
-"模式,它可以让多个不同路由器在同一个 JVM 中运行."
#: i2p2www/pages/site/research/index.html:44
msgid ""
-"MultiRouter can be started from the i2p base directory by running the "
-"below command."
-msgstr "起动MultiRouter, 可以在 i2p 基目录通过运行以下命令."
-
-#: i2p2www/pages/site/research/index.html:49
-msgid ""
-"Additionally, I2P can be started in a virtual network mode. This mode "
-"disables all transports, allowing the router to be tested in isolation "
-"without network traffic. To enable this mode, add "
-"i2p.vmCommSystem=true
to the router.config before starting."
+"While all research on the I2P network is beneficial and appreciated, there are\n"
+"certain areas which are more in need than others - most so in defensive\n"
+"research. Most people enjoy coming up with fun ways to launch offensives\n"
+"against anonymous software, and this is further reinforced by the incentives in\n"
+"academic institutions. While we know it is often not the first choice for\n"
+"researchers, We would certainly appreciate any and all work towards ways to\n"
+"fortify the network!"
msgstr ""
-"此外,I2P 可以在虚拟网络模式下起动。这种模式下禁用所有传输,允许路由器在没有网络交通流量下进行隔离测试。要启用此模式,在起动前,向 "
-"router.config 添加i2p.vmCommSystem=true
."
-#: i2p2www/pages/site/research/index.html:53
-msgid "Testing the Live I2P Network"
-msgstr "测试在线的 I2P 网络"
+#: i2p2www/pages/site/research/index.html:54
+msgid "Offensive and Analytic Tests"
+msgstr ""
-#: i2p2www/pages/site/research/index.html:55
+#: i2p2www/pages/site/research/index.html:56
#, python-format
msgid ""
-"If you are planning on conducting research on the live I2P network, "
-"please contact us before you commence your "
-"testing. While we do not discourage researchers from responsibly testing "
-"their ideas on the live network, if an attack becomes apparent and we "
-"don't have any line of communication then we will end up taking "
-"countermeasures which could interfere with the test."
+"If you've decided on a research topic that aims to hands-on investigate the I2P\n"
+"network or solve a problem of large proportions we ask you to please \n"
+"communicate your ideas to the development team, the\n"
+"sooner the better. I2P is under constant development and a significant amount\n"
+"of roadmapping occurs, therefore your problem may have already been identified\n"
+"and flagged for update or patch. In the unlikely event you are conducting\n"
+"testing that overlaps with / would be of interest to another research project\n"
+"already in motion, we are also able to make you aware of this (with their\n"
+"permission, of course), and possibly open the door for collaboration. There is\n"
+"also a chance that the test itself may significantly harm the network or\n"
+"regular users, and the team may have ideas or suggestions to mitigate that risk\n"
+"and increase the safety of your testing."
msgstr ""
-"如果你打算调查研究目前在线的 I2P 网络,请在着手你的测试前联络我们。虽然我们不阻挠研究员负责任地测试在线的 I2P "
-"网络,但如果没有收到任何联络通知并且攻击性很明显,我们可能采取相应的对策,可能干扰到“测试”行动。"
-#: i2p2www/pages/site/research/index.html:60
-msgid "Router Family Configuration"
-msgstr "路由器系列配置"
-
-#: i2p2www/pages/site/research/index.html:62
-msgid ""
-"As of release 0.9.25, I2P supports a router family configuration.\n"
-"This provides researchers who run multiple routers with the means to "
-"publicly identify those routers.\n"
-"In turn, this helps the I2P project understand that these routers are not"
-" running an attack on the network.\n"
-"It also will prevent other routers from including multiple routers of the"
-" family in a single tunnel,\n"
-"which could lead to deanonymization.\n"
-"Routers that appear to be colluding but do not have a declared family may"
-" be assumed to\n"
-"be an attack on the network, and may be blocked.\n"
-"The best way to ensure the success of your research project is to work "
-"with us."
+#: i2p2www/pages/site/research/index.html:71
+msgid "Research Ethics & Testing the Network"
msgstr ""
#: i2p2www/pages/site/research/index.html:73
+msgid "General Guidelines"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:75
msgid ""
-"A router family shares a private key so that participation in the family "
-"cannot be spoofed.\n"
-"To configure a router family, click on the 'I2P Internals' link in the "
-"router console,\n"
-"and then on the 'Family' tab.\n"
-"Follow the instructions there to generate the private key for the first "
-"router in the family.\n"
-"Then, export the key from that router, and import it to other members of "
-"the family."
+"\n"
+" - \n"
+" Consider the benefits and risks - is there any doubt that the research\n"
+" provides more value than danger?\n"
+"
\n"
+" - \n"
+" If the research can be done on a test network then that is the preferred\n"
+" method\n"
+"
\n"
+" - \n"
+" If you must operate on the live network, the safest route is only\n"
+" collecting data about yourself\n"
+"
\n"
+" - \n"
+" If you need 'bigger data', It is recommended to first see if you can use\n"
+" data sets from previous experiments or other third party resources is\n"
+" recommended\n"
+"
\n"
+" - \n"
+" If you must collect data on the live network, ensure it is safe for\n"
+" publication and collect as little as possible\n"
+"
\n"
+" - \n"
+" After testing and before publish, review that all data which is to be\n"
+" published publicly is not intended to be private by the\n"
+" originator\n"
+"
\n"
+"
"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:106
+msgid "Using a Test Network to Attack I2P"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:108
+msgid ""
+"I2P can be run as a separate test network by controlling the locations that a\n"
+"new router reseeds from so that it only finds other test routers.\n"
+"\n"
+"The standard mode of operation is to have one JVM per router instance; hence\n"
+"running multiple copies of I2P on a single machine is inadvisable, both due to\n"
+"the potential resource drain and the certain port conflicts. To better\n"
+"facilitate setting up small test networks, I2P has a multirouter mode which\n"
+"enables multiple distinct routers to be run in the same JVM.\n"
+"\n"
+"MultiRouter can be started from the i2p base directory by running the below\n"
+"command."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:124
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode disables\n"
+"all transports, allowing the router to be tested in isolation without network\n"
+"traffic. To enable this mode, add i2p.vmCommSystem=true
to the\n"
+"router.config before starting."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:131
+msgid "Testing on the Live I2P Network"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:133
+#, python-format
+msgid ""
+"As stated above in the researcher notes, please contact\n"
+" us before you commence your testing. While we do not discourage\n"
+"researchers from responsibly testing their ideas on the live network, if an\n"
+"attack becomes apparent and we don't have any line of communication then we\n"
+"will end up taking countermeasures which could interfere with the test."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:141
+msgid "Router Family Configuration"
+msgstr "路由器系列配置"
+
+#: i2p2www/pages/site/research/index.html:143
+msgid ""
+"As of release 0.9.25, I2P supports a router family configuration. This provides\n"
+"researchers who run multiple routers with the means to publicly identify those\n"
+"routers. In turn, this helps the I2P project understand that these routers are\n"
+"not running an attack on the network. It also will prevent other routers from\n"
+"including multiple routers of the family in a single tunnel, which could lead\n"
+"to deanonymization. Routers that appear to be colluding but do not have a\n"
+"declared family may be assumed to be an attack on the network, and may be\n"
+"blocked. The best way to ensure the success of your research project is to work\n"
+"with us directly."
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:155
+msgid ""
+"A router family shares a private key so that participation in the family cannot\n"
+"be spoofed. To configure a router family, click on the 'I2P Internals' link in\n"
+"the router console, and then on the 'Family' tab. Follow the instructions there\n"
+"to generate the private key for the first router in the family. Then, export\n"
+"the key from that router, and import it to other members of the family."
msgstr ""
#: i2p2www/pages/site/research/questions.html:2
msgid "Open research questions"
msgstr "开放式的研究问题"
-#: i2p2www/pages/site/research/questions.html:4
+#: i2p2www/pages/site/research/questions.html:5
msgid "Network database"
msgstr "网络数据库"
#: i2p2www/pages/site/research/questions.html:6
+msgid "Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:19
msgid "Transports"
msgstr "传输"
-#: i2p2www/pages/site/research/questions.html:11
+#: i2p2www/pages/site/research/questions.html:31
msgid "Tunnels and Destinations"
msgstr "隧道和目标"
-#: i2p2www/pages/site/research/questions.html:13
+#: i2p2www/pages/site/research/questions.html:33
msgid "Peer selection"
msgstr "节点选择"
-#: i2p2www/pages/site/research/questions.html:15
+#: i2p2www/pages/site/research/questions.html:46
msgid "Unidirectional tunnels"
msgstr "单向隧道"
-#: i2p2www/pages/site/research/questions.html:21
+#: i2p2www/pages/site/research/questions.html:52
msgid "Multihoming"
msgstr "多宿主"
-#: i2p2www/pages/site/research/questions.html:28
+#: i2p2www/pages/site/research/questions.html:59
msgid "Message routing"
msgstr "消息路由"
+#: i2p2www/pages/site/research/questions.html:66
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:75
+msgid "Network Related"
+msgstr ""
+
#: i2p2www/pages/site/research/vrp.html:2
msgid "Vulnerability Response Process"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:3
-#, fuzzy
msgid "January 2017"
-msgstr "2016年2月"
+msgstr ""
#: i2p2www/pages/site/research/vrp.html:6
msgid ""
"\n"
-"This process is subject to change. Please refer to this page for the "
-"current VRP."
+"This process is subject to change. Please refer to this page for the current VRP."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:10
@@ -234,7 +291,8 @@ msgid "Security Response Team"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:16
-msgid "Only the following members have access to the security point of contact:"
+msgid ""
+"Only the following members have access to the security point of contact:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:25
@@ -247,12 +305,11 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:32
msgid "Email"
-msgstr ""
+msgstr "电子邮件"
#: i2p2www/pages/site/research/vrp.html:37
msgid ""
-"Response Team designates a Response Manager who is in charge of the "
-"particular\n"
+"Response Team designates a Response Manager who is in charge of the particular\n"
"report based on availability and/or knowledge-set."
msgstr ""
@@ -265,8 +322,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:47
msgid ""
-"Response Manager makes inquiries to satisfy any needed information and to"
-"\n"
+"Response Manager makes inquiries to satisfy any needed information and to\n"
"confirm if submission is indeed a vulnerability."
msgstr ""
@@ -286,14 +342,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:62
msgid ""
-"Response Manager moves discussion to a new or existing ticket on public "
-"Trac if necessary."
+"Response Manager moves discussion to a new or existing ticket on public Trac"
+" if necessary."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:70
msgid ""
-"If over email, Response Manager opens a HackerOne issue for new "
-"submission."
+"If over email, Response Manager opens a HackerOne issue for new submission."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:74
@@ -305,8 +360,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:79
msgid ""
-"Effects network as a whole, has potential to break entire network or is "
-"on a scale of great catastrophe."
+"Effects network as a whole, has potential to break entire network or is on a"
+" scale of great catastrophe."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:83
@@ -324,19 +379,18 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:97
#, python-format
msgid ""
-"HIGH severities must be notified on website and news feed within "
-"%(limit)s\n"
+"HIGH severities must be notified on website and news feed within %(limit)s\n"
"working days of classification."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:102
-msgid "The notification should list appropriate steps for users to take, if any."
+msgid ""
+"The notification should list appropriate steps for users to take, if any."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:105
msgid ""
-"The notification must not include any details that could suggest an "
-"exploitation\n"
+"The notification must not include any details that could suggest an exploitation\n"
"path."
msgstr ""
@@ -358,8 +412,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:126
msgid ""
-"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work "
-"in."
+"Response Manager designates a PRIVATE monotone \"hotfix branch\" to work in."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:129
@@ -368,10 +421,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:132
msgid ""
-"Any messages associated with PUBLIC commits during the time of review "
-"should not\n"
-"make reference to the security nature of the PRIVATE branch or its "
-"commits."
+"Any messages associated with PUBLIC commits during the time of review should not\n"
+"make reference to the security nature of the PRIVATE branch or its commits."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:136
@@ -406,8 +457,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:163
msgid ""
-"Response Manager includes vulnerability announcement draft in release "
-"notes."
+"Response Manager includes vulnerability announcement draft in release notes."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:166
@@ -420,11 +470,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:176
#, python-format
-msgid "Response Team has %(limit)s days to fulfill all points within section III."
+msgid ""
+"Response Team has %(limit)s days to fulfill all points within section III."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:180
-msgid "If the Incident Response process in section III is successfully completed:"
+msgid ""
+"If the Incident Response process in section III is successfully completed:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:184
@@ -476,8 +528,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:215
msgid ""
-"Workarounds (configuration changes users can make to reduce their "
-"exposure to the vulnerability)."
+"Workarounds (configuration changes users can make to reduce their exposure "
+"to the vulnerability)."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:218
@@ -485,13 +537,14 @@ msgid "If applicable, credits to the original reporter."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:223
-msgid "Release finalized vulnerability announcement on website and in news feed."
+msgid ""
+"Release finalized vulnerability announcement on website and in news feed."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:226
msgid ""
-"For HIGH severities, release finalized vulnerability announcement on "
-"well-known mailing lists:"
+"For HIGH severities, release finalized vulnerability announcement on well-"
+"known mailing lists:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:234
@@ -500,8 +553,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:238
msgid ""
-"The commit that applied the fix is made reference too in a future commit "
-"and includes a CVE-ID."
+"The commit that applied the fix is made reference too in a future commit and"
+" includes a CVE-ID."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:246
@@ -512,33 +565,28 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:250
msgid ""
-"Response Team and developers organize an IRC meeting to discuss why/what "
-"points\n"
-"in section III were not resolved and how the team can resolve them in the"
-"\n"
+"Response Team and developers organize an IRC meeting to discuss why/what points\n"
+"in section III were not resolved and how the team can resolve them in the\n"
"future."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:255
msgid ""
-"Any developer meetings immediately following the incident should include "
-"points\n"
+"Any developer meetings immediately following the incident should include points\n"
"made in section V."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:259
msgid ""
"If disputes arise about whether or when to disclose information about a\n"
-"vulnerability, the Response Team will publicly discuss the issue via IRC "
-"and\n"
+"vulnerability, the Response Team will publicly discuss the issue via IRC and\n"
"attempt to reach consensus."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:264
#, python-format
msgid ""
-"If consensus on a timely disclosure is not met (no later than %(limit)s "
-"days),\n"
+"If consensus on a timely disclosure is not met (no later than %(limit)s days),\n"
"the researcher (after %(limit)s days) has every right to expose the\n"
"vulnerability to the public."
msgstr ""
@@ -553,7 +601,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:278
#: i2p2www/pages/site/research/vrp.html:298
-msgid "Response Team and developers should coordinate to work on the following:"
+msgid ""
+"Response Team and developers should coordinate to work on the following:"
msgstr ""
#: i2p2www/pages/site/research/vrp.html:282
@@ -582,15 +631,13 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:308
msgid ""
-"If results are not sensitive, share with the public via IRC or public "
-"Trac."
+"If results are not sensitive, share with the public via IRC or public Trac."
msgstr ""
#: i2p2www/pages/site/research/vrp.html:316
#, python-format
msgid ""
-"Response Team has %(limit)s days following completion of section III to "
-"ensure\n"
+"Response Team has %(limit)s days following completion of section III to ensure\n"
"completion of section V."
msgstr ""
@@ -600,10 +647,8 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:324
msgid ""
-"Any further questions or resolutions regarding the incident(s) between "
-"the\n"
-"researcher and response + development team after public disclosure can be"
-"\n"
+"Any further questions or resolutions regarding the incident(s) between the\n"
+"researcher and response + development team after public disclosure can be\n"
"addressed via the following:"
msgstr ""
@@ -613,8 +658,7 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:341
msgid ""
-"Response Team and developers should hold annual meetings to review the "
-"previous\n"
+"Response Team and developers should hold annual meetings to review the previous\n"
"year's incidents."
msgstr ""
@@ -651,4 +695,3 @@ msgstr ""
#: i2p2www/pages/site/research/vrp.html:372
msgid "Potential changes to this process to improve future responses."
msgstr ""
-
diff --git a/i2p2www/translations/zh_TW/LC_MESSAGES/about.po b/i2p2www/translations/zh_TW/LC_MESSAGES/about.po
new file mode 100644
index 00000000..1c34c0ea
--- /dev/null
+++ b/i2p2www/translations/zh_TW/LC_MESSAGES/about.po
@@ -0,0 +1,2246 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-06-24 13:48+0000\n"
+"PO-Revision-Date: 2018-06-24 18:43+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/I2P/language/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: i2p2www/pages/site/about/alternative-clients.html:2
+#: i2p2www/pages/site/about/alternative-clients.html:4
+msgid "Alternative I2P clients"
+msgstr ""
+
+#: i2p2www/pages/site/about/alternative-clients.html:5
+msgid ""
+"The main I2P client implementation uses Java. If for some \n"
+"reason you can't use Java on your device, there are alternative implementations\n"
+"developed by community members."
+msgstr ""
+
+#: i2p2www/pages/site/about/alternative-clients.html:12
+#, python-format
+msgid ""
+"i2pd is a I2P client implementation in C++.\n"
+"As of early 2016, i2pd is became stable enough to be used in \n"
+"production, and since summer 2016 it fully implements all I2P APIs."
+msgstr ""
+
+#: i2p2www/pages/site/about/alternative-clients.html:19
+#, python-format
+msgid ""
+"Kovri is active i2pd fork developed for Monero "
+"cryptocurrency."
+msgstr ""
+
+#: i2p2www/pages/site/about/alternative-clients.html:24
+#, python-format
+msgid ""
+"Go-I2P is I2P client developed using the\n"
+"Go programming language. The project is in early development."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:2
+msgid "Web Browser Configuration"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:5
+msgid ""
+"Your web browser will need to be configured in order to browse eepsites and to\n"
+"utilize the outproxies available within I2P. Below are walkthroughs for some of\n"
+"the most popular browsers."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:11
+msgid "How to configure your browser"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:17
+#: i2p2www/pages/site/about/browser-config.html:94
+msgid "Outproxy Terms Of Service"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:22
+msgid "Internet Explorer 8 or Chrome"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:23
+msgid ""
+"In the tools menu select the \"Internet Options\" line to open the settings. In the\n"
+"settings window choose the connections tab and click on LAN settings for the\n"
+"proxy port configuration."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:28
+msgid "IE Internet Options"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:29
+msgid ""
+"Now set the checkmark at \"use a proxy server for your LAN\" and at the \"Bypass\n"
+"proxy server for local addresses\". With a click on Advanced-button you open the\n"
+"window to open the ports. Enter the values like on the picture, IP 127.0.0.1\n"
+"and port 4444 for HTTP, port 4445 for HTTPS. With clicks on OK you save the\n"
+"settings and your browser is set to use the I2P proxy.\n"
+"Note/Privacy tip: Set the FTP proxy to the same settings as the HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:37
+msgid "IE Proxy Settings"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:41
+msgid "Instructions for Firefox 57 and above:"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:42
+msgid ""
+"From the Menu button in the top right, select Preferences.\n"
+"Scroll down until you see the Network Proxy section, as shown in the\n"
+"screenshot below. Click on Settings"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:48
+msgid "Firefox57 Network Options"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:49
+msgid ""
+"In the Connection Settings pop-up, select Manual proxy\n"
+" configuration. Set both the HTTP and SSL Proxy to address\n"
+"127.0.0.1
with port 4444
as shown in the following\n"
+"screenshot."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:56
+msgid ""
+"Firefox57\n"
+"Connection Settings"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:57
+msgid "Firefox57 Connection Settings"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:60
+msgid ""
+"From the Tools menu, select Options to bring up the Firefox settings panel.\n"
+"Click the icon labelled Advanced, then click on the Network\n"
+"tab. In the Connections section, click on the Settings button. You'll\n"
+"see a Window like the following:"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:66
+msgid "Firefox Network Options"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:67
+msgid ""
+"In the Connection Settings window, click the circle next to Manual\n"
+" proxy configuration, then enter 127.0.0.1, port 4444 in the HTTP Proxy\n"
+"field. Enter 127.0.0.1, port 4445 in the SSL Proxy field.\n"
+"Be sure to enter localhost and 127.0.0.1 into the \"No Proxy for\" box.\n"
+"Note/Privacy tip: Set the FTP proxy to the same settings as the HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:75
+msgid "Firefox Proxy Settings"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:80
+msgid ""
+"From the Settings menu, select Configure Konqueror. In the\n"
+"Web Browsing group on the left side, select Proxy, then select the option \"Use manually specified proxy\n"
+"configuration\" on the right."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:85
+msgid "Konqueror Proxy Options"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:86
+msgid ""
+"Enter 127.0.0.1 and port 4444 into the HTTP box. Enter 127.0.0.1 and port 4445 into\n"
+"HTTPS box. Enter 127.0.0.1,localhost
into the Exceptions box. Click Apply then OK\n"
+"to close the configuration window.\n"
+"Note/Privacy tip: Set the FTP proxy to the same settings as the HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:95
+msgid ""
+"Remember: I2P was not designed for creating proxies to the outer Internet.\n"
+"Instead, it is meant to be used as an internal network."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:99
+msgid ""
+"The I2P project itself does not run any proxies to the Internet. \n"
+"The only outproxy is a service from the privacy solutions project. \n"
+"Consider donating to them for a continued stable service. Higher bandwidth will \n"
+"increase with the founding of the organization. Maybe more outproxies too.
\n"
+"http://privacysolutions.no"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:107
+#, python-format
+msgid ""
+"By default, I2P comes with two outproxies configured: %(http)s
\n"
+"and %(https)s
. Even the domain names are different, it's the same outproxy you hit.\n"
+"(multi-homed/keyed for better performance)"
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:112
+msgid ""
+"Filtering is active on these outproxies (for example, mibbit and torrent\n"
+"tracker access is blocked). Eepsites\n"
+"that are accessible via .i2p addresses are also not allowed via the outproxies.\n"
+"As a convenience, the outproxy blocks ad servers."
+msgstr ""
+
+#: i2p2www/pages/site/about/browser-config.html:118
+msgid ""
+"Tor is good application to use as an\n"
+"outproxy to the Internet."
+msgstr ""
+
+#: i2p2www/pages/site/about/glossary.html:2
+msgid "Glossary"
+msgstr ""
+
+#: i2p2www/pages/site/about/glossary.html:4
+msgid ""
+"This page lists often-used terminology when discussing I2P and cryptography."
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:2
+msgid "Hall Of Fame"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:5
+#, python-format
+msgid "Current balance: as of %(date)s"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:8
+#: i2p2www/pages/site/about/hall-of-fame.html:43
+#: i2p2www/pages/site/about/hall-of-fame.html:802
+#: i2p2www/pages/site/about/hall-of-fame.html:803
+#: i2p2www/pages/site/about/hall-of-fame.html:804
+#: i2p2www/pages/site/about/hall-of-fame.html:805
+#: i2p2www/pages/site/about/hall-of-fame.html:807
+#: i2p2www/pages/site/about/hall-of-fame.html:808
+#: i2p2www/pages/site/about/hall-of-fame.html:809
+#: i2p2www/pages/site/about/hall-of-fame.html:812
+#: i2p2www/pages/site/about/hall-of-fame.html:813
+#: i2p2www/pages/site/about/hall-of-fame.html:814
+#: i2p2www/pages/site/about/hall-of-fame.html:817
+#: i2p2www/pages/site/about/hall-of-fame.html:818
+#: i2p2www/pages/site/about/hall-of-fame.html:819
+#: i2p2www/pages/site/about/hall-of-fame.html:820
+#: i2p2www/pages/site/about/hall-of-fame.html:821
+#: i2p2www/pages/site/about/hall-of-fame.html:822
+#: i2p2www/pages/site/about/hall-of-fame.html:823
+#: i2p2www/pages/site/about/hall-of-fame.html:824
+#: i2p2www/pages/site/about/hall-of-fame.html:825
+#: i2p2www/pages/site/about/hall-of-fame.html:826
+#: i2p2www/pages/site/about/hall-of-fame.html:827
+#: i2p2www/pages/site/about/hall-of-fame.html:828
+#: i2p2www/pages/site/about/hall-of-fame.html:829
+#: i2p2www/pages/site/about/hall-of-fame.html:832
+#: i2p2www/pages/site/about/hall-of-fame.html:833
+#: i2p2www/pages/site/about/hall-of-fame.html:834
+#: i2p2www/pages/site/about/hall-of-fame.html:835
+#: i2p2www/pages/site/about/hall-of-fame.html:836
+#: i2p2www/pages/site/about/hall-of-fame.html:837
+#: i2p2www/pages/site/about/hall-of-fame.html:839
+#: i2p2www/pages/site/about/hall-of-fame.html:840
+#: i2p2www/pages/site/about/hall-of-fame.html:843
+#: i2p2www/pages/site/about/hall-of-fame.html:844
+#: i2p2www/pages/site/about/hall-of-fame.html:845
+#: i2p2www/pages/site/about/hall-of-fame.html:846
+#: i2p2www/pages/site/about/hall-of-fame.html:847
+#: i2p2www/pages/site/about/hall-of-fame.html:849
+#: i2p2www/pages/site/about/hall-of-fame.html:850
+#: i2p2www/pages/site/about/hall-of-fame.html:851
+#: i2p2www/pages/site/about/hall-of-fame.html:852
+#: i2p2www/pages/site/about/hall-of-fame.html:853
+#: i2p2www/pages/site/about/hall-of-fame.html:854
+#: i2p2www/pages/site/about/hall-of-fame.html:856
+#: i2p2www/pages/site/about/hall-of-fame.html:857
+#: i2p2www/pages/site/about/hall-of-fame.html:858
+#: i2p2www/pages/site/about/hall-of-fame.html:859
+#: i2p2www/pages/site/about/hall-of-fame.html:861
+#: i2p2www/pages/site/about/hall-of-fame.html:862
+#: i2p2www/pages/site/about/hall-of-fame.html:863
+#: i2p2www/pages/site/about/hall-of-fame.html:864
+#: i2p2www/pages/site/about/hall-of-fame.html:865
+#: i2p2www/pages/site/about/hall-of-fame.html:868
+#: i2p2www/pages/site/about/hall-of-fame.html:869
+#: i2p2www/pages/site/about/hall-of-fame.html:870
+#: i2p2www/pages/site/about/hall-of-fame.html:871
+#: i2p2www/pages/site/about/hall-of-fame.html:873
+#: i2p2www/pages/site/about/hall-of-fame.html:874
+#: i2p2www/pages/site/about/hall-of-fame.html:875
+#: i2p2www/pages/site/about/hall-of-fame.html:877
+#: i2p2www/pages/site/about/hall-of-fame.html:878
+#: i2p2www/pages/site/about/hall-of-fame.html:879
+#: i2p2www/pages/site/about/hall-of-fame.html:880
+#: i2p2www/pages/site/about/hall-of-fame.html:882
+#: i2p2www/pages/site/about/hall-of-fame.html:883
+#: i2p2www/pages/site/about/hall-of-fame.html:884
+#: i2p2www/pages/site/about/hall-of-fame.html:885
+#: i2p2www/pages/site/about/hall-of-fame.html:886
+#: i2p2www/pages/site/about/hall-of-fame.html:892
+#: i2p2www/pages/site/about/hall-of-fame.html:895
+#: i2p2www/pages/site/about/hall-of-fame.html:896
+#: i2p2www/pages/site/about/hall-of-fame.html:897
+#: i2p2www/pages/site/about/hall-of-fame.html:898
+#: i2p2www/pages/site/about/hall-of-fame.html:899
+#: i2p2www/pages/site/about/hall-of-fame.html:901
+#: i2p2www/pages/site/about/hall-of-fame.html:902
+#: i2p2www/pages/site/about/hall-of-fame.html:903
+#: i2p2www/pages/site/about/hall-of-fame.html:908
+#: i2p2www/pages/site/about/hall-of-fame.html:909
+#: i2p2www/pages/site/about/hall-of-fame.html:910
+#: i2p2www/pages/site/about/hall-of-fame.html:911
+#: i2p2www/pages/site/about/hall-of-fame.html:912
+#: i2p2www/pages/site/about/hall-of-fame.html:913
+#: i2p2www/pages/site/about/hall-of-fame.html:914
+#: i2p2www/pages/site/about/hall-of-fame.html:915
+#: i2p2www/pages/site/about/hall-of-fame.html:916
+#: i2p2www/pages/site/about/hall-of-fame.html:917
+#: i2p2www/pages/site/about/hall-of-fame.html:919
+#: i2p2www/pages/site/about/hall-of-fame.html:920
+#: i2p2www/pages/site/about/hall-of-fame.html:930
+#: i2p2www/pages/site/about/hall-of-fame.html:931
+#: i2p2www/pages/site/about/hall-of-fame.html:932
+#: i2p2www/pages/site/about/hall-of-fame.html:933
+#: i2p2www/pages/site/about/hall-of-fame.html:934
+#: i2p2www/pages/site/about/hall-of-fame.html:935
+#: i2p2www/pages/site/about/hall-of-fame.html:936
+#: i2p2www/pages/site/about/hall-of-fame.html:937
+#: i2p2www/pages/site/about/hall-of-fame.html:938
+#: i2p2www/pages/site/about/hall-of-fame.html:939
+#: i2p2www/pages/site/about/hall-of-fame.html:940
+#: i2p2www/pages/site/about/hall-of-fame.html:941
+#: i2p2www/pages/site/about/hall-of-fame.html:942
+#: i2p2www/pages/site/about/hall-of-fame.html:943
+#: i2p2www/pages/site/about/hall-of-fame.html:944
+#: i2p2www/pages/site/about/hall-of-fame.html:945
+#: i2p2www/pages/site/about/hall-of-fame.html:946
+#: i2p2www/pages/site/about/hall-of-fame.html:947
+#: i2p2www/pages/site/about/hall-of-fame.html:948
+#: i2p2www/pages/site/about/hall-of-fame.html:949
+#: i2p2www/pages/site/about/hall-of-fame.html:950
+#: i2p2www/pages/site/about/hall-of-fame.html:954
+#: i2p2www/pages/site/about/hall-of-fame.html:955
+#: i2p2www/pages/site/about/hall-of-fame.html:956
+#: i2p2www/pages/site/about/hall-of-fame.html:957
+#: i2p2www/pages/site/about/hall-of-fame.html:958
+#: i2p2www/pages/site/about/hall-of-fame.html:959
+#: i2p2www/pages/site/about/hall-of-fame.html:960
+#: i2p2www/pages/site/about/hall-of-fame.html:962
+#: i2p2www/pages/site/about/hall-of-fame.html:963
+#: i2p2www/pages/site/about/hall-of-fame.html:964
+#: i2p2www/pages/site/about/hall-of-fame.html:965
+#: i2p2www/pages/site/about/hall-of-fame.html:966
+#: i2p2www/pages/site/about/hall-of-fame.html:967
+#: i2p2www/pages/site/about/hall-of-fame.html:968
+#: i2p2www/pages/site/about/hall-of-fame.html:969
+#: i2p2www/pages/site/about/hall-of-fame.html:970
+#: i2p2www/pages/site/about/hall-of-fame.html:973
+#: i2p2www/pages/site/about/hall-of-fame.html:974
+#: i2p2www/pages/site/about/hall-of-fame.html:975
+#: i2p2www/pages/site/about/hall-of-fame.html:976
+#: i2p2www/pages/site/about/hall-of-fame.html:977
+#: i2p2www/pages/site/about/hall-of-fame.html:979
+#: i2p2www/pages/site/about/hall-of-fame.html:981
+#: i2p2www/pages/site/about/hall-of-fame.html:982
+#: i2p2www/pages/site/about/hall-of-fame.html:983
+#: i2p2www/pages/site/about/hall-of-fame.html:984
+#: i2p2www/pages/site/about/hall-of-fame.html:985
+#: i2p2www/pages/site/about/hall-of-fame.html:986
+#: i2p2www/pages/site/about/hall-of-fame.html:987
+#: i2p2www/pages/site/about/hall-of-fame.html:989
+#: i2p2www/pages/site/about/hall-of-fame.html:990
+#: i2p2www/pages/site/about/hall-of-fame.html:991
+#: i2p2www/pages/site/about/hall-of-fame.html:992
+#: i2p2www/pages/site/about/hall-of-fame.html:993
+#: i2p2www/pages/site/about/hall-of-fame.html:994
+#: i2p2www/pages/site/about/hall-of-fame.html:995
+#: i2p2www/pages/site/about/hall-of-fame.html:996
+#: i2p2www/pages/site/about/hall-of-fame.html:997
+#: i2p2www/pages/site/about/hall-of-fame.html:998
+#: i2p2www/pages/site/about/hall-of-fame.html:999
+#: i2p2www/pages/site/about/hall-of-fame.html:1000
+#: i2p2www/pages/site/about/hall-of-fame.html:1001
+#: i2p2www/pages/site/about/hall-of-fame.html:1002
+#: i2p2www/pages/site/about/hall-of-fame.html:1004
+#: i2p2www/pages/site/about/hall-of-fame.html:1005
+#: i2p2www/pages/site/about/hall-of-fame.html:1006
+#: i2p2www/pages/site/about/hall-of-fame.html:1009
+#: i2p2www/pages/site/about/hall-of-fame.html:1010
+#: i2p2www/pages/site/about/hall-of-fame.html:1013
+#: i2p2www/pages/site/about/hall-of-fame.html:1014
+#: i2p2www/pages/site/about/hall-of-fame.html:1016
+#: i2p2www/pages/site/about/hall-of-fame.html:1017
+#: i2p2www/pages/site/about/hall-of-fame.html:1030
+#: i2p2www/pages/site/about/hall-of-fame.html:1031
+#: i2p2www/pages/site/about/hall-of-fame.html:1032
+#: i2p2www/pages/site/about/hall-of-fame.html:1033
+#: i2p2www/pages/site/about/hall-of-fame.html:1034
+#: i2p2www/pages/site/about/hall-of-fame.html:1035
+#: i2p2www/pages/site/about/hall-of-fame.html:1036
+#: i2p2www/pages/site/about/hall-of-fame.html:1037
+#: i2p2www/pages/site/about/hall-of-fame.html:1038
+#: i2p2www/pages/site/about/hall-of-fame.html:1039
+#: i2p2www/pages/site/about/hall-of-fame.html:1040
+#: i2p2www/pages/site/about/hall-of-fame.html:1041
+#: i2p2www/pages/site/about/hall-of-fame.html:1042
+#: i2p2www/pages/site/about/hall-of-fame.html:1043
+#: i2p2www/pages/site/about/hall-of-fame.html:1044
+#: i2p2www/pages/site/about/hall-of-fame.html:1045
+#: i2p2www/pages/site/about/hall-of-fame.html:1046
+#: i2p2www/pages/site/about/hall-of-fame.html:1047
+#: i2p2www/pages/site/about/hall-of-fame.html:1048
+#: i2p2www/pages/site/about/hall-of-fame.html:1049
+#: i2p2www/pages/site/about/hall-of-fame.html:1050
+#: i2p2www/pages/site/about/hall-of-fame.html:1051
+#: i2p2www/pages/site/about/hall-of-fame.html:1052
+#: i2p2www/pages/site/about/hall-of-fame.html:1053
+#: i2p2www/pages/site/about/hall-of-fame.html:1054
+#: i2p2www/pages/site/about/hall-of-fame.html:1055
+#: i2p2www/pages/site/about/hall-of-fame.html:1056
+#: i2p2www/pages/site/about/hall-of-fame.html:1057
+#: i2p2www/pages/site/about/hall-of-fame.html:1058
+#: i2p2www/pages/site/about/hall-of-fame.html:1059
+#: i2p2www/pages/site/about/hall-of-fame.html:1060
+#: i2p2www/pages/site/about/hall-of-fame.html:1061
+#: i2p2www/pages/site/about/hall-of-fame.html:1062
+#: i2p2www/pages/site/about/hall-of-fame.html:1063
+#: i2p2www/pages/site/about/hall-of-fame.html:1064
+#: i2p2www/pages/site/about/hall-of-fame.html:1066
+#: i2p2www/pages/site/about/hall-of-fame.html:1067
+#: i2p2www/pages/site/about/hall-of-fame.html:1068
+#: i2p2www/pages/site/about/hall-of-fame.html:1069
+#: i2p2www/pages/site/about/hall-of-fame.html:1070
+#: i2p2www/pages/site/about/hall-of-fame.html:1071
+#: i2p2www/pages/site/about/hall-of-fame.html:1072
+#: i2p2www/pages/site/about/hall-of-fame.html:1073
+#: i2p2www/pages/site/about/hall-of-fame.html:1075
+#: i2p2www/pages/site/about/hall-of-fame.html:1076
+#: i2p2www/pages/site/about/hall-of-fame.html:1077
+#: i2p2www/pages/site/about/hall-of-fame.html:1079
+#: i2p2www/pages/site/about/hall-of-fame.html:1080
+#: i2p2www/pages/site/about/hall-of-fame.html:1081
+#: i2p2www/pages/site/about/hall-of-fame.html:1082
+#: i2p2www/pages/site/about/hall-of-fame.html:1083
+#: i2p2www/pages/site/about/hall-of-fame.html:1085
+#: i2p2www/pages/site/about/hall-of-fame.html:1088
+#: i2p2www/pages/site/about/hall-of-fame.html:1089
+#: i2p2www/pages/site/about/hall-of-fame.html:1090
+#: i2p2www/pages/site/about/hall-of-fame.html:1091
+#: i2p2www/pages/site/about/hall-of-fame.html:1092
+#: i2p2www/pages/site/about/hall-of-fame.html:1093
+#: i2p2www/pages/site/about/hall-of-fame.html:1094
+#: i2p2www/pages/site/about/hall-of-fame.html:1095
+#: i2p2www/pages/site/about/hall-of-fame.html:1096
+#: i2p2www/pages/site/about/hall-of-fame.html:1097
+#: i2p2www/pages/site/about/hall-of-fame.html:1098
+#: i2p2www/pages/site/about/hall-of-fame.html:1099
+#: i2p2www/pages/site/about/hall-of-fame.html:1100
+#: i2p2www/pages/site/about/hall-of-fame.html:1101
+#: i2p2www/pages/site/about/hall-of-fame.html:1103
+#: i2p2www/pages/site/about/hall-of-fame.html:1104
+#: i2p2www/pages/site/about/hall-of-fame.html:1105
+#: i2p2www/pages/site/about/hall-of-fame.html:1107
+#: i2p2www/pages/site/about/hall-of-fame.html:1110
+#: i2p2www/pages/site/about/hall-of-fame.html:1111
+#: i2p2www/pages/site/about/hall-of-fame.html:1112
+#: i2p2www/pages/site/about/hall-of-fame.html:1113
+#: i2p2www/pages/site/about/hall-of-fame.html:1114
+#: i2p2www/pages/site/about/hall-of-fame.html:1115
+#: i2p2www/pages/site/about/hall-of-fame.html:1116
+#: i2p2www/pages/site/about/hall-of-fame.html:1117
+#: i2p2www/pages/site/about/hall-of-fame.html:1118
+#: i2p2www/pages/site/about/hall-of-fame.html:1119
+#: i2p2www/pages/site/about/hall-of-fame.html:1120
+#: i2p2www/pages/site/about/hall-of-fame.html:1121
+#: i2p2www/pages/site/about/hall-of-fame.html:1122
+#: i2p2www/pages/site/about/hall-of-fame.html:1123
+#: i2p2www/pages/site/about/hall-of-fame.html:1124
+#: i2p2www/pages/site/about/hall-of-fame.html:1125
+#: i2p2www/pages/site/about/hall-of-fame.html:1126
+#: i2p2www/pages/site/about/hall-of-fame.html:1127
+#: i2p2www/pages/site/about/hall-of-fame.html:1128
+#: i2p2www/pages/site/about/hall-of-fame.html:1130
+#: i2p2www/pages/site/about/hall-of-fame.html:1131
+#: i2p2www/pages/site/about/hall-of-fame.html:1132
+msgid "General fund"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:9
+#: i2p2www/pages/site/about/hall-of-fame.html:12
+#: i2p2www/pages/site/about/hall-of-fame.html:16
+#, python-format
+msgid "%(euroval)s € and %(btcval)s BTC"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:10
+#, python-format
+msgid "%(bchval)s BCH; and %(xmrval)s XMR"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:11
+msgid "Datastorage bounty"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:13
+msgid "I2PHex bounty"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:14
+#: i2p2www/pages/site/about/hall-of-fame.html:18
+#, python-format
+msgid "%(euroval)s €"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:15
+msgid "Bitcoin client for I2P"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:17
+msgid "Unit Tests for I2P router"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:19
+msgid "Bounty Robert"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:20
+msgid "Bounty Syndie"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:21
+msgid "Bounty I2P for CCR Microtic Board"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:24
+msgid "Current running costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:35
+msgid "Big thanks go to the following people who have donated to I2P!"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:36
+#, python-format
+msgid ""
+"If you have made a donation, please send an email to echelon\n"
+"with your name or nick (and optionally homepage) so we can list you here."
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:41
+msgid "Current monthly subscriptions:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:47
+msgid "2018 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:81
+msgid "2017 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:203
+msgid "2016 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:340
+msgid "2015 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:503
+msgid "2014 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:622
+msgid "2013 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:799
+msgid "2012 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:927
+msgid "2011 donations and costs:"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:1028
+msgid "Previous to 2011 donations:"
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:2
+msgid "Intro"
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:4
+msgid "The Invisible Internet Project"
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:5
+#, python-format
+msgid ""
+"I2P is an anonymous network, exposing a simple layer that applications can \n"
+"use to anonymously and securely send messages to each other. The network itself is \n"
+"strictly message based (a la IP), but there is a \n"
+"library available to allow reliable streaming communication on top of it (a la \n"
+"TCP). \n"
+"All communication is end to end encrypted (in total there are four layers of \n"
+"encryption used when sending a message), and even the end points (\"destinations\") \n"
+"are cryptographic identifiers (essentially a pair of public keys)."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:18
+msgid "How does it work?"
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:20
+#, python-format
+msgid ""
+"To anonymize the messages sent, each client application has their I2P \"router\"\n"
+"build a few inbound and outbound \"tunnels\" - a \n"
+"sequence of peers that pass messages in one direction (to and from the client, \n"
+"respectively). In turn, when a client wants to send a message to another client, \n"
+"the client passes that message out one of their outbound tunnels targeting one of the \n"
+"other client's inbound tunnels, eventually reaching the destination. Every \n"
+"participant in the network chooses the length of these tunnels, and in doing so, \n"
+"makes a tradeoff between anonymity, latency, and throughput according to their \n"
+"own needs. The result is that the number of peers relaying each end to end \n"
+"message is the absolute minimum necessary to meet both the sender's and the \n"
+"receiver's threat model."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:34
+#, python-format
+msgid ""
+"The first time a client wants to contact another client, they make a query \n"
+"against the fully distributed \"network \n"
+"database\" - a custom structured \n"
+"distributed hash table (DHT) based off the \n"
+"Kademlia algorithm. This is done \n"
+"to find the other client's inbound tunnels efficiently, but subsequent messages \n"
+"between them usually includes that data so no further network database lookups \n"
+"are required."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:47
+#, python-format
+msgid "More details about how I2P works are available."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:51
+msgid "What can you do with it?"
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:53
+#, python-format
+msgid ""
+"Within the I2P network, applications are not restricted in how they can \n"
+"communicate - those that typically use UDP can make use of the base I2P \n"
+"functionality, and those that typically use TCP can use the TCP-like streaming\n"
+"library. We have a generic TCP/I2P bridge application \n"
+"(\"I2PTunnel\") that enables people to forward TCP streams\n"
+"into the I2P network as well as to receive streams out of the network and \n"
+"forward them towards a specific TCP/IP address."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:63
+#, python-format
+msgid ""
+"I2PTunnel is currently used to let people run their own anonymous website \n"
+"(\"eepsite\") by running a normal webserver and pointing an I2PTunnel 'server' \n"
+"at it, which people can access anonymously over I2P with a normal web browser \n"
+"by running an I2PTunnel HTTP proxy (\"eepproxy\"). In addition, we use the same \n"
+"technique to run an anonymous IRC network (where the IRC server is hosted \n"
+"anonymously, and standard IRC clients use an I2PTunnel to contact it). There \n"
+"are other application development efforts going on as well, such as one to \n"
+"build an optimized swarming file transfer application (a la \n"
+"BitTorrent), a \n"
+"distributed data store (a la Freenet / \n"
+"MNet), and a blogging system (a fully \n"
+"distributed LiveJournal), but those are \n"
+"not ready for use yet."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:82
+#, python-format
+msgid ""
+"I2P is not inherently an \"outproxy\" network - the client you send a message \n"
+"to is the cryptographic identifier, not some IP address, so the message must \n"
+"be addressed to someone running I2P. However, it is possible for that client\n"
+"to be an outproxy, allowing you to anonymously make use of their Internet \n"
+"connection. To demonstrate this, the \"eepproxy\" will accept normal non-I2P \n"
+"URLs (e.g. \"http://www.i2p.net\") and forward them to a specific destination\n"
+"that runs a squid HTTP proxy, allowing \n"
+"simple anonymous browsing of the normal web. Simple outproxies like that are \n"
+"not viable in the long run for several reasons (including the cost of running \n"
+"one as well as the anonymity and security issues they introduce), but in \n"
+"certain circumstances the technique could be appropriate."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:96
+#, python-format
+msgid ""
+"The I2P development team is an open group, welcome to all \n"
+"who are interested in getting involved, and all of \n"
+"the code is open source. The core I2P SDK and the \n"
+"current router implementation is done in Java (currently working with both \n"
+"sun and kaffe, gcj support planned for later), and there is a \n"
+"simple socket based API for accessing the network from \n"
+"other languages (with a C library available, and both Python and Perl in \n"
+"development). The network is actively being developed and has not yet reached \n"
+"the 1.0 release, but the current roadmap describes \n"
+"our schedule."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:2
+msgid "Presentations on I2P"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:5
+#, python-format
+msgid ""
+"Following are links to presentations, videos, and tutorials about I2P. Links"
+" to research papers on I2P are available here."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:8
+#, python-format
+msgid "To request an addition to this page, please send to %(email)s."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:11
+msgid ""
+"\n"
+"Newest links are at the bottom of each section."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:16
+msgid "Presentations"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:19
+#, python-format
+msgid ""
+"IIP Presentation at CodeCon\n"
+"MP3 audio\n"
+"transcript\n"
+"Lance James (0x90), February 2002."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:27
+#, python-format
+msgid ""
+"IIP Presentation at ToorCon\n"
+"MP3 audio\n"
+"slides\n"
+"Lance James (0x90), September 2002."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:35
+#, python-format
+msgid ""
+"To Be or I2P\n"
+"(Youtube Video)\n"
+"An introduction into anonymous communication with I2P.\n"
+"To Be or I2P (PDF presentation),\n"
+"Jens Kubieziel, 24C3 Berlin, December 28, 2007."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:44
+#, python-format
+msgid ""
+"Video of I2P talk at Chemnitz Linux Tag,\n"
+"Lars Schimmer,\n"
+"March 14-15, 2009"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:50
+#, python-format
+msgid ""
+"HOPE New York July 17, 2010 - Brief overview of I2P by zzz, at the end of Adrian Hong's talk\n"
+"\"Hackers for Human Rights\".\n"
+"MP3 audio"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:56
+#, python-format
+msgid ""
+"Into the I2P Darknet: Welcome to Cipherspace\n"
+"Adrian Crenshaw. Schmoocon Firetalk, January 2011"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:61
+#, python-format
+msgid ""
+"Using techhnology to advance liberty\n"
+"(Youtube Video)\n"
+"Eric Johnson.\n"
+"Agora I/O Unconference, March 27, 2011.\n"
+"I2P covered from 10:00 to 20:00 in the video."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:69
+#, python-format
+msgid ""
+"Common Darknet Weaknesses\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw, AIDE, July 11-15, 2011."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:75
+#, python-format
+msgid ""
+"I2P / Tor Workshop Notes\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:80
+#, python-format
+msgid ""
+"Cipherspaces/Darknets: An Overview Of Attack Strategies -\n"
+"DEF CON Live version (Youtube Video),\n"
+"\"Studio\" version (Youtube Video),\n"
+"Slides (ppt)\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:90
+msgid ""
+"Modern cipherspace ecosystems, 0x375 0x06 "
+"(Thessaloniki Tech Talk Sessions), November 4, 2011."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:94
+#, python-format
+msgid ""
+"I2P - The Anonymous Network\n"
+"(Youtube Video)\n"
+"Blair Dick, University of Abertay, Dundee Ethical Hacking Society, January 25, 2012."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:100
+#, python-format
+msgid ""
+"I2PCon 2015\n"
+"Toronto, August 15-16, 2015"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:105
+#, python-format
+msgid ""
+"I2P - Still alive! (pdf)\n"
+"(video)\n"
+"echelon, 32C3 (You Broke the Internet Assembly), Hamburg, December 28, 2015"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:112
+#, python-format
+msgid ""
+"Replacing Weary Crypto: Upgrading the I2P network with stronger primitives\n"
+"(pdf)\n"
+"(odp)\n"
+"str4d, Real World Crypto, Stanford, January 8, 2016"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:120
+#, python-format
+msgid ""
+"Onions and Garlic: the protocols of I2P\n"
+"(pdf)\n"
+"(odp)\n"
+"str4d, COMPSCI 460: Computer Networking, University of Wisconsin Whitewater, February 17, 2016"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:128
+#, python-format
+msgid ""
+"The Invisible Internet Project - An overview and guide to the technology\n"
+"(mp4)\n"
+"(webm)\n"
+"Andrew Savchenko (bircoph), FOSDEM, Brussel, February 4, 2018"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:140
+msgid "Tutorials"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:143
+#, python-format
+msgid ""
+"I2P Windows Tutorial\n"
+"(Youtube Video)\n"
+"This guide will show you how to install I2P in Windows XP.\n"
+"By Telecomix"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:150
+#, python-format
+msgid ""
+"I2P Debian Tutorial\n"
+"(Youtube Video)\n"
+"This will guide you through how to install I2P on a Debian Linux System.\n"
+"By Telecomix"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:157
+#, python-format
+msgid ""
+"How to set up anonymous site in I2P\n"
+"(Youtube Video)\n"
+"How to set up an anonymous web site in I2P.\n"
+"By Telecomix"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:164
+#, python-format
+msgid ""
+"I2P Tutorial Mac OS X\n"
+"(Youtube Video)\n"
+"A tutorial on how to run i2p on Mac OS X and how to connect to irc.telecomix.i2p.\n"
+"By Telecomix"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:171
+#, python-format
+msgid ""
+"Felix Atari explains the basic principles of I2P\n"
+"(Youtube Video)\n"
+"Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n"
+"By Telecomix"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:178
+#, python-format
+msgid ""
+"How to get onto I2P, the anonymous P2P Darknet (Windows Install)\n"
+"(Youtube Video)\n"
+"This tutorial shows how to install and configure software needed to access I2P."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:184
+#, python-format
+msgid ""
+"How to connect to I2P\n"
+"(Youtube Video)\n"
+"How to install I2P on Ubuntu."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:190
+#, python-format
+msgid ""
+"Installing the I2P darknet software in Linux\n"
+"(Video)\n"
+"Adrian Crenshaw.\n"
+"January 2011"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:197
+#, python-format
+msgid ""
+"Short garlic routing animation\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw.\n"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:205
+msgid "Articles and Interviews"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:208
+#, python-format
+msgid ""
+"Lance James (0x90) Interviewed by DistributedCity\n"
+"Part 1\n"
+"Part 2\n"
+"July 26, 2002."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:216
+#, python-format
+msgid ""
+"Lance James (0x90) Interviewed by El País\n"
+"(original in Spanish)\n"
+"English translation\n"
+"October 31, 2002."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:223
+#, python-format
+msgid ""
+"2003 Business Week article referencing invisiblenet\n"
+"September 14, 2003."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:228
+#, python-format
+msgid ""
+"Netzwelt.de article about being anonymous in the Internet\n"
+"(German)\n"
+"November 2007."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:234
+#, python-format
+msgid ""
+"zzz interviewed by gulli.com\n"
+"March 2009\n"
+"German translation"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:241
+#, python-format
+msgid ""
+"zzz interviewed on the InfoSec Daily Podcast Ep. 454 (mp3)\n"
+"August 18, 2011\n"
+"(link dead, seeded inside I2P at postman's tracker)"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:247
+#, python-format
+msgid ""
+"I2P - Anonymity for the Masses,\n"
+"Jonathan Cox,\n"
+"November 11, 2011."
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:253
+#, python-format
+msgid ""
+"zzz and Lance James interviewed on the InfoSec Daily Podcast Ep. 596 (mp3)\n"
+"February 16, 2012\n"
+"(link dead, seeded inside I2P at postman's tracker)"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:259
+#, python-format
+msgid ""
+"Jeff and Str4d interviewed on the Brakeing Down Security Podcast Ep. 2015-010 (mp3)\n"
+"Part 1, February 28, 2015"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:264
+#, python-format
+msgid ""
+"Jeff and Str4d interviewed on the Brakeing Down Security Podcast Ep. 2015-011 (mp3)\n"
+"Part 2, March 6, 2015"
+msgstr ""
+
+#: i2p2www/pages/site/about/media.html:271
+msgid "Other"
+msgstr "其它"
+
+#: i2p2www/pages/site/about/media.html:274
+msgid ""
+"I2P mentioned in Netflix's \"House of Cards\" Season 2 Episode 2,\n"
+"February 14, 2014"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:2
+msgid "I2P Project Members"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:5
+#, python-format
+msgid ""
+"We are a small group of people spread around several continents, working to\n"
+"advance different aspects of the project and discussing the design of the\n"
+"network.\n"
+"Get involved!"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:14
+msgid "Admin"
+msgstr "管理員"
+
+#: i2p2www/pages/site/about/team.html:15
+msgid "Project Manager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:17
+msgid "point of contact of last resort"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:20
+msgid "Treasurer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:22
+msgid "manage donations / accounts / bounties"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:25
+msgid "PR manager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:27
+msgid "press contact, manages public relations and affairs"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:30 i2p2www/pages/site/about/team.html:35
+msgid "Assistant PR manager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:32
+msgid "Public speaking, public relations assistance"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:37
+msgid "Public relations assistance"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:40
+#, python-format
+msgid "Forum admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:42
+msgid "manage the public user forum"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:45
+msgid "Download mirrors admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:47
+msgid "manage the mirrors for the download files"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:50
+msgid "Website mirrors admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:51 i2p2www/pages/site/about/team.html:86
+#: i2p2www/pages/site/about/team.html:101
+#: i2p2www/pages/site/about/team.html:121
+#: i2p2www/pages/site/about/team.html:126
+#: i2p2www/pages/site/about/team.html:166
+#: i2p2www/pages/site/about/team.html:188
+#: i2p2www/pages/site/about/team.html:198
+#: i2p2www/pages/site/about/team.html:213
+#: i2p2www/pages/site/about/team.html:246
+msgid "vacant"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:52
+msgid "manage the mirrors for the website"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:55
+#, python-format
+msgid "Monotone guru"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:57
+msgid "manage the public monotone repositories"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:60
+msgid "Packager; Linux"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:62
+msgid "Linux (Debian/Ubuntu) distribution packager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:65
+msgid "Packager; Windows"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:67
+msgid "Windows installer packager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:70
+msgid "Packager; OSX"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:72
+msgid "OSX installer packager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:75
+msgid "Release Manager"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:77
+msgid "Builds and signs the releases"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:80
+msgid "Release Manager Alternates"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:82
+msgid "Backup release managers"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:85
+msgid "Tails Maintainer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:87
+msgid "Maintain the I2P package in Tails"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:90
+msgid "CI admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:92
+msgid "Maintain the Continuous Integration infrastructure"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:95
+msgid "Reseed admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:97
+msgid "Monitors, advises and recruits reseed hosts"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:100
+msgid "Security expert"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:102
+msgid "threat model / crypto expert"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:107
+msgid "Manage the project bug tracker"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:112
+#: i2p2www/pages/site/about/team.html:132
+msgid "manage the public project webservers"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:115
+msgid "Translation admins"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:120
+msgid "User Advocate"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:122
+msgid "gather, prioritize, advocate for user needs"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:125
+msgid "Web Designer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:127
+msgid "manage the public project website content design"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:130
+#, python-format
+msgid "Webserver admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:135
+#, python-format
+msgid "Website admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:137
+msgid "manage the public project website content"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:140
+msgid "News Admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:142
+msgid "manage router console news feed"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:145
+msgid "Backup News Admin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:147
+msgid "manage the backup news feed"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:165
+msgid "Director of passion"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:167
+msgid "community motivator"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:171
+msgid "Dev"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:172
+msgid "Core Lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:174
+msgid "lead dev for the SDK and router"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:177
+#, python-format
+msgid "I2P mail lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:179
+msgid "organize and develop the i2p mail system"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:182
+#, python-format
+msgid "I2P-Bote lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:184
+msgid "I2P-Bote plugin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:187
+#, python-format
+msgid "I2Phex lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:189
+msgid "I2Phex Gnutella client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:192
+#, python-format
+msgid "I2PSnark lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:194
+msgid "Maintains the integrated Bittorrent client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:197
+#, python-format
+msgid "Syndie lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:199
+msgid "Syndie development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:202
+msgid "Susimail lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:204
+msgid "Susimail development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:207
+msgid "Android lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:209
+msgid "Android development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:212
+msgid "Console"
+msgstr "控制檯"
+
+#: i2p2www/pages/site/about/team.html:214
+msgid "Router console HTML/CSS design"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:217
+msgid "SAM"
+msgstr "SAM"
+
+#: i2p2www/pages/site/about/team.html:219
+msgid "SAM maintainer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:222
+msgid "Translators"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:223
+msgid "many many people!"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:228
+msgid "Contributors"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:230
+msgid "fire2pe dev, console enhancements"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:234
+msgid "desktopgui, dijjer port"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:238
+msgid "Debian/Ubuntu Packager and PPA maintainer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:242
+msgid "Routerconsole backend and UI work, website revamp, unit tests work"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:247
+msgid "Help needed on many fronts!"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:251
+msgid "Past contributors"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:253
+msgid "I2PTunnel development, ministreaming library"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:257
+msgid "Project lead, Syndie lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:261
+msgid "Project lead, Syndie lead, I2Phex, support guru"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:265
+msgid "iMule lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:269
+#: i2p2www/pages/site/about/team.html:273
+#: i2p2www/pages/site/about/team.html:277
+msgid "I2Phex work"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:281
+msgid "Python SAM library, attack simulations"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:285
+msgid "i2pmail development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:289
+msgid "Syndie help"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:293
+msgid "i2p mail,susimail and susidns apps"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:297
+msgid "I2Phex (port of Phex to I2P)"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:301
+msgid "addressbook,i2p-bt,syndie client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:305
+msgid "organize and develop the i2p-bt BitTorrent port"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:309
+msgid "addressbook, i2p-bt, syndie client development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:313
+msgid "encryption and signature routines, I2PIM"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:317
+msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:321
+msgid "installer, systray, bogobot"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:325
+msgid "jbigi development, wiki migration, doc cleanup"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:329
+msgid ""
+"java debugging and client development on I2PTunnel and the router console"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:333
+msgid "SAM perl module"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:337
+msgid "i2psnark work"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:341
+msgid "java cleanup"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:345
+msgid "docs. wiki migration"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:349
+msgid "translations into French"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:353
+msgid "C port of jcpuid"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:357
+msgid "C# SAM library, pants, fortuna integration"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:361
+msgid "libSAM"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:365
+#: i2p2www/pages/site/about/team.html:369
+msgid "i2p-bt tracker development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:373
+msgid "Console and website themes"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:403
+msgid "… and many others"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:6
+msgid ""
+"I2PCon 2015 was the first event of its kind. It had two short-term goals.\n"
+"First, to provide the general public with an event where knowledge about privacy could be obtained.\n"
+"Second, to further the I2P project and its community with technical discussions\n"
+"about cryptography, anonymity and I2P-centric topics."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:15
+msgid ""
+"A a larger and more long-term goal of this event was to build a\n"
+"commnutiy of privacy-conscious individuals. By connecting people who recognize\n"
+"the importance of privacy, we wanted to provide a forum where this community can grow."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:23
+msgid ""
+"The idea for this event was first spawned by our wonderful friends at\n"
+"Toronto Crypto.\n"
+"The venue was provided by Hacklab.to.\n"
+"The marketing was spearheaded by @YrB1rd and Siew.\n"
+"Without them this event would not have been possible."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:32
+msgid "Slides and Video"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:34
+msgid "Slides are also available as an in-I2P torrent."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:41
+msgid "Note: Video links will be posted as they become available."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:44
+msgid ""
+"Note that in-I2P torrents may also be available on the clearnet due to "
+"bridging by Vuze clients."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:50
+msgid "Licenses"
+msgstr "許可證"
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:52
+msgid "All videos are by z3r0fox."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:56
+msgid "License"
+msgstr "許可證"
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:60
+msgid "Slides by psi: Public domain."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:65
+msgid "Slides by str4d and zzz:"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:71
+msgid "Slides by others: Contact the author for license information."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:77
+msgid "Speakers"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:79
+msgid ""
+"Colin Mahns has a strong interest in the use of anonymity and encryption "
+"technology to help preserve human rights in the digital age."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:85
+msgid ""
+"David Dagon is a postdoc researcher at Georgia Tech focused on botnets, malware, network security, and DNS.\n"
+"His interest in I2P is centered on preserving user privacy, autonomous filtering, and anti-abuse."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:89
+#: i2p2www/pages/site/about/i2pcon/2015.html:105
+msgid "More info"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:92
+msgid "J is the head of Toronto Crypto."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:98
+msgid ""
+"Lance James is the founder of the Invisibile IRC Project, the predecessor to I2P, back in 2002.\n"
+"He founded his own cyber threat intelligence company in 2003.\n"
+"He's been focused on network security, malware research, and information security ever since.\n"
+"During 2011-2013, he was Director of Threat Intelligence for The Vigilant, which was acquired by Deloitte in 2013.\n"
+"He recently left Deloitte to do consulting through his company The James Group."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:109
+msgid "Nicholas D. is a member of Hacklab Toronto."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:115
+msgid ""
+"Nicholas Johnston is a Professor of Information Security in Sheridan College's School of Applied Computing in the InfoSec Bachelor's degree program.\n"
+"His previous professional career was in digital forensics and investigations.\n"
+"He is also a contractor specializing in incident response.\n"
+"His research areas include secure software development and data analytics."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:124
+msgid "Psi is an I2P developer."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:130
+msgid "Str4d is an I2P developer."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:136
+msgid "Zzz is an I2P developer."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:143
+msgid "Press"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:146
+msgid "Toronto Star article on Nicholas Johnston's talk"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:152
+msgid "Day 1"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:155
+#: i2p2www/pages/site/about/i2pcon/2015.html:235
+msgid "Talk"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:156
+#: i2p2www/pages/site/about/i2pcon/2015.html:236
+msgid "Presenter"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:157
+#: i2p2www/pages/site/about/i2pcon/2015.html:237
+msgid "Video"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:158
+#: i2p2www/pages/site/about/i2pcon/2015.html:238
+msgid "Slides"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/2015.html:232
+msgid "Day 2"
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/index.html:4
+msgid ""
+"The first conference dedicated to I2P was held in Toronto on August 15-16, 2015.\n"
+"See the link below for more information and links to slides and videos."
+msgstr ""
+
+#: i2p2www/pages/site/about/i2pcon/index.html:9
+msgid "Past years"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:2
+msgid "Future Performance Improvements"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:3
+msgid "August 2010"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:7
+msgid ""
+"There are a few major techniques that can be done to improve the perceived\n"
+"performance of I2P - some of the following are CPU related, others bandwidth\n"
+"related, and others still are protocol related. However, all of those\n"
+"dimensions affect the latency, throughput, and perceived performance of the\n"
+"network, as they reduce contention for scarce resources. This list is of course\n"
+"not comprehensive, but it does cover the major ones that are seen."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:15
+#: i2p2www/pages/site/about/performance/index.html:106
+#, python-format
+msgid ""
+"For past performance improvements see the \n"
+"Performance History."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:20
+msgid "Better peer profiling and selection"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:21
+#, python-format
+msgid ""
+"Probably one of the most important parts of getting faster performance will\n"
+"be improving how routers choose the peers that they build their tunnels through\n"
+"- making sure they don't use peers with slow links or ones with fast links that\n"
+"are overloaded, etc. In addition, we've got to make sure we don't expose\n"
+"ourselves to a Sybil attack\n"
+"from a powerful adversary with lots of fast machines."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:30
+msgid "Network database tuning"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:31
+msgid ""
+"We're going to want to be more efficient with the network database's healing\n"
+"and maintenance algorithms - rather than constantly explore the keyspace for new\n"
+"peers - causing a significant number of network messages and router load - we\n"
+"can slow down or even stop exploring until we detect that there's something new\n"
+"worth finding (e.g. decay the exploration rate based upon the last time someone\n"
+"gave us a reference to someone we had never heard of). We can also do some\n"
+"tuning on what we actually send - how many peers we bounce back (or even if we\n"
+"bounce back a reply), as well as how many concurrent searches we perform."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:42
+msgid "Session Tag Tuning and Improvements"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:43
+#, python-format
+msgid ""
+"The way the ElGamal/AES+SessionTag algorithm\n"
+"works is by managing a set of random one-time-use 32 byte arrays, and expiring\n"
+"them if they aren't used quickly enough. If we expire them too soon, we're\n"
+"forced to fall back on a full (expensive) ElGamal encryption, but if we don't\n"
+"expire them quickly enough, we've got to reduce their quantity so that we don't\n"
+"run out of memory (and if the recipient somehow gets corrupted and loses some\n"
+"tags, even more encryption failures may occur prior to detection). With some\n"
+"more active detection and feedback driven algorithms, we can safely and more\n"
+"efficiently tune the lifetime of the tags, replacing the ElGamal encryption with\n"
+"a trivial AES operation."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:55
+#, python-format
+msgid ""
+"Additional ideas for improving Session Tag delivery are described on the\n"
+"ElGamal/AES+SessionTag page."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:61
+msgid "Migrate sessionTag to synchronized PRNG"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:62
+#, python-format
+msgid ""
+"Right now, our ElGamal/AES+SessionTag \n"
+"algorithm works by tagging each encrypted message with a unique random \n"
+"32 byte nonce (a \"session tag\"), identifying that message as being encrypted \n"
+"with the associated AES session's key. This prevents peers from distinguishing \n"
+"messages that are part of the same session, since each message has a completely \n"
+"new random tag. To accomplish this, every few messages bundle a whole \n"
+"new set of session tags within the encrypted message itself, transparently \n"
+"delivering a way to identify future messages. We then have to keep track \n"
+"of what messages are successfully delivered so that we know what tags \n"
+"we may use."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:74
+msgid ""
+"This works fine and is fairly robust, however it is inefficient in terms \n"
+"of bandwidth usage, as it requires the delivery of these tags ahead of \n"
+"time (and not all tags may be necessary, or some may be wasted, due to \n"
+"their expiration). On average though, predelivering the session tag costs \n"
+"32 bytes per message (the size of a tag). As Taral suggested though, that \n"
+"size can be avoided by replacing the delivery of the tags with a synchronized \n"
+"PRNG - when a new session is established (through an ElGamal encrypted \n"
+"block), both sides seed a PRNG for use and generate the session tags on \n"
+"demand (with the recipient precalculating the next few possible values \n"
+"to handle out of order delivery)."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:87
+msgid "Longer lasting tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:88
+msgid ""
+"The current default tunnel duration of 10 minutes is fairly arbitrary, though\n"
+"it \"feels okay\". Once we've got tunnel healing code and more effective failure\n"
+"detection, we'll be able to more safely vary those durations, reducing the\n"
+"network and CPU load (due to expensive tunnel creation messages)."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:95
+msgid ""
+"This appears to be an easy fix for high load on the big-bandwidth routers, but\n"
+"we should not resort to it until we've tuned the tunnel building algorithms further.\n"
+"However, the 10 minute tunnel lifetime is hardcoded in quite a few places,\n"
+"so substantial effort would be required to change the duration.\n"
+"Also, it would be difficult to maintain backward compatibility with such a change."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:102
+msgid ""
+"Currently, since the network average tunnel build success rate is fairly high,\n"
+"there are no current plans to extend tunnel lifetime."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:108
+msgid "Adjust the timeouts"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:109
+msgid ""
+"Yet another of the fairly arbitrary but \"okay feeling\" things we've got are the\n"
+"current timeouts for various activities. Why do we have a 60 second \"peer\n"
+"unreachable\" timeout? Why do we try sending through a different tunnel that a\n"
+"LeaseSet advertises after 10 seconds? Why are the network database queries\n"
+"bounded by 60 or 20 second limits? Why are destinations configured to ask for a\n"
+"new set of tunnels every 10 minutes? Why do we allow 60 seconds for a peer to\n"
+"reply to our request that they join a tunnel? Why do we consider a tunnel that\n"
+"doesn't pass our test within 60 seconds \"dead\"?"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:119
+msgid ""
+"Each of those imponderables can be addressed with more adaptive code, as well\n"
+"as tunable parameters to allow for more appropriate tradeoffs between\n"
+"bandwidth, latency, and CPU usage."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:125
+msgid "Full streaming protocol improvements"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:128
+msgid ""
+"Perhaps re-enable the interactive stream profile (the \n"
+"current implementation only uses the bulk stream profile)."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:134
+msgid ""
+"Client level bandwidth limiting (in either or both directions on a stream, \n"
+"or possibly shared across multiple streams). This would be in addition to \n"
+"the router's overall bandwidth limiting, of course."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:141
+msgid ""
+"Access control lists (only allowing streams to or from certain other known \n"
+"destinations)."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:147
+msgid ""
+"Web controls and monitoring the health of the various streams, as well \n"
+"as the ability to explicitly close or throttle them."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/future.html:153
+#, python-format
+msgid ""
+"Additional ideas for improving the streaming library are described on the\n"
+"streaming library page."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:2
+msgid "Performance History"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:4
+#, python-format
+msgid ""
+"Notable performance improvements have been made using the techniques below.\n"
+"There is more to do, see the Performance page\n"
+"for current issues and thoughts."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:10
+msgid "Native math"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:11
+#: i2p2www/pages/site/about/performance/history.html:67
+#: i2p2www/pages/site/about/performance/history.html:82
+#: i2p2www/pages/site/about/performance/history.html:105
+#: i2p2www/pages/site/about/performance/history.html:133
+msgid "implemented"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:12
+#, python-format
+msgid ""
+"When I last profiled the I2P code, the vast majority of time was spent within\n"
+"one function: java.math.BigInteger's\n"
+"modPow.\n"
+"Rather than try to tune this method, we'll call out to\n"
+"GNU MP - an insanely fast math library\n"
+"(with tuned assembler for many architectures). (Editor: see\n"
+"NativeBigInteger for faster public key cryptography)"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:23
+msgid ""
+"\n"
+"ugha and duck are working on the C/JNI glue code, and the existing java code\n"
+"is already deployed with hooks for that whenever its ready. Preliminary results\n"
+"look fantastic - running the router with the native GMP modPow is providing over\n"
+"a 800% speedup in encryption performance, and the load was cut in half. This\n"
+"was just on one user's machine, and things are nowhere near ready for packaging\n"
+"and deployment, yet."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:32
+msgid "Garlic wrapping a \"reply\" LeaseSet"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:33
+msgid "implemented but needs tuning"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:34
+msgid ""
+"This algorithm tweak will only be relevant for applications that want their\n"
+"peers to reply to them (though that includes everything that uses I2PTunnel or\n"
+"mihi's ministreaming lib):"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:39
+msgid ""
+"Previously, when Alice sent Bob a message, when Bob replied he had to do a\n"
+"lookup in the network database - sending out a few requests to get Alice's\n"
+"current LeaseSet. If he already has Alice's current LeaseSet, he can instead\n"
+"just send his reply immediately - this is (part of) why it typically takes a\n"
+"little longer talking to someone the first time you connect, but subsequent\n"
+"communication is faster. Currently - for all clients - we wrap\n"
+"the sender's current LeaseSet in the garlic that is delivered to the recipient,\n"
+"so that when they go to reply, they'll always have the LeaseSet locally\n"
+"stored - completely removing any need for a network database lookup on replies.\n"
+"This trades off a large portion of the sender's bandwidth for that faster reply.\n"
+"If we didn't do this very often,\n"
+"overall network bandwidth usage would decrease, since the recipient doesn't\n"
+"have to do the network database lookup."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:54
+msgid ""
+"For unpublished LeaseSets such as \"shared clients\", this is the only way to\n"
+"get the LeaseSet to Bob. Unfortunately this bundling every time adds\n"
+"almost 100% overhead to a high-bandwidth connection, and much more to\n"
+"a connection with smaller messages."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:60
+msgid ""
+"Changes scheduled for release 0.6.2 will bundle the LeaseSet only when\n"
+"necessary, at the beginning of a connection or when the LeaseSet changes.\n"
+"This will substantially reduce the total overhead of I2P messaging."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:66
+msgid "More efficient TCP rejection"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:68
+msgid ""
+"At the moment, all TCP connections do all of their peer validation after\n"
+"going through the full (expensive) Diffie-Hellman handshaking to negotiate a\n"
+"private session key. This means that if someone's clock is really wrong, or\n"
+"their NAT/firewall/etc is improperly configured (or they're just running an\n"
+"incompatible version of the router), they're going to consistently (though not\n"
+"constantly, thanks to the banlist) cause a futile expensive cryptographic\n"
+"operation on all the peers they know about. While we will want to keep some\n"
+"verification/validation within the encryption boundary, we'll want to update the\n"
+"protocol to do some of it first, so that we can reject them cleanly\n"
+"without wasting much CPU or other resources."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:81
+msgid "Adjust the tunnel testing"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:83
+msgid ""
+"Rather than going with the fairly random scheme we have now, we should use a\n"
+"more context aware algorithm for testing tunnels. e.g. if we already know its\n"
+"passing valid data correctly, there's no need to test it, while if we haven't\n"
+"seen any data through it recently, perhaps its worthwhile to throw some data its\n"
+"way. This will reduce the tunnel contention due to excess messages, as well as\n"
+"improve the speed at which we detect - and address - failing tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:92
+msgid "Persistent Tunnel / Lease Selection"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:93
+msgid ""
+"Outbound tunnel selection implemented in 0.6.1.30, inbound lease selection \n"
+"implemented in release 0.6.2."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:97
+msgid ""
+"Selecting tunnels and leases at random for every message creates a large \n"
+"incidence of out-of-order delivery, which prevents the streaming lib from \n"
+"increasing its window size as much as it could. By persisting with the \n"
+"same selections for a given connection, the transfer rate is much faster."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:104
+msgid "Compress some data structures"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:106
+msgid ""
+"The I2NP messages and the data they contain is already defined in a fairly\n"
+"compact structure, though one attribute of the RouterInfo structure is not -\n"
+"\"options\" is a plain ASCII name = value mapping. Right now, we're filling it\n"
+"with those published statistics - around 3300 bytes per peer. Trivial to\n"
+"implement GZip compression would nearly cut that to 1/3 its size, and when you\n"
+"consider how often RouterInfo structures are passed across the network, that's\n"
+"significant savings - every time a router asks another router for a networkDb\n"
+"entry that the peer doesn't have, it sends back 3-10 RouterInfo of them."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:117
+msgid "Update the ministreaming protocol"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:118
+msgid "replaced by full streaming protocol"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:119
+msgid ""
+"Currently mihi's ministreaming library has a fairly simple stream negotiation\n"
+"protocol - Alice sends Bob a SYN message, Bob replies with an ACK message, then\n"
+"Alice and Bob send each other some data, until one of them sends the other a\n"
+"CLOSE message. For long lasting connections (to an IRC server, for instance),\n"
+"that overhead is negligible, but for simple one-off request/response situations\n"
+"(an HTTP request/reply, for instance), that's more than twice as many messages as\n"
+"necessary. If, however, Alice piggybacked her first payload in with the SYN\n"
+"message, and Bob piggybacked his first reply with the ACK - and perhaps also\n"
+"included the CLOSE flag - transient streams such as HTTP requests could be\n"
+"reduced to a pair of messages, instead of the SYN+ACK+request+response+CLOSE."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:132
+msgid "Implement full streaming protocol"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:134
+msgid ""
+"The ministreaming protocol takes advantage of a poor design decision in the\n"
+"I2P client protocol (I2CP) - the exposure of \"mode=GUARANTEED\", allowing what\n"
+"would otherwise be an unreliable, best-effort, message based protocol to be used\n"
+"for reliable, blocking operation (under the covers, its still all unreliable and\n"
+"message based, with the router providing delivery guarantees by garlic wrapping\n"
+"an \"ACK\" message in with the payload, so once the data gets to the target, the\n"
+"ACK message is forwarded back to us [through tunnels, of course])."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/history.html:143
+#, python-format
+msgid ""
+"As I've said, having\n"
+"I2PTunnel (and the ministreaming lib) go this route was the best thing that\n"
+"could be done, but more efficient mechanisms are available. When we rip out the\n"
+"\"mode=GUARANTEED\" functionality, we're essentially leaving ourselves with an\n"
+"I2CP that looks like an anonymous IP layer, and as such, we'll be able to\n"
+"implement the streaming library to take advantage of the design experiences of\n"
+"the TCP layer - selective ACKs, congestion detection, nagle, etc."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:2
+msgid "Performance"
+msgstr "性能"
+
+#: i2p2www/pages/site/about/performance/index.html:5
+msgid ""
+"How does I2P work, why is it slow, and why does it not use my full "
+"bandwidth?"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:7
+msgid ""
+"Probably one of the most frequent things people ask is \"how fast is I2P?\",\n"
+"and no one seems to like the answer - \"it depends\". After trying out I2P, the\n"
+"next thing they ask is \"will it get faster?\", and the answer to that is a most\n"
+"emphatic yes."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:14
+msgid ""
+"I2P is a full dynamic network. Each client is known to other nodes and tests local known nodes for reachability and capacity.\n"
+"Only reachable and capable nodes are saved to a local NetDB (This is generally only a portion of the network, around 500-1000).\n"
+"When I2P builds tunnels, it selects the best resource from this pool. For example, a small subset of 20-50 nodes are only available to build tunnels with.\n"
+"Because testing happens every minute, the pool of used nodes changes every minute.\n"
+"Each I2P node knows a different part of the net, meaning that each router has a different set of I2P nodes to be used for tunnels.\n"
+"Even if two routers have the same subset of known nodes, the tests for reachability and capacity will likely show different results, as the other routers could be under load just as one router tests, but be free if the second router tests."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:23
+msgid ""
+"The above describes why each I2P node has different nodes to build tunnels.\n"
+"Because every I2P node has a different latency and bandwith, tunnels (which are built via those nodes) have different latency and bandwidth values.\n"
+"And because every I2P node has different tunnels built, no two I2P nodes have the same tunnel sets."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:29
+msgid ""
+"A server/client is known as a \"destination\" and each destination has at least one inbound and one outbound tunnel. The default is 3 hops per tunnel.\n"
+"This adds up to 12 hops (aka 12 different I2P nodes) for a full roundtrip client-server-client."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:34
+msgid ""
+"Each data package is sent through 6 other I2P nodes until it reaches the "
+"server:"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:40
+msgid "and on way back 6 different I2P nodes:"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:47
+msgid ""
+"As most traffic on I2P (www, torrent,...) needs ack packages until new data is sent, it needs to wait until a ack package returns from the server.\n"
+"In the end: send data, wait for ack, send more data, wait for ack,..\n"
+"As the RTT (RoundTripTime) adds up from the latency of each individual I2P node and each connection on this roundtrip, it takes usually 1-3 seconds until a ack package comes back to the client.\n"
+"With some internals of TCP and I2P transport, a data package has a limited size and cannot be as large as we want it to be.\n"
+"Together these conditions set a limit of max bandwidth per tunnel of 20-50 kbyte/sec.\n"
+"But if ONLY ONE hop in the tunnel has only 5 kb/sec bandwidth to spend, the whole tunnel is limited to 5 kb/sec, independent of the \n"
+"latency and other limitations."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:57
+msgid ""
+"Due to encryption used and other setups in I2P (howto built up tunnels, latency, ...) it is quite expensive in CPU time to build a tunnel. This is \n"
+"why a destination is only allowed to have a max of 6 IN and 6 OUT tunnels to transport data. With a max of 50 kb/sec per tunnel, a destination could \n"
+"use roughly 300 kb/sec traffic combined ( in reality it could be more if shorter tunnels are used with low or no anonymity available).\n"
+"Used tunnels are discarded every 10 minutes and new ones are built up.\n"
+"This change of tunnels (and sometimes clients that shutdown hard due to usage of \"shut down at once\" or situations where there is power loss) does \n"
+"sometimes break tunnels and connections, as seen on the IRC2P Network in loss of connection (ping timeout) or on when using eepget."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:66
+msgid ""
+"With a limited set of destinations and a limited set of tunnels per destination, one I2P node only uses a limited set of tunnels across other I2P nodes.\n"
+"For example, if an I2P node is \"hop1\" in the small example above, we only see 1 participating tunnel originating from the client.\n"
+"If we sum up the whole I2P network, only a rather limited number of participating tunnels could be built with a limited amount of bandwidth all together.\n"
+"If one distributes these limited numbers across the number of I2P nodes, there is only a fraction of available bandwidth/capacity available for use."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:73
+msgid ""
+"To remain anonymous one router should not be used by the whole network for building tunnels.\n"
+"If one router does act as a tunnel router for ALL I2P nodes, it becomes a very real central point of failure as well as a central point to grab IPs and data from the clients. This is not good.\n"
+"I2P attempts to spread the load across a lot of I2P nodes because of this reason."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:79
+msgid ""
+"Another point is the full mesh network. Each connection hop-hop utilizes one TCP or UDP connection on the I2P nodes. With 1000 connections, one sees \n"
+"1000 TCP connections. That is quite a lot and some home and small office routers (DSL, cable,..) only allow a small number of connections (or just go mad if you use more than X connections).\n"
+"I2P tries to limit these connections to be under 1500 per UDP and per TCP type.\n"
+"This limits the amount of traffic routed across your I2P node as well."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:86
+msgid ""
+"In summary, I2P is very complex and there is no easy way to pinpoint why your node is not used.\n"
+"If your node is reachable and has a bandwidth setting of >128 kbyte/sec shared and is reachable 24/7, it should be used after some time for participating traffic.\n"
+"If it is down in between, the testing of your I2P node done by other nodes will tell them: you are not reachable. This blocks your node for at least \n"
+"24h on other nodes. So, the other nodes which tested you as down will not use your node for 24h for building tunnels. This is why your traffic will \n"
+"be lower after a restart/shutdown for a minimum of 24h."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:94
+msgid ""
+"Also: other I2P nodes needs to know your I2P router to test it for reachability and capacity. It takes time for other nodes to get known to your node. \n"
+"It will be faster if you use I2P and build more tunnels, e.g. use a torrent or www for some time."
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:99
+msgid "Performance Improvements"
+msgstr ""
+
+#: i2p2www/pages/site/about/performance/index.html:101
+#, python-format
+msgid ""
+"For possible future performance improvements see\n"
+"Future Performance Improvements."
+msgstr ""
diff --git a/i2p2www/translations/zh_TW/LC_MESSAGES/blog.po b/i2p2www/translations/zh_TW/LC_MESSAGES/blog.po
new file mode 100644
index 00000000..f3a1f458
--- /dev/null
+++ b/i2p2www/translations/zh_TW/LC_MESSAGES/blog.po
@@ -0,0 +1,7548 @@
+# Translations template for I2P.
+# Copyright (C) 2018 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/I2P/language/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
+msgid "Files are available on the `download page`_."
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:39
+msgid "`download page`"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:45
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:13
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:101
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:26
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:48
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:34
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:35
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:65
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:29
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:37
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:32
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:38
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:36
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:43
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:27
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:30
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:44
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:36
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:34
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:73
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:53
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:35
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:54
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:33
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:35
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:32
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:56
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:32
+#: 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.rst:36
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:33
+msgid "RELEASE DETAILS"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:103
+msgid "Major Changes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:54
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:112
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:34
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:51
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:40
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:41
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:76
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:39
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:50
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:35
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:51
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:55
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:53
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:30
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:40
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:57
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:52
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:42
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:80
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:63
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:47
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:71
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:43
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:47
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:48
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:68
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:41
+#: 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.rst:45
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:43
+msgid "Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:63
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:19
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:118
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:52
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:99
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:49
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:47
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:87
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:49
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:57
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:42
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:60
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:68
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:65
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:38
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:49
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:75
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:65
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:50
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:89
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:76
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:53
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:83
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:58
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:57
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:62
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:82
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:54
+#: 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.rst:57
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:53
+msgid "Other"
+msgstr "其它"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:79
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:30
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:129
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:27
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:76
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:64
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:59
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:104
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:62
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:73
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:52
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:76
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:86
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:81
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:61
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:69
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:101
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:75
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:56
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:115
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:105
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:76
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:96
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:73
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:103
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:77
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:25
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:102
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:69
+#: 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.rst:79
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:73
+msgid "SHA256 Checksums:"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
+msgid "Major changes"
+msgstr ""
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
+msgid "Wrapper Update"
+msgstr ""
+
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
+msgid "Update Info"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
+msgid "0.9.2 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
+msgid ""
+"0.9.2 includes extensive low-level changes to improve the performance and "
+"efficiency of the router. We have updated our UPnP library, to hopefully "
+"make UPnP work for more people. I2PSnark now has DHT support, but it is not "
+"yet enabled by default, as we plan to do more testing during the upcoming "
+"0.9.3 development cycle."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
+msgid ""
+"As usual, there's also lots of bug fixes in this release, so updating is "
+"recommended."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
+msgid ""
+"SSU: Fix several problems in our UDP transport, to improve efficiency and "
+"reliability for connection setup. Also improve defenses against various "
+"types of bad input."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
+msgid ""
+"UPnP: Updated our library to fix several issues, should work for more "
+"routers now"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
+msgid ""
+"Transport: Improve performance in both our TCP and UDP transports, to "
+"benefit high-bandwidth routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
+msgid ""
+"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered are "
+"now much more flexible, which should lessen protocol overhead and reduce "
+"stalls caused by dropped tags."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
+msgid ""
+"I2PSnark: Add DHT support, not yet enabled by default, will do further "
+"testing and plan to enable by default in 0.9.3."
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
+msgid ""
+"Fix various issues affecting memory usage and performance on high-bandwidth "
+"routers"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
+msgid ""
+"Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
+msgid ""
+"Fix i2psnark bug that prevented a completion announcement to the tracker"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
+msgid "Fix a lock contention problem in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
+msgid "Fix some OSX installation issues"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
+msgid "Remove uses of direct byte buffers that may have been leaking"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
+msgid "Reduce overhead in network messages"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
+msgid "Add \"universal\" theme support"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
+msgid "Theme updates"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
+msgid "Add a jbigi library for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
+msgid "New Scala unit test framework"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
+msgid "Translation updates for Czech, Dutch, German, and Greek"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
+msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:77
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:127
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:74
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:62
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:57
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:100
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:58
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:70
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:49
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:83
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:78
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:58
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:66
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:96
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:72
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:53
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:112
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:97
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:68
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:88
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:65
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:95
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:69
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:94
+#: 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.rst:71
+msgid "Update GeoIP data (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
+msgid "0.9.3 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
+msgid ""
+"0.9.3 includes extensive low-level changes to the queueing of messages in "
+"the router. We implement the CoDel Active Queue Management (AQM) algorithm."
+" We also unify the queueing and priority mechanisms in the transports to "
+"aid diagnosis and reduce network latency. Work continues on fixing UDP "
+"transport bugs and making UDP more resistant to attacks. There are more "
+"changes to improve the performance of the router and reduce its memory "
+"usage. Also, we enable i2psnark's DHT support, introduced last release, by "
+"default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
+msgid "Active Queue Management"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
+msgid "Priority queues"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
+msgid "I2PSnark DHT: Several bug fixes, enable by default."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
+msgid ""
+"Several SSU fixes including memory leak, and better handling of routers "
+"behind firewalls that change UDP ports; additional defenses for malicious "
+"packets."
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
+msgid "Fix piece selection (rarest-first) bugs in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
+msgid "Fix bug causing multiple browsers to open at startup"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
+msgid "Improvements in caching"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
+msgid "Several synchronization fixes and lock contention reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
+msgid "Major reduction in SSU buffers memory use"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
+msgid ""
+"Fix streaming connection timeout back to 1 minute, was inadvertently changed"
+" to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was unlimited"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
+msgid "Improved defenses in i2ptunnel for \"darkloris\""
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
+msgid "More validation at torrent creation in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
+msgid "Several parameter changes in SSU to improve throughput"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
+msgid ""
+"New event log for major events including restarts; show multiple restart "
+"lines on graphs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
+msgid "Remove duplicate messages from logs"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
+msgid "Don't respond to blocked streaming connections with a reset, just drop"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
+msgid "Remove all uses of inefficient SimpleTimer"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
+msgid "More checks for valid IPs and ports entered in console"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
+msgid "Fix bug that wasted a lot of entropy"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
+msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
+msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
+msgid "0.9.4 Release"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
+msgid ""
+"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, that "
+"was reducing network performance and reliability. It also includes major "
+"changes in the in-network update system, and adds the capability to update "
+"via in-network torrents."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
+msgid ""
+"We fixed several bugs in the i2psnark DHT implementation that was introduced\n"
+"last release. For those of you using console or http proxy passwords,\n"
+"we converted to the more-secure digest method and improved the security for console forms."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
+msgid ""
+"For those of you already running development builds, your router should automatically\n"
+"update to 0.9.4-0 using the new in-network torrent facility.\n"
+"For those running 0.9.3-0, you will update normally using in-network HTTP, and\n"
+"we will have more information for you when we release 0.9.5."
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
+msgid ""
+"Big rework of the update system; Preliminary support for updates via "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
+msgid "Add per-destination outbound priorities"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
+msgid ""
+"Fix major bug that reduced SSU connection limits which reduced tunnel build "
+"success rates"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
+msgid ""
+"Fix bug with external I2CP that prevented some external apps from working"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
+msgid "Fixed several bugs in i2psnark DHT"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
+msgid "Fixed bug in i2psnark PEX that inflated peer counts"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
+msgid "Handle dropped I2CP messages better"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
+msgid "Reduce overhead of I2CP messages"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
+msgid "Enforce max size in transport outbound message queues"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
+msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
+msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
+msgid ""
+"More performance improvements, memory reduction, and object churn reduction"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
+msgid "Better detection of network disconnections"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
+msgid "Further improvements in the SSU transport"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
+msgid "Add console password form"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
+msgid ""
+"Convert http proxy and console from basic to digest authentication for added"
+" security"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
+msgid ""
+"Improved verification of console form submissions, using jsp sessions. "
+"Cookies may now be required on forms, except when the console password is "
+"enabled"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
+msgid ""
+"Initial work on new interfaces to manage applications started via "
+"clients.config"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
+msgid "Increase minimum peer port to 1024"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
+msgid "Increase granularity of bandwidth limiter for smoother transmissions"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
+msgid ""
+"Translation updates: Chinese, French, German, Italian, Polish, Portuguese, "
+"Swedish, and Ukrainian"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
+msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
+msgid "New ARMv6 wrapper for Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
+msgid "0.9.5 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
+msgid ""
+"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities "
+"that are being investigated by researchers at UCSB. We continue to work with"
+" them on additional improvements. This is a good opportunity to remind the "
+"community that while our network continues to grow rapidly, it is still "
+"relatively small. There may be multiple weaknesses or bugs that could "
+"compromise your anonymity. Help us grow the network by spreading the word "
+"and contributing where you can."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
+#, python-format
+msgid ""
+"In this upgrade cycle, a random 1%(pc)s of routers, (plus all routers running a\n"
+"development build) will attempt to update via the experimental in-network bittorrent\n"
+"with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update."
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
+msgid "Defenses and Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
+msgid "Fix router bug causing lockup when using iMule"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
+msgid "Recognize, handle, reject duplicate tunnel IDs"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
+msgid "Fix changing of the log file name"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
+msgid "Prevent hashcode attack in session tags"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
+msgid "Add build request throttler based on previous hop"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
+msgid "Limit concurrent next-hop lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
+msgid "Catch exceptions storing nonces in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
+msgid "Fix saving graph settings in console"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
+msgid "Fix eepget generation of URLs when not proxied"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
+msgid ""
+"Encrypt database lookup messages end-to-end when sent through exploratory "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
+msgid "Don't use multiple floodfills from the same /16 in a query"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
+msgid "Randomize delay before verifying floodfill store"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
+msgid "Increase number of floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
+msgid "Improve support for mobile browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
+msgid "Partial defenses for UCSB attacks"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
+msgid "Add announce list support to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
+msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
+msgid "Split router info files into multiple subdirectories"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
+msgid "Add IP to hostname mapping option in SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
+msgid "Improve PRNG seeding"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
+msgid ""
+"Translation updates: French, German, Hungarian, Italian, Norwegian, Polish, "
+"Portuguese, Russian, Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
+msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
+msgid "0.9.6 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
+msgid ""
+"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
+"Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty "
+"update. The Jetty 7 series is actively maintained and we plan to stay "
+"current with it in future I2P releases."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
+msgid ""
+"Most users will update via HTTP. Those running development builds will attempt to update via the\n"
+"experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users\n"
+"to update via torrent in the 0.9.7 update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
+msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
+msgid ""
+"If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the\n"
+"following instructions to fix your eepsite location **before** you update to 0.9.6.\n"
+"Only original installations of 0.9.5-0 on Windows are affected by this issue. If your router version\n"
+"is 0.9.5-0-win1, you already have the fix and need not take any action."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
+msgid "See `this page`_ for instructions."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
+msgid "`this page`"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
+msgid "Jetty 7 Migration Details"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
+msgid ""
+"For most people, the update should just work. If you have multiple Jetty eepsites,\n"
+"OR have made changes to jetty.xml or other Jetty configuration files, including changing the port\n"
+"from 7658, you MUST take manual action AFTER updating."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
+msgid ""
+"After update, the router will migrate your jetty.xml files to the new Jetty "
+"7 format."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
+msgid ""
+"The migration resets the port to 7658. If you have more than one Jetty eepsite, OR your eepsite\n"
+" is NOT on port 7658, OR you have made other modifications to jetty.xml (for example changing the\n"
+" listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml file for each eepsite to fix them up\n"
+" after updating, and restart again."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
+msgid ""
+"**The following files will be backed up with a ".jetty6" suffix and then migrated.**\n"
+"If you have made local changes, you may have to edit them manually and restart.\n"
+"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
+msgid "Plugins"
+msgstr "外掛"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
+msgid "Most plugins should work fine with Jetty 7."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
+msgid ""
+"The I2PControl and zzzot plugins must be updated. Your router should "
+"download and install the new versions shortly after starting 0.9.6."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
+msgid ""
+"If a plugin does not work, please contact the maintainer for that plugin."
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
+msgid "Several bugs with Windows installation (see above)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
+msgid "Fix default form action in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
+msgid "Fix links on iframed console pages"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
+msgid "Better detection of 64-bit Windows to prevent crashes by systray"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
+msgid "Fix bug preventing router update via torrent"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
+msgid "Several SSU fixes for NATs that change UDP ports"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
+msgid ""
+"Ignore unsupported IPs in RouterInfos when selecting an address (prep for "
+"IPv6)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
+msgid ""
+"Ignore unused option bits in Database Lookup Message (prep for requesting "
+"encrypted response)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
+msgid "Fix HTTP proxy error response for malformed URIs"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
+msgid "Recognize UPnP devices without port forwarding capability"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
+msgid "Jetty 7.6.10 (see above for migration information)"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
+msgid "Limit page size in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
+msgid "Add data directory and page size configuration to i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
+msgid "Support multiple i2psnark instances"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
+msgid "Piece size adjustments in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
+msgid "Add more graphing support for combined bandwidth graph"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
+msgid "Block b32.i2p supercookies"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
+msgid "Allow stopping clients on /configclients"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
+msgid "Check for nonce count replays in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
+msgid "Support SASL authentication in IRC proxy"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
+msgid "Several cleanups and minor fixes in the update manager"
+msgstr ""
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
+msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:2
+msgid "0.9.7 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:7
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:9
+msgid "0.9.7 includes significant bug fixes and improvements."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:11
+msgid ""
+"For the first time, class 'N' routers (those with a minimumum of 128 KBytes/sec of shared bandwidth)\n"
+"will automatically become floodfill (previously it was only 'O' routers with 256 KBps). This will\n"
+"increase the floodfill population for additional resistance to certain attacks (see below). Floodfill routers\n"
+"don't consume much additional bandwidth, but they do tend to use additional memory and concurrent\n"
+"connections. If you do not wish your router to become floodfill, set the advanced configuration\n"
+"router.floodfillParticipant=false ."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:20
+#, python-format
+msgid ""
+"As we think the last release fixed the experimental update-via-torrent bugs, 3%(pc)s of routers should\n"
+"update over in-network bittorrent this cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:25
+msgid ""
+"Plugin update checks, possibly broken for several releases, are fixed. Your plugins should once again\n"
+"auto-update after updating the router."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:30
+msgid ""
+"We fixed a major streaming timer bug that contributed to frequent IRC "
+"disconnects."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:34
+msgid ""
+"This release contains additional mitigations for the `\"practical attacks\" paper`_.\n"
+"However, we have a lot more work to do to resist Sybil attacks on the floodfills, and resist\n"
+"traffic analysis at the gateways and endpoints of exploratory tunnels.\n"
+"It's a good reminder for everybody that our network is still relatively small and vulnerable.\n"
+"We don't currently recommend any uses that would put anybody in serious jeopardy.\n"
+"We'll keep working to improve it... please keep working to spread the word. A bigger network is a better network."
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:43
+msgid "`\"practical attacks\" paper`"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:47
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:15
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:107
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:28
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:36
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:37
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:67
+msgid "Anonymity Improvements"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:49
+msgid "End-to-end encryption of responses to leaseset lookups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:50
+msgid "Expand floodfill pool by enabling class 'N' floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:51
+msgid "Randomize padding inside encrypted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:52
+msgid "Preparation for better SSU protocol obfuscation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:56
+msgid "Fix newer lease sets not getting stored or published"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:57
+msgid ""
+"Fix classpath bug when used with 4-year-old installations, causing the "
+"console not to start"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:58
+msgid "Fix addressbook database bug preventing update of the reverse index"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:59
+msgid ""
+"Fix i2psnark bug that changed the infohash of torrents created by Robert and"
+" fetched via magnet link"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:60
+msgid "Fix version checking for plugins"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:61
+msgid ""
+"Fix a streaming timer bug causing frequent IRC disconnects (also affects "
+"other close-on-idle tunnels)"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:65
+msgid "Don't install as a service on Windows by default"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:66
+msgid "Reduce transport idle timeouts"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:67
+msgid "Reduce tunnels on idle in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:68
+msgid "Change default in i2ptunnel GUI to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:69
+msgid "IE 10 support"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:70
+msgid ""
+"Individual expiration times in leases, for efficiency on destinations with a"
+" high number of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:71
+msgid "Low-level encryption and XOR speedups"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:72
+msgid "Jetty 7.6.11"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:73
+msgid "Tomcat 6.0.37"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:74
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Spanish"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:75
+msgid "New Turkish translation"
+msgstr ""
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:76
+msgid "Wrapper 3.5.19 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:2
+msgid "0.9.7.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:7
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:9
+msgid ""
+"This unscheduled release disables the RouterInfo verification messages that "
+"were used in the attack published in the UCSB paper, which should make "
+"correlating a LeaseSet and a Router much more difficult. We have also "
+"included a limited number of other fixes listed below. Our 0.9.8 release, "
+"which will include IPv6 support, is still on-schedule for late September."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:11
+msgid "As usual, we recommend that all users update to this release."
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:17
+msgid "Disable RouterInfo verification messages"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:21
+msgid "Extend inbound tunnel expiration"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:22
+msgid "i2prouter: bashism fix"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:23
+msgid "i2psnark: increase max piece size, mime type updates"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:24
+msgid "New reseed host"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:25
+msgid "New update hosts, thanks Meeh and dg"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:26
+msgid "Streaming: RTO changes"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:27
+msgid "Updater: Increase update-via-torrent to 30 percent"
+msgstr ""
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:28
+msgid "UPnP fix for some hardware"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:2
+msgid "0.9.8 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:7
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:9
+msgid ""
+"0.9.8 includes the long-awaited support for IPv6. It's enabled by default, "
+"but of course you need a public IPv6 address to use it. Configuration is on "
+"the 'network' configuration tab in your console. We also have anonymity "
+"improvements including padding of SSU packets and longer router private "
+"keys."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:11
+#, python-format
+msgid ""
+"30%(pc)s of you will update via in-network torrent in this update cycle."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:13
+msgid "IPv6 Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:15
+msgid ""
+"IPv6 is enabled and preferred by default. If you have a public IPv6 address \n"
+"and you are connecting to another router with a published IPv6 address, it will \n"
+"connect via IPv6. There is a new IPv6 configuration section on /confignet in \n"
+"the router console. If IPv6 is causing problems you may disable it there."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:22
+msgid ""
+"As a part of the IPv6 development effort, I2P now supports multiple \n"
+"published IP addresses. If you have multiple public IP addresses (IPv4, IPv6, \n"
+"or both), you may enable or disable them individually on /confignet. The \n"
+"default is to use the first IPv4 and IPv6 addresses it discovers. If you have \n"
+"multiple addresses you should review the configuration on /confignet and adjust \n"
+"it if necessary.\n"
+"Note that while you may enable multiple IPv4 and IPv6 addresses on /confignet,\n"
+"we recommend that you use only one IPv4 and one IPv6 address. There are\n"
+"bugs still to be fixed with multiple addresses of each type."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:34
+msgid ""
+"While IPv6 support was designed and developed over several years, it has \n"
+"only been tested by a limited number of users and is still beta. If you do have \n"
+"a public IPv6 address, please monitor your router and the logs for problems, \n"
+"and disable it necessary. Please report any bugs on \n"
+"http://trac.i2p2.i2p."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:42
+msgid "Rekeying Details"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:44
+msgid ""
+"For those of you running I2P on faster hardware (generally, 64-bit x86) the \n"
+"router will generate a new identity using longer keys. This will substantially \n"
+"reduce your participating traffic for 48 hours or more, while your router \n"
+"re-integrates into the network. Due to the new keys, the large number of \n"
+"torrent updates, and the recent network growth, we expect substantial \n"
+"disruption to the network for a week or more after the update is released. \n"
+"Please be patient and things should start to improve after a few days."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:54
+msgid ""
+"These changes may result in higher CPU usage for some of you. We're doing \n"
+"our best to increase efficiency, but stronger security generally requires more \n"
+"computation. Performance may also be poor during the first week\n"
+"due to the network churn.\n"
+"We will evaluate the network performace before deciding whether to\n"
+"change the key length on slower hardware in a future release."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:63
+msgid ""
+"We are experiencing rapid network growth in the last few weeks, which is \n"
+"causing a bit of a bumpy ride for some, especially on weekends. However, the \n"
+"network is still performing fairly well, so keep spreading the word."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:69
+msgid "More Changes Coming"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:71
+msgid ""
+"We're in the initial stages of desiging major changes to strengthen our \n"
+"crypto. Stronger crypto will use more CPU and it may possibly \n"
+"require a Java 7 JRE at a minimum. We understand your desire to run I2P on low-power \n"
+"and/or older hardware. We're working hard to minimize the impacts, but some \n"
+"loss of performance is inevitable. In addition, Java 5 and 6 are no longer \n"
+"supported by Oracle. Now is a good time to upgrade to Java 7. Any change in \n"
+"minimum requirements will be announced well in advance."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:81
+msgid "New Website"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:83
+msgid ""
+"After a heroic effort by str4d, the new website preview is available at \n"
+"http://i2hq.srv.i2p2.de. We hope to see it go live at \n"
+"https://geti2p.net and http://www.i2p2.i2p soon. Please \n"
+"contribute to the new website translations on Transifex, especially the \n"
+"website_priority resource."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:91
+msgid "Community Participation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:93
+msgid ""
+"In early August, hottuna and zzz attended DEFCON 21 in Las Vegas.\n"
+"Last weekend, echelon attended the CTS IV conference in Berlin and\n"
+"psi attended the Tahoe-LAFS hackfest at GNU 30 in Cambridge, Mass.\n"
+"Several of us will be at 30C3 in Hamburg late this year.\n"
+"It's great to see people participating at these events and representing I2P."
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:105
+msgid "IPv6 support for both NTCP and SSU"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:109
+msgid "SSU protocol obfuscation by adding random padding"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:110
+msgid "Longer encryption and DH private keys for users on faster platforms"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:114
+msgid "Fix I2PTunnel / I2CP locking and duplicates (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:115
+msgid "Fix translation of HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:116
+msgid "Fix occasional runtime exception in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:120
+msgid ""
+"Big rework of transport code to accommodate multiple addresses and IPv6"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:121
+msgid "Streaming: Improved recovery from lost acks, other fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:122
+msgid ""
+"Use Transifex for translation of initial news and HTTP proxy error pages"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:123
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, Swedish, "
+"Turkish"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:124
+msgid "New Romanian translation"
+msgstr ""
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:126
+msgid "Wrapper 3.5.20 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:2
+msgid "0.9.8.1 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:7
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:9
+msgid ""
+"0.9.8.1 fixes a problem with updating to 0.9.8 on Windows for some people. "
+"New installs and non-Windows platforms are not affected, however all "
+"platforms will automatically update even if running 0.9.8."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:11
+msgid ""
+"See the `Trac ticket`_ for details and workarounds. See\n"
+"`the 0.9.8 release notes`_ for information on IPv6 and other changes."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:16
+msgid ""
+"Due to recent attacks, logins are disabled on `Trac`_ and new registrations are\n"
+"disabled on `zzz.i2p`_. Until those services are restored, please report all\n"
+"bugs on IRC freenode or IRC2P #i2p-dev."
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:22
+msgid "`Trac ticket`"
+msgstr ""
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:23
+msgid "`the 0.9.8 release notes`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:2
+msgid "0.9.9 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:7
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:9
+msgid ""
+"0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and "
+"starts work on a year-long plan to increase the strength of the "
+"cryptographic signing algorithms used in the router, and support multiple "
+"algorithms and key lengths simultaneously. Automatic update files will now "
+"be signed with 4096-bit RSA keys."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:11
+msgid ""
+"We now support SSL between your router and your servers for security.\n"
+"See `this development thread`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:16
+msgid "`this development thread`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:18
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release.\n"
+"Several members of the I2P team will be at 30C3 in Hamburg this year.\n"
+"Come say hello and ask for an I2P sticker.\n"
+"Thanks to everyone for their support this year."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:30
+msgid "Don't build client tunnels through zero-hop exploratory tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:31
+msgid "New \"su3\" file support using stronger keys"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:32
+msgid "Use su3 for updates"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:36
+msgid "Issues with losing data when closing streams"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:37
+msgid "Fix various streaming connection limit issues"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:38
+msgid "Issues with resource usage of closed connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:39
+msgid "Clean up timer threads in close-on-idle tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:40
+msgid "Several other streaming fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:41
+msgid "Reject more non-public IPv6 addresses"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:42
+msgid "Fix IPv6 GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:43
+msgid "Fix peer selection in first minutes after startup"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:44
+msgid "Several I2PTunnel bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:45
+msgid "Fix major i2psnark DHT bug that prevented magnets from working well"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:46
+msgid ""
+"Fix client tunnels that fail due to name resolution failure at startup, "
+"particularly with b32 hostnames"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:47
+msgid "Fix changing client i2ptunnel target list"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:48
+msgid ""
+"Fix major bugs preventing reception of encrypted responses to leaseset "
+"lookups and verifies"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:49
+msgid "Fix bad links on some i2psnark buttons in Opera and text-mode browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:50
+msgid "Fix NPE in Susimail"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:54
+msgid "Start work on supporting stronger signing keys in the router"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:55
+msgid "Reduce thread usage for HTTP Server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:56
+msgid "Auto-stop update torrent after some time"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:57
+msgid "Add ability to stop webapp via console"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:58
+msgid "New POST throttler in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:59
+msgid "Improve connection throttling"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:60
+msgid "More work to reduce number of connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:61
+msgid "Re-enable router info expiration job"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:62
+msgid ""
+"Extend router info expiration and other changes to reduce load on floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:63
+msgid "Support multiple servers through a single server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:64
+msgid "Support specification of server port in i2ptunnel clients"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:65
+msgid "Add support for SSL connections from i2ptunnel to external server"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:66
+msgid "SSL and crypto code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:67
+msgid "i2psnark storage code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:68
+msgid "New destination cache"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:69
+msgid "Lots of code cleanup and resolution of findbugs warnings"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:70
+msgid "New Japanese translation (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:71
+msgid ""
+"Translation updates: French, German, Italian, Romanian, Russian, Spanish, "
+"Swedish, and others"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:73
+msgid "Wrapper 3.5.22 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:1
+msgid ""
+"=====================\n"
+"Syndie 1.105b Release\n"
+"====================="
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:9
+msgid "Update to HSQLDB 2.3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:11
+msgid ""
+"This is the first stable release since February 2013.\n"
+"It is essentially the same as 1.104b-7-rc, with some translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:16
+msgid ""
+"All binaries and source packages are at `syndie.de`_ and `syndie.i2p`_.\n"
+"Plugins are available at `plugins.i2p`_ and `stats.i2p`_."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:21
+msgid ""
+"For those of you upgrading from 1.103b, you will find syndie startup and "
+"shutdown much faster due to the new version of HSQLDB."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:25
+msgid ""
+"If you have a large database or an identity you wish to preserve,\n"
+"you may wish to back up your entire ~/.syndie directory before you start.\n"
+"The upgrade process does make its own backup, however you may find it easier to use your own backup if the upgrade fails."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:31
+msgid ""
+"Upgrades from 1.103b may fail for some people due to database corruption due to bugs in the old HSQLDB.\n"
+"Unfortunately, we don't know how to fix it.\n"
+"Your alternatives are to start over with a clean database, or stay with 1.103b forever.\n"
+"Sorry about that."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:43
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:29
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:56
+msgid "GUI Improvements and Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:72
+msgid "Syndication"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:83
+msgid "Database"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:104
+msgid "New translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/21/Syndie-1.105b-Release.rst:105
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:60
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:56
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:99
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:57
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:69
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:72
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:82
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:77
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:57
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:65
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:95
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:71
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:52
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:111
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:96
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:67
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:87
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:64
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:94
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:68
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:93
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:59
+#: 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.rst:70
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:63
+msgid "Translation updates"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.10 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:9
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker to correlate a Destination with a Router."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:11
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more difficult for an attacker\n"
+"to correlate a Destination with a Router. It also fixes character encoding bugs in susimail,\n"
+"and includes lots of other bug fixes and translation updates.\n"
+"Most of you will update via torrent, using the new \"su3\" update format with stronger keys."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:18
+msgid ""
+"We recently attended `30C3`_ and `Real World Crypto`_, making several new\n"
+"connections and formulating `big plans`_ for 2014. Thanks to those who\n"
+"supported our attendance with their `donations`_!"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:26
+msgid "`big plans`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:27
+msgid "`donations`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:38
+msgid "Use client tunnels for LeaseSet lookups"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:42
+msgid ""
+"Flood netdb stores to new location before midnight to prevent lookup fails "
+"after midnight"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:43
+msgid "Fix setting I2CP host/port in BOB"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:44
+msgid "Fix several character encoding issues in susimail"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:45
+msgid "Fix StandardServerSocket.close()"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:46
+msgid "Fix exception in PrivateKeyFile"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:47
+msgid "Fixes in RouterInfo expiration task"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:51
+msgid "Tweaks to reduce number of peer connections"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:52
+msgid "Several threading fixes to reduce blocking in the timer queues"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:53
+msgid "Disable streaming ping handling for clients"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:54
+msgid "Use i2psnark's Kademlia library for the router netdb also"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:55
+msgid ""
+"Increase outbound exploratory default to 2 + 0-1 hops, part of gradual "
+"increase to 3 hops in/out"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:56
+msgid "More findbugs fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:57
+msgid "Streaming library refactoring"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:58
+msgid "Support country-specific translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:59
+msgid "New Brazilian Portuguese translation"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.11 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:9
+msgid ""
+"0.9.11 adds support for outproxy plugins, improves lease set lookup "
+"security, and reduces memory usage."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:11
+#, python-format
+msgid ""
+"0.9.11 continues improving LeaseSet lookup and storage to prevent an attacker\n"
+"from correlating a Destination with a Router. It adds support for the\n"
+"%(orchid)s outproxy plugin which is available at %(url)s. There is a\n"
+"reduction in memory usage due to fixes in the transports. We have some I2CP\n"
+"protocol improvements that will provide better lookup facilities and\n"
+"authorization protection for external clients. Of course, there's also the\n"
+"usual collection of bug fixes. All users should update."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:21
+msgid ""
+"This may be the last release that works with Java 5, which is very old and\n"
+"unsupported. If you are using a Java 5 or 6 runtime, we strongly recommend that\n"
+"you upgrade to Java 7."
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:30
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:17
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:32
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:30
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:37
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:21
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:24
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:29
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:25
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:24
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:67
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:47
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:29
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:48
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:27
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:29
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:26
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:50
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:26
+#: 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.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."
+msgstr "一如往常一般,我們建議您更新到這個版本,要確保安全性以及協助貢獻此互連網路的最好方式就是保持使用最新的版本。"
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:39
+msgid "More leaseset handling improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:43
+msgid "Fix NPE after client shutdown"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:44
+msgid "Fix wrapper log encoding on logs page"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:45
+msgid "Streaming ping and I2Ping fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:49
+msgid "Add support for Orchid plugin"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:50
+msgid "Add HTTPS support to HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:51
+msgid "New I2CP support for hostname lookups by external clients"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:52
+msgid ""
+"Stricter I2CP authorization enforcement of external clients (incompatible "
+"change)"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:53
+msgid "Increase default inbound exploratory tunnel length variance"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:54
+msgid "Big reduction in memory usage by transports"
+msgstr ""
+
+#: i2p2www/blog/2014/02/08/0.9.11-Release.rst:55
+msgid "All in-net updates via torrent"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:1
+msgid ""
+"=========================\n"
+"Malware at i2pbrowser.net\n"
+"========================="
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:8
+msgid ""
+"The site i2pbrowser.net is a fake I2P website mirror serving up malware for "
+"Windows."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:10
+msgid ""
+"We have recently been made aware of the existence of i2pbrowser.net. This\n"
+"website copies our homepage and download page, and attempts to trick users into\n"
+"downloading Windows malware."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:16
+msgid ""
+"There are several indicators that point to i2pbrowser.net being a malware "
+"site:"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:20
+msgid "The domain was registered on February 10th, 2014."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:21
+msgid ""
+"The download URLs for Windows, Mac OSX, Linux, Android etc. all link to the "
+"same .exe file."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:22
+msgid ""
+"The .exe is only 741 KB; the official Windows installer for I2P is 13 MB."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:24
+msgid ""
+"We have not examined the malware ourselves, but it does not appear to be very\n"
+"sophisticated; it is not integrated into or bundled with the I2P software.\n"
+"Information security expert `Lance James`_ posted `a tweet`_ labelling it as\n"
+"\"a standard dark comet rat\"."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:31
+msgid ""
+"Spread the word. The only official download locations for I2P are linked on our\n"
+"`download page`_. All I2P download packages are GPG-signed by the\n"
+"`release signing key`_."
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:38
+msgid "`a tweet`"
+msgstr ""
+
+#: i2p2www/blog/2014/02/16/i2pbrowser-malware.rst:40
+msgid "`release signing key`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:1
+msgid ""
+"================================================================\n"
+"Search Engine DuckDuckGo Awards Invisible Internet Project $5000\n"
+"================================================================"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:10
+msgid ""
+"Search engine `DuckDuckGo`_ `donates`_ $5000 to the `Invisible Internet "
+"Project`_ (I2P) in their open source donation program."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:12
+msgid ""
+"**Somewhere, NH** -- Internet search company `DuckDuckGo`_ `donates`_\n"
+"$5000 to the `Invisible Internet Project`_ (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal. With an emphasis on privacy, DuckDuckGo provides a search\n"
+"engine which does not track its users or store personal data. I2P is an anonymous network intended to\n"
+"protect individuals from dragnet surveillance regularly performed by ISPs and governments."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:21
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:42
+msgid ""
+"This marks the single largest donation ever received by I2P and reflects a growing interest in\n"
+"privacy and security by the Internet community. The funding will help I2P to reach more users, expand\n"
+"development, and audit the code. It will also enable I2P developers to attend conferences, such\n"
+"as the `Real-World Cryptography`_ conference in New York City, where the developers met and\n"
+"collaborated with cryptography experts pursuant to I2P's goals of providing anonymity to the\n"
+"public."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:30
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:51
+msgid ""
+"I2P thanks Gabriel Weinberg and DuckDuckGo for the generous donation,\n"
+"and the I2P community for its support in the `nominations`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:35
+msgid ""
+"For more information about I2P, visit `our web site`_ or follow us `on "
+"Twitter`_."
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:39
+msgid "`donates`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:42
+msgid "`our web site`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:43
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:59
+msgid "`nominations`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/12/press-release-ddg-donation.rst:45
+msgid "`on Twitter`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.12 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:10
+msgid "0.9.12 adds support for ECDSA and updates to Jetty 8"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:12
+msgid ""
+"I2P now requires Java 6 or higher.\n"
+"We strongly recommend that you upgrade to Java 7.\n"
+"If you are still using Java 5, you must upgrade your Java before installing I2P 0.9.12."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:18
+msgid ""
+"0.9.12 adds preliminary support for ECDSA-signed Destinations.\n"
+"It contains several fixes for the handling of Delivery Status Messages (acknowledgements)\n"
+"and those messages are now end-to-end encrypted for increased security."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:24
+msgid ""
+"We have upgraded to Jetty 8.\n"
+"Jetty 8 is almost identical to Jetty 7, so there are no complex configuration file conversions as there have been in past Jetty upgrades.\n"
+"No manual changes should be necessary."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:35
+msgid ""
+"In early March, Internet search company `DuckDuckGo`_ `donated`_\n"
+"$5000 to the `Invisible Internet Project` (I2P) as part of their yearly open-source\n"
+"donation program. The award was granted on the basis of `nominations`_ by members of the public\n"
+"on the DuckDuckGo community portal."
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:56
+msgid "`donated`"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:69
+msgid "Encrypt Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:70
+msgid "Add preliminary support for ECDSA-signed Destinations"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:71
+msgid "Add check for replayed NTCP session requests"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:72
+msgid "Add throttling and blocking checks to streaming ping processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:78
+msgid "Fix RouterInfo exchange in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:79
+msgid "Extend timeout for Delivery Status Messages"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:80
+msgid "Drop streaming messages from recently closed connections"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:81
+msgid "Fix restarts on Raspberry Pi"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:82
+msgid "Restore profileOrganizer.sameCountryBonus advanced config"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:83
+msgid "Fix for jwebcache and i2phex"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:89
+msgid "Jetty 8.1.14.v20131031; Java 6 now required"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:90
+msgid ""
+"Reduce target connection count again to reduce tunnel reject rate further"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:91
+msgid "Add rate limit for outbound connections at tunnel endpoints"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:92
+msgid "Add optional inproxy blocking in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:93
+msgid "Use SSU session key for relay request/response when available"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:94
+msgid "Include HTTP POST data in SYN packet"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:95
+msgid "Add getopt library for better argument processing"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:96
+msgid "More removal of Jetty dependencies"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:97
+msgid "Remove MD5 code, use Java libraries instead"
+msgstr ""
+
+#: i2p2www/blog/2014/03/31/0.9.12-Release.rst:98
+msgid "Change the default addressbook subscription URL"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.13 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:10
+msgid "0.9.13 with SusiMail improvements and fixes for firewalled routers"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:12
+msgid ""
+"0.9.13 includes fixes for firewalled routers, netdb lookup improvements, and a big SusiMail update.\n"
+"Of course, there's also the usual collection of bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:22
+msgid ""
+"zzz has updated his GPG keys, and the release files are signed with his\n"
+"new keys. His new key fingerprint is:"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:31
+msgid "SusiMail"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:33
+msgid "Many UI improvements"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:34
+msgid "Implement local storage of messages"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:35
+msgid "Add offline mode"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:36
+msgid "Messages now deleted on server after download"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:37
+msgid "Several backend POP3 and SMTP speedups and fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:41
+msgid "NetDB lookup fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:42
+msgid "Fix transition from not-firewalled to firewalled"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:43
+msgid "Fix plugin uninstall on Windows"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:44
+msgid "SSU locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:45
+msgid "Fix rapid republishing of SSU addresses"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:46
+msgid "IRC client exception fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:47
+msgid "Fix changing HTTP outproxy configuration without restarting tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:51
+msgid "New i2ptunnel server option for unique local address per-client"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:52
+msgid "Warn in i2ptunnel on duplicate client ports"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:53
+msgid "Update HTTP User-Agent to match TBB"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:54
+msgid "Extend SSU establishment retransmission timer"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:55
+msgid "Use constant-time method for HMAC verification"
+msgstr ""
+
+#: i2p2www/blog/2014/05/22/0.9.13-Release.rst:56
+msgid "New translation: Slovak"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.14 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:10
+msgid "0.9.14 includes critical security fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:12
+msgid ""
+"0.9.14 includes critical fixes for XSS and remote execution vulnerabilities reported by Exodus Intelligence.\n"
+"As an added precaution, we have disabled several advanced configuration features in the router console,\n"
+"including installation of new plugins.\n"
+"We plan to re-enable these in a future release after additional review."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:19
+msgid ""
+"Due to I2P library changes, I2P-Bote users must upgrade their plugin to version 0.2.10 to work with I2P 0.9.14.\n"
+"Your router should update the plugin automatically after the router restarts."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:24
+msgid ""
+"The release also contains several bug fixes in i2ptunnel, i2psnark, and other areas,\n"
+"and updates to the latest Jetty, Tomcat, and Wrapper.\n"
+"We've also implemented a faster and more secure method for reseeding.\n"
+"Of course, there's also the usual collection of minor bug fixes and translation updates."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:31
+msgid ""
+"You must update to this release immediately. The best way to\n"
+"maintain security and help the network is to run the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:39
+msgid "Security Fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:41
+msgid "Fix several XSS issues"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:42
+msgid "Disable changing news feed URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:43
+msgid "Disable plugin install"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:44
+msgid "Disable setting unsigned update URL from UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:45
+msgid "Disable clients.config editing from the UI"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:46
+msgid "Add Content-Security-Policy and X-XSS-Protection headers"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:47
+msgid "Disable unused ExecNamingService (thx joernchen of Phenoelit)"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:52
+msgid "Fix tunnel building so it doesn't get \"stuck\" on a single pool"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:53
+msgid "Reject participating tunnels when hidden"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:54
+msgid ""
+"Several i2psnark improvements and fixes (GUI and DHT), including changes for"
+" better compatibility with Vuze"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:59
+msgid ""
+"Reseeding now fetches a signed zip file containing router infos for security"
+" and speed"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:60
+msgid "Use JVM's AES implementation if it is faster"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:61
+msgid "More advanced options shown in the i2ptunnel edit pages"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:62
+msgid ""
+"Per-message reliabilitiy settings in I2CP and error propagation back from "
+"router to client"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:63
+msgid "Lots of findbugs fixes and cleanups"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:64
+msgid "Support signature types in SAM, bump rev to 3.1"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:65
+msgid "New event log page in console"
+msgstr ""
+
+#: i2p2www/blog/2014/07/26/0.9.14-Release.rst:68
+msgid "Wrapper 3.5.25 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:1
+msgid ""
+"================\n"
+"0.9.14.1 Release\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:10
+msgid "0.9.14.1 includes i2psnark and console fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:12
+msgid ""
+"0.9.14.1 includes fixes for the \"Add Torrent\" form in i2psnark and some other web forms.\n"
+"We've restored the ability to install plugins via the console, but you must first edit your router.config file\n"
+"(in ~/.i2p/ or /var/lib/i2p/i2p-config/ or %APPDATA%\\I2P\\) to add the line routerconsole.enablePluginInstall=true.\n"
+"Other rarely-used advanced features that were removed in 0.9.14 may be restored by adding the line routerconsole.advanced=true."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:19
+msgid ""
+"As usual, if configured with the default \"Download and Verify\", the router will automatically download the update and display a button to restart.\n"
+"However, due to a bug in 0.9.14, if your update is configured for \"Notify only\", the download button will not be displayed.\n"
+"You must change your configuration to \"Download and Verify\" or \"Download, Verify, and Restart\" to update."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:25
+msgid ""
+"If you are still running 0.9.13 or older, we recommend that you update to this release as soon as possible.\n"
+"If you don't often check your router console, please consider changing your configuration to \"Download, Verify, and Restart\"\n"
+"to ensure you are always running the latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:37
+msgid "Fix i2psnark add torrent form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:38
+msgid "Fix iptunnel custom options form"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:39
+msgid "Fix update download buttons"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:44
+msgid "Restore all console features if routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:45
+msgid "Restore plugin install if routerconsole.enablePluginInstall=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:46
+msgid "Restpre client adds/changes if routerconsole.enableClientChange=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:47
+msgid ""
+"Plugin signing keys are now whitelisted unless "
+"routerconsole.allowUntrustedPlugins=true"
+msgstr ""
+
+#: i2p2www/blog/2014/08/09/0.9.14.1-Release.rst:48
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:71
+msgid "More escaping and cleanups in forms and messages"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:1
+msgid ""
+"==============================\n"
+"The birth of Privacy Solutions\n"
+"=============================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:10
+msgid "Organization launch"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:14
+msgid ""
+"Hello all!\n"
+"\n"
+"Today we announce the Privacy Solutions project, a new organization that develops and maintains I2P software. Privacy Solutions includes several new development efforts designed to enhance the privacy, security, and anonymity for users, based on I2P protocols and technology.\n"
+"\n"
+"These efforts include\n"
+"\n"
+"1) The Abscond browser bundle.\n"
+"2) The i2pd C++ router project.\n"
+"3) The \"BigBrother\" I2P network monitoring project.\n"
+"4) The Anoncoin crypto-coin project.\n"
+"5) The Monero crypto-coin project.\n"
+"\n"
+"Privacy Solutions' initial funding was provided by the supporters of the Anoncoin and Monero projects. Privacy Solutions is a Norway-based non-profit type of organization registered within the Norwegian government registers. ( Kind of like US 501(c)3. )\n"
+"\n"
+"Privacy Solutions plans to apply for funding from the Norwegian goverment for network research, because of BigBrother (We'll get back to what that is) and the coins that are planned to use low-latency networks as primary transport layer. Our research will support advances in software technology for anonymity, security, and privacy.\n"
+"\n"
+"\n"
+"First a little bit about the Abscond Browser Bundle. This was first a one-man project by Meeh, but later on friends started sending patches, the project is now trying to create the same easy access to I2P as Tor has with their browser bundle. Our first release isn't far away, it's just some gitian script tasks left, including setup of the Apple toolchain. But again we will add monitoring with PROCESS_INFORMATION (A C struct keeping vital proces information about an process) from the Java instance to check on I2P before we declare it stable. I2pd will also switch with the Java version once it's ready, and there is no point in shipping a JRE in the bundle anymore. You can read more about the Abscond Browser Bundle at https://hideme.today/dev"
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:36
+msgid ""
+"We would also like to inform of the current status of i2pd. I2pd supports "
+"bi-directional streaming now, that allows to use not only HTTP but long-"
+"lived communication channels. Instant IRC support has been added. I2pd users"
+" are able to use it same way as Java I2P for access to I2P IRC network. "
+"I2PTunnel is one of key features of I2P network, allowing non-I2P "
+"applications communicate transparently. That's why it's vital feature for "
+"i2pd and one of key milestones."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:40
+msgid ""
+"At last, if you are familiar with I2P you probably know about "
+"Bigbrother.i2p, which is a metrics system Meeh made over a year back. "
+"Recently we noticed that Meeh actually have 100Gb of non-duplicated data "
+"from nodes reporting in since initial launch. This will also be moved to "
+"Privacy Solutions and be rewritten with a NSPOF backend. With this we will "
+"aslo start using the Graphite ( http://graphite.wikidot.com/screen-shots ). "
+"This will give us a great overview over the network without privacy issues "
+"for our end users. The clients filter all data except country, router hash "
+"and success rate on tunnel buildings. The name of this service is as always "
+"a little joke from Meeh."
+msgstr ""
+
+#: i2p2www/blog/2014/08/15/The-privacy-solutions-project.rst:47
+msgid ""
+"We have shorted down a bit of the news here, if you're interested in more information please visit https://blog.privacysolutions.no/\n"
+"We're still under construction and more content will come!\n"
+"\n"
+"\n"
+"\n"
+"For further information contact: press@privacysolutions.no\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"Best regards,\n"
+"\n"
+"Mikal \"Meeh\" Villa"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:1
+msgid ""
+"=============================================\n"
+"Android test release on Google Play in Norway\n"
+"============================================="
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:10
+msgid ""
+"I2P Android and Bote have been released on Google Play in Norway, as a test "
+"run for a future worldwide release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:12
+msgid ""
+"I2P Android has existed for over three years. In that time, it has evolved from\n"
+"a simple test project into a usable, useful Android port of the I2P router. Our\n"
+"eventual goal has been to release I2P Android on Google Play, to make it easier\n"
+"for users to discover, install and use I2P on their Android devices. After much\n"
+"work improving the user interface, fixing bugs and testing, we think that I2P\n"
+"Android is finally ready to go where the users are."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:21
+msgid ""
+"Initially, we are only releasing to Android users in Norway, as a test run. I2P\n"
+"Android will have far more exposure on Google Play than it has ever had before,\n"
+"and there will be bugs and usability issues that we need to fix. It will be much\n"
+"easier (and less stressful!) to respond to feedback if we only need to deal with\n"
+"reports from hundreds of users instead of thousands (already orders of magnitude\n"
+"more feedback than we have ever had)."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:30
+msgid ""
+"Simultaneously we are making the first public release of Bote, an Android port\n"
+"of `I2P-Bote`_. Bote is private, distributed, secure email, made easy. It runs\n"
+"on top of the I2P network, and while it works as a standalone app, it will use\n"
+"the I2P Android app by default if installed. As with I2P Android, we are\n"
+"initially only releasing Bote to Android users in Norway."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:38
+msgid ""
+"The apps are being released on Google Play by `The Privacy Solutions Project`_.\n"
+"See their `blog post`_ for further information, and links to the Google Play\n"
+"page for Norway users."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:44
+msgid ""
+"As lead developer for I2P Android and Bote, I look forward to your comments. You\n"
+"are the people who will be using them, and your perspectives will help me craft\n"
+"simple, intuitive apps that make privacy accessible to everyone."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:51
+msgid "`The Privacy Solutions Project`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:52
+msgid "`blog post`"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:54
+msgid "Website release details"
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:56
+msgid ""
+"We have also updated I2P Android on the website to match the release candidate\n"
+"deployed in Norway. This version will be updated with changes as we respond to\n"
+"feedback from Norwegian users, heading towards our next stable release."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:62
+msgid ""
+"Please note that we have upgraded the Android API to 9. This means that Froyo\n"
+"Android 2.2 will not be supported anymore; the minimum requirement is now\n"
+"Gingerbread Android 2.3."
+msgstr ""
+
+#: i2p2www/blog/2014/08/23/Android-test-release-on-Google-Play-in-Norway.rst:68
+msgid ""
+"Also note that if you have an earlier version of I2P Android, you will need to\n"
+"uninstall and reinstall because we have changed the release keys. Further\n"
+"information about this will be provided in a subsequent blog post."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.15 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:10
+msgid "0.9.15 includes Ed25519 crypto and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:12
+msgid ""
+"0.9.15 adds preliminary support for Ed25519 EdDSA signatures.\n"
+"It includes a new persistent configuration backend for i2psnark and fixes several issues with i2psnark's handling of file names.\n"
+"There are several improvements to speed up SAM.\n"
+"Plugins now support stronger signatures in the su3 file format.\n"
+"Plugin installation via the console, which was disabled in 0.9.14, is re-enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:20
+msgid ""
+"We have supported ECDSA signatures since 0.9.12, and we would like to start using ECDSA by default.\n"
+"Unfortunately, some of you are still running older I2P versions, and for others,\n"
+"their distribution or Java runtime does not support ECDSA. Red Hat\n"
+"(RHEL, Fedora) distributions are reported to be missing ECDSA.\n"
+"Some have fixed the Java issues by upgrading from Java 6 to Java 7;\n"
+"others have had success with installing the \"unlimited strength policy files\".\n"
+"We've added information about missing crypto to the log file and the /logs page in the console.\n"
+"After you update to 0.9.15, please check if you are missing ECDSA support, and attempt to fix it if necessary.\n"
+"This is particularly important for those that run popular eepsites and services."
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:41
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:39
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:46
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:32
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:46
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:38
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:36
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:75
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:55
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:37
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:56
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:35
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:37
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:34
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:58
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:34
+#: 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.rst:38
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:35
+msgid "Changes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:43
+msgid "Add support for Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:44
+msgid ""
+"i2psnark move to separate config file for each torrent to better support "
+"per-torrent settings"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:45
+msgid "Add i2psnark support for data outside the i2psnark/ directory"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:46
+msgid "Enable stronger signatures (su3 format) for plugins"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:47
+msgid "Speed up SSU introductions by responding to hole punch messages"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:48
+msgid "Several improvements in SAM efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:53
+msgid "Form submission fixes in the console and i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:54
+msgid "Streaming fixes for long signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:55
+msgid "i2psnark fixes for file name character mapping when seeding"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:56
+msgid "I2PTunnel fixes stopping client tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:57
+msgid "I2PTunnel fix updating options on a running delay-open client tunnel"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:62
+msgid "Re-enable plugin installation via the console, removed in 0.9.14"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:63
+msgid "i2psnark now remembers uploaded count across restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:64
+msgid "i2psnark increase max piece size to 8 MB"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:65
+msgid "i2psnark several UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:66
+msgid "Prohibit SSU peer test requests unless a connection is established"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:67
+msgid ""
+"i2ptunnel add support for local SSL connections for standard and IRC client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:68
+msgid "Console and log warnings for unavailable crypto"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:69
+msgid ""
+"More consistent routing for Delivery Status Messages to reduce network "
+"connections"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:70
+msgid "Disable external entities in UPnP XML parser"
+msgstr ""
+
+#: i2p2www/blog/2014/09/20/0.9.15-Release.rst:73
+msgid "Update GeoIP data (in both new installs and updates)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.16 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:10
+msgid "0.9.16 includes crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:12
+msgid ""
+"0.9.16 is a significant step forward in our plan to migrate\n"
+"from DSA to ECDSA and then EdDSA cryptographic signatures,\n"
+"and makes several other changes to increase your anonymity and security.\n"
+"Client tunnels for standard, IRC, and SOCKS IRC will use ECDSA signatures by default.\n"
+"In addition, we've fixed a large number of serious bugs, including console lockups."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:20
+msgid ""
+"Changes in router data structures will require i2pcontrol plugin users to "
+"update to version 0.0.9."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:24
+msgid ""
+"If you run an eepsite or a service and you are not running a recent release,\n"
+"or your Java or OS does not support ECDSA (as noted in the logs and on the /logs page in the console),\n"
+"please fix the issue as soon as possible or your users will soon be unable to connect."
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:41
+msgid "Add support for stronger Router Info signatures"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:42
+msgid "Encrypt RI lookups and responses on faster boxes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:43
+msgid ""
+"Require I2CP authorization for all messages when enabled (requires 0.9.11 or"
+" higher client)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:44
+msgid "Disable SSLv3 and older ciphers for reseeding and other uses of SSL"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:45
+msgid ""
+"Use ECDSA by default for i2ptunnel IRC, SOCKS-IRC, and standard client "
+"tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:46
+msgid "Don't prefer floodfills in some countries"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:47
+msgid ""
+"New column sorting, set-all priority buttons, and upload ratio display in "
+"i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:48
+msgid "Increase i2psnark tunnel default to 3 hops"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:49
+msgid ""
+"Implement bundling of multiple fragments in a single SSU message for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:50
+msgid "New add-to-addressbook links on netdb leaseset page"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:51
+msgid ""
+"Implement I2NP DatabaseLookupMessage search type field to improve lookup "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:58
+msgid "CPUID fixes and updates for recent processors"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:59
+#, python-format
+msgid "i2psnark fix magnet links with %(pc)s-encoding"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:60
+#, python-format
+msgid ""
+"Improve handling of SSU socket closing out from under us (hopefully fix "
+"100%(pc)s CPU)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:61
+msgid "SSU bitfield handling fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:62
+msgid "Fix HTTP header issues in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:63
+msgid "Fix rare NPE when building garlic message"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:64
+msgid "Fix console lockups (hopefully)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:65
+msgid "Fix i2ptunnel js confirm-delete"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:70
+msgid ""
+"Move router data structures from i2p.jar to router.jar (breaks i2pcontrol "
+"plugin)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:71
+msgid ""
+"New router keys now stored in router.keys.dat (eepPriv.dat format) instead "
+"of router.keys"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:72
+msgid "Improve handling of unsupported encryption throughout"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:73
+msgid "More error checking of client I2CP messages by the router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:74
+msgid "Initial work on hooks for pluggable transports"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:75
+msgid "Enforce request timestamp in tunnel build messages"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:76
+msgid ""
+"Re-enable message status in streaming, but treat no leaseset as a soft "
+"failure for now"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:77
+msgid "Return unused DH keypairs to the pool for efficiency"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:78
+msgid "Raise failsafe tagset limit and improve deletion strategy when hit"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:79
+msgid ""
+"Change eepsite Jetty threadpool and queue configuration (new installs only)"
+msgstr ""
+
+#: i2p2www/blog/2014/11/01/0.9.16-Release.rst:80
+msgid "NTCP establishment refactoring in prep for NTCP2 and PT"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.17 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:10
+msgid "0.9.17 with more crypto migration and many fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:12
+msgid ""
+"0.9.17 is primarily a bugfix release, but it also continues our migration to"
+" stronger cryptographic signatures."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:16
+msgid ""
+"We have moved the news feed system used for the news on your console and the latest router version indication\n"
+"to a signed format using RSA 4096-bit keys for enhanced security."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:21
+msgid ""
+"New eepsites and servers will be ECDSA-signed by default, if ECDSA is available.\n"
+"There is now a warning in the console sidebar if ECDSA is not available.\n"
+"For RedHat users, we have reports of successful installs of the BouncyCastle Provider (bcprov) jar to add ECDSA support."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:27
+msgid ""
+"We've fixed several serious bugs, including an SSU packet corruption problem,\n"
+"and a SAM bug affecting i2p-messenger and other SAM applications.\n"
+"There are several fixes for the preliminary ECDSA router signatures added in the last release but not yet enabled."
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:33
+msgid ""
+"Many of us will be attending 31C3 in Hamburg in December. Stop by our table "
+"and say hi!"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:48
+msgid "Signed news"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:49
+msgid "ECDSA default for new server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:50
+msgid "Reseeding now SSL-only by default"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:55
+msgid "Fix SSU sending corrupt ack-only packets with partial bitfields"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:56
+msgid "Fix SSU inbound connection fail from non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:57
+msgid "Don't select incompatible peers if we are a non-DSA router"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:58
+msgid "Fix EdDSA signature verification bug"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:59
+msgid ""
+"Set I2NP lookup type flags in all cases, not just when a reply tunnel is "
+"used"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:60
+msgid "Stop i2ptunnel server acceptor thread after close"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:61
+msgid "Fix bug preventing some plugins from stopping completely"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:62
+msgid "Fix SAM v3 bug causing failures in incoming connections"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:67
+msgid "Add a warning in the console sidebar if ECDSA not supported"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:68
+msgid "Log warnings for Java 6 that we will eventually require Java 7"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:69
+msgid "Don't let proxied routers auto-floodfill"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:70
+msgid "Don't resend SSU acks that are too old"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:71
+msgid "Don't publish direct info in SSU address if introducers are required"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:72
+msgid "New default opentrackers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:73
+msgid "Add support for specifiying data directory per-torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:74
+msgid "Changes in streaming accept() error behavior"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:75
+msgid "Minor blockfile format changes"
+msgstr ""
+
+#: i2p2www/blog/2014/11/30/0.9.17-Release.rst:76
+msgid ""
+"New option for persistent random key to preserve peer ordering across "
+"restarts"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:1
+msgid ""
+"====================\n"
+"Android app releases\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:10
+msgid ""
+"I2P Android 0.9.17 and Bote 0.3 have been released on the website, Google "
+"Play and F-Droid."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:12
+msgid ""
+"It has been some time since I last posted updates about our Android development,\n"
+"and several I2P releases have gone by without any matching Android releases.\n"
+"At last, the wait is over!"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:18
+msgid ""
+"New app versions\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:23
+msgid ""
+"New versions of I2P Android and Bote have been released! They can be downloaded\n"
+"from these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:31
+msgid ""
+"The main change in these releases is the transition to Android's new Material\n"
+"design system. Material has made it much easier for app developers with, shall\n"
+"we say, \"minimalist\" design skills (like myself) to create apps that are nicer\n"
+"to use. I2P Android also updates its underlying I2P router to the just-released\n"
+"version 0.9.17. Bote brings in several new features along with many smaller\n"
+"improvements; for example, you can now add new email destinations via QR codes."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:40
+msgid ""
+"As I mentioned in `my last update`_, the release key that signs the apps has\n"
+"changed. The reason for this was because we needed to change the package name\n"
+"of I2P Android. The old package name (``net.i2p.android.router``) had already\n"
+"been taken on Google Play (we still don't know who was using it), and we wanted\n"
+"to use the same package name and signing key for all distributions of I2P\n"
+"Android. Doing so means that a user could initially install the app from the I2P\n"
+"website, and then later if the website was blocked they could upgrade it using\n"
+"Google Play. Android OS considers an application to be completely different when\n"
+"its package name changes, so we took the opportunity to increase the strength of\n"
+"the signing key."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:53
+msgid "The fingerprint (SHA-256) of the new signing key is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:63
+msgid "`my last update`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:65
+msgid ""
+"Google Play\n"
+"-----------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:70
+msgid ""
+"A few months ago we `released`_ both I2P Android and Bote on Google Play in\n"
+"Norway, to test the release process there. We are pleased to announce that both\n"
+"apps are now being released globally by `Privacy Solutions`_. The apps can be\n"
+"found at these URLs:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:80
+msgid ""
+"The global release is being done in several stages, starting with the countries\n"
+"for which we have translations. The notable exception to this is France; due to\n"
+"import regulations on cryptographic code, we are unable yet to distribute these\n"
+"apps on Google Play France. This is the same issue that has affected other apps\n"
+"like TextSecure and Orbot."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:88
+msgid "`released`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:90
+msgid "`I2P on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:91
+msgid "`Bote on Google Play`"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:93
+msgid ""
+"F-Droid\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:98
+msgid ""
+"Don't think we have forgotten about you, F-Droid users! In addition to the two\n"
+"locations above, we have set up our own F-Droid repository. If you are reading\n"
+"this post on your phone, `click here`_ to add it to F-Droid (this only works in\n"
+"some Android browsers). Or, you can manually add the URL below to your F-Droid\n"
+"repository list:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:108
+msgid ""
+"If you would like to manually verify the fingerprint (SHA-256) of the repository\n"
+"signing key, or type it in when adding the repository, here it is:"
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:117
+msgid ""
+"Unfortunately the I2P app in the main F-Droid repository has not been updated\n"
+"because our F-Droid maintainer has disappeared. We hope that by maintaining this\n"
+"binary repository, we can better support our F-Droid users and keep them\n"
+"up-to-date. If you have already installed I2P from the main F-Droid repository,\n"
+"you will need to uninstall it if you want to upgrade, because the signing key\n"
+"will be different. The apps in our F-Droid repository are the same APKs that are\n"
+"provided on our website and on Google Play, so in future you will be able to\n"
+"upgrade using any of these sources."
+msgstr ""
+
+#: i2p2www/blog/2014/12/01/Android-app-releases.rst:128
+msgid "`click here`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:1
+msgid ""
+"================\n"
+"31C3 trip report\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:9
+msgid ""
+"CCC has always been a productive time for us, and 31C3 was no exception. "
+"Here is a summary of our various meetings and discussions."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:20
+msgid ""
+"We were, for the second year in a row, at a great location in the Congress, in\n"
+"`Noisy Square`_, right next to the EFF table. Being part of Noisy Square has\n"
+"really increased our visibility and helped many people find us. Thanks to Noisy\n"
+"Square and the 31C3 organizers for a great Congress."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:29
+msgid ""
+"We also thank Gabriel Weinberg and his fabulous search engine `DuckDuckGo`_ for\n"
+"their support of open source anonymity tools and their `generous contribution`_\n"
+"to I2P in 2014. Funding from DuckDuckGo and others helped support our attendance\n"
+"at CCC. This is the primary annual meetup for I2P developers and it is critical\n"
+"to our success."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:38
+msgid "`generous contribution`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:40
+msgid ""
+"Discussions with others\n"
+"======================="
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:48
+msgid ""
+"We spoke at length with Christian Grothoff of `GNUnet`_. He has moved himself\n"
+"and the project from TU Munich to `Inria`_ in France. He has a large number of\n"
+"`open positions`_. This is a great opportunity to get paid to work on open\n"
+"source anonymity tools, we encourage everybody to contact him about it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:57
+msgid "`open positions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:59
+msgid ""
+"The prospect of an invigorated GNUnet with a large amount of new funding is\n"
+"quite interesting. We discussed more ways to work together. In early 2014, we\n"
+"worked hard to understand the GnuNet DNS replacement, but we were unable to\n"
+"figure out a good fit for it in I2P. One of his new ideas is a distributed,\n"
+"anonymous statistics gathering subsystem, for detecting problems or attacks on\n"
+"the network. We'd definitely be interested in that."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:68
+msgid ""
+"We also discussed the `Special-Use Domain Names of Peer-to-Peer Systems draft`_.\n"
+"A new, greatly simplified version 3 was posted in December. The prospects for\n"
+"approval remain unclear. The best way to monitor or participate in the\n"
+"discussion is via the `IETF DNSOP WG mailing list`_. We will attempt to do so\n"
+"on our side, and also give Hellekin a new point-of-contact for this topic."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:76
+msgid "`Special-Use Domain Names of Peer-to-Peer Systems draft`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:77
+msgid "`IETF DNSOP WG mailing list`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:79
+msgid ""
+"We apologized to Christian for not being organized enough to have a talk at his\n"
+"`We Fix The Net assembly`_. One of our biggest failures as a project is our\n"
+"seeming inability to submit talks at conferences. We'll have to do better in the\n"
+"new year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:86
+msgid "`We Fix The Net assembly`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:91
+msgid ""
+"Iain Learmonth, a Debian participant, stopped by. He wants to put I2P in with\n"
+"other anonymity tools into this new Debian \"superpackage\" of some sort, and\n"
+"would love to get I2P into Debian in 2015. He claims the process is now easy,\n"
+"just `follow the instructions`_. We said that's funny, we've been\n"
+"`stuck in the process for over 7 years`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:99
+msgid "`follow the instructions`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:100
+msgid "`stuck in the process for over 7 years`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:102
+msgid ""
+"He said, well, try the new process, it works great, should be no problem at all\n"
+"if your package is in good shape. The people in Debian that run this process are\n"
+"eager volunteers who want nothing more than to get more packages in. We said our\n"
+"package is indeed in fantastic shape, and we would try out the new process as\n"
+"soon as possible. If all this is true, we will be in the next Debian release in\n"
+"late 2015. This would be very very cool."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:114
+msgid ""
+"We had a nice discussion with BitingBird of Tails. They are very happy with our\n"
+"rapid response to the `vulnerability disclosure`_ last summer, resulting in our\n"
+"`0.9.14 release`_. Our vulnerability was initially blamed on Tails, and they\n"
+"took `great offense`_ to that and the lack of private notification. We thanked\n"
+"them for taking the heat and fighting back."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:122
+msgid "`vulnerability disclosure`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:123
+msgid "`0.9.14 release`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:124
+msgid "`great offense`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:126
+msgid ""
+"BitingBird also handles support, and she tells us the number one issue is how\n"
+"long I2P takes to start up and be useful for browsing I2P sites. Her standard\n"
+"answer is \"wait ten more minutes\" and that seems to be effective. I2P is\n"
+"particularly slow to startup on Tails since it does not persist peer data by\n"
+"default. It would be nice to change that, but there's also things we can do on\n"
+"the I2P side to make things start faster. Expect some improvement in our 0.9.18\n"
+"release."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:139
+msgid ""
+"Longtime friend of I2P Bernhard Fischer of `OnionCat`_ stopped by. The upcoming\n"
+"Tor Hidden Services changes mean that their keys will no longer fit into a\n"
+"portion of an IPv6 address, and he was working on a solution. We reminded him\n"
+"that this has always been the case for I2P (with \"GarliCat\"), that it's not a\n"
+"new problem. He pointed us to `a presentation`_ of his proposal. It involves\n"
+"storing an extra record in the hidden service directory (equivalent of a\n"
+"leaseset I2P's network database). It wasn't completely clear how this would\n"
+"work, or if we would consider it abuse of the netDb. We'll follow up with him\n"
+"as he gets further."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:152
+msgid "`a presentation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:154
+msgid ""
+"New users\n"
+"---------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:159
+msgid ""
+"We spent hours and hours explaining I2P to people stopping by our table. Some\n"
+"had heard of I2P before, some had not; everybody had heard of Tor and had at\n"
+"least a vague idea of what hidden services are. As usual, introducing people to\n"
+"I2P was a struggle. By the end of the Congress, we became convinced that a part\n"
+"of the problem was a difference in terminology. Back 12 years ago, when I2P and\n"
+"Tor were both getting started, we each came up with terms for the various parts\n"
+"of our systems. Today, the Tor terminology such as \"hidden service\" is\n"
+"well-understood and commonplace. The I2P terminology such as \"eepsite\" is\n"
+"neither. We agreed to review our documentation, router console, and other places\n"
+"for opportunities to simplify it and use common terms."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:172
+msgid ""
+"I2P project topics\n"
+"------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:177
+msgid ""
+"* *Spending money:* We discussed several ways to effectively use our resources\n"
+" in 2015, including more hardware for testing and development. Also, we plan to\n"
+" increase reimbursement levels for conference attendees."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:183
+msgid ""
+"* *Toronto meetup:* CCC is such a productive time for us, and it seems that a\n"
+" second meetup in the year would be quite helpful. We have proposed it for\n"
+" August 2015 in Toronto, Canada, in conjunction with `Toronto Crypto`_. It\n"
+" would include developer meetings together with presentations and tutorials,\n"
+" all open to the public. We are attempting to gauge interest and research\n"
+" possible venues. If you are considering attending, please let us know by\n"
+" `tweeting @i2p`_ or posting `on the dev forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:193
+msgid ""
+"* We discussed Meeh's workload and the state of the various services he is\n"
+" running. We made some plans to reduce his load and have some other people help\n"
+" out."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:199
+msgid ""
+"* We reviewed our critieria for placing links to `i2pd`_ on our download page.\n"
+" We agreed that the only remaining item is to have a nice page on the\n"
+" `Privacy Solutions web site`_ or elsewhere with binary packages for Windows,\n"
+" Linux, and Mac, and source packages. It's not clear who is responsible for\n"
+" building the packages and where the \"official\" version is. Once there's an\n"
+" established process for building and signing packages and an official place to\n"
+" put them, we're ready to link to it. If it is not feasible to host it on the\n"
+" Privacy Solutions website, we will discuss alternatives with orignal,\n"
+" including possible migration to our download servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:211
+msgid ""
+"* Lots of people coming by the table asked if we had a non-Java version. It was\n"
+" great to finally answer \"yes\" and we're eager to get the word out and get more\n"
+" users, testers, and developers on it."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:217
+msgid ""
+"* `Vuze`_ continues to make good progress on their I2P integration. We look\n"
+" forward to working with them in the new year on a managed rollout to more\n"
+" users."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:223
+msgid ""
+"* We discussed the state of Meeh's and Sindu's reseed servers. They made several\n"
+" improvements while at the congress and are investigating migration to\n"
+" `Matt Drollette's Go implementation`_. The security and reliability of our\n"
+" reseed servers is vital to new users and network operation. `User 'backup'`_\n"
+" is doing a great job monitoring and managing the pool of reseed servers."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:231
+msgid ""
+"* We agreed to purchase a second root server for development, testing, and\n"
+" services. Echelon will be adminstering it. Contact him if you would like a VM."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:236
+msgid ""
+"* We reiterated that we have funds available to purchase test hardware,\n"
+" especially for Windows and Mac. Talk to echelon for details."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:241
+msgid ""
+"* We met with Welterde about the state of his services including his\n"
+" `open tracker`_. These services are not being adequately maintained and will\n"
+" soon become inaccessible due to crypto changes if they are not upgraded. He\n"
+" committed to upgrading them soon."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:248
+msgid ""
+"* We met lots of people interested in our `Android app`_. We passed several\n"
+" ideas and bug reports back to str4d. We plan to make a big push to give the\n"
+" app some development love early in the year."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:254
+msgid ""
+"* Regrettably, we didn't get to see too many talks at the Congress, as we were\n"
+" so busy meeting with people. We plan to catch up and `watch them online`_. As\n"
+" usual, Tor's \"State of the Onion\" talk was excellent, and Jacob's talk was\n"
+" great. We hear that the cryptography talks were good as well."
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:261
+msgid "`Toronto Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:262
+msgid "`tweeting @i2p`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:263
+msgid "`on the dev forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:266
+msgid "`Privacy Solutions web site`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:270
+msgid "`Matt Drollette's Go implementation`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:271
+msgid "`User 'backup'`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:273
+msgid "`open tracker`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:275
+msgid "`Android app`"
+msgstr ""
+
+#: i2p2www/blog/2015/01/20/31C3-trip-report.rst:277
+msgid "`watch them online`"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.18 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:10
+msgid "0.9.18 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:12
+msgid ""
+"0.9.18 contains several bug fixes and performance improvements.\n"
+"We have shortened the startup time, and reduced latency throughout our network protocols.\n"
+"We've increased the default connection limits for the fastest routers,\n"
+"and reduced the thread usage in i2ptunnel.\n"
+"UPnP fixes should improve handling of external device changes.\n"
+"CPU usage in high-bandwidth routers may be reduced thanks to some NTCP fixes."
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:32
+msgid "Fix parsing of ECDSA address helper in HTTP client proxy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:33
+msgid ""
+"Fix news last-modified processing which prevented notification of update"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:34
+msgid "Improve handling of UPnP device changes"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:35
+msgid "Don't hang at startup forever waiting for entropy"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:36
+msgid "Possible fixes for high CPU usage in NTCP"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:40
+msgid "Publish router info faster when address costs change"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:41
+msgid "Start i2ptunnel 90s sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:42
+msgid "Accept tunnels 10m sooner"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:43
+msgid "Increase exploratory tunnel quantity during initial exploration"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:44
+msgid "Latency reductions in several places"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:45
+msgid ""
+"Add startup browser configuration with advanced config routerconsole.browser"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:46
+msgid "Persistent leaseset keys to eliminate correlation with restart"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:47
+msgid "Faster unchoking of new peers in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:48
+msgid "More aggressive throttling of lookups at floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:49
+msgid "Tunnel build request record refactoring"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:50
+msgid "Reduce thread usage in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:51
+msgid "Add i2ptunnel server option for multihomed sites"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:52
+msgid "Disallow some common I2P application ports as router ports"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:53
+msgid "Increase connection limits for fast routers"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:54
+msgid "Add Save-As button for SusiMail messages"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:55
+msgid "Use 'hidden service' terminology in the console"
+msgstr ""
+
+#: i2p2www/blog/2015/02/22/0.9.18-Release.rst:56
+msgid "Encrypted netdb lookups for 32-bit x86"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.19 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:10
+msgid "0.9.19 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:12
+msgid ""
+"0.9.19 has several fixes and improvements for floodfill performance.\n"
+"Many of you saw high CPU usage after 0.9.18 was released.\n"
+"This was caused by a combination of increased encryption usage, the big influx of Vuze users into the network,\n"
+"reduced floodfills due to tighter performance requirements, and some longstanding bugs.\n"
+"Things should be a lot better after most of the network has updated.\n"
+"As always, the best way to reduce CPU usage is to lower your bandwidth limits."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:20
+msgid ""
+"We've also added new ways to reseed manually, and to generate a reseed file you can easily share with others who need it.\n"
+"See the reseed configuration page in the router console for more information."
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:34
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:48
+msgid "Floodfill performance improvements"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:35
+msgid "Easier ways to reseed manually from a file or URL"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:36
+msgid "New way to export reseed data for others"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:37
+msgid "Support for installing plugin from file"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:42
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:59
+msgid "Fixes for high CPU usage in floodfills"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:43
+msgid "i2ptunnel locking fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:44
+msgid "Fixes for read timeout handling in streaming"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:45
+msgid "Fix changing i2psnark data directory on Windows"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:46
+msgid "Fix multiple SSL outproxies in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:51
+msgid "Update to UPnP library version 3.0"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:52
+msgid "Improve tracking of floodfill lookup success"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:53
+msgid "Direct router info lookups if connected to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:54
+msgid "Auto-adjustment of i2psnark tunnel quantity"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:55
+msgid "Increase exploratory tunnel quantity when floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:56
+msgid "Increase min and default bandwidth for i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:57
+msgid ""
+"Improved strategies for dropping jobs on high job lag to prevent overload"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:58
+msgid "Drop tunnel build requests on high job lag"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:59
+msgid "Increase allowed clock skew in I2CP"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:60
+msgid "New HTTP error page when the server resets the connection"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:61
+msgid "Require ECDSA support for floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:62
+msgid "Republish router info faster when capabilities change"
+msgstr ""
+
+#: i2p2www/blog/2015/04/12/0.9.19-Release.rst:63
+msgid "Better feedback in console for reseed errors"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.20 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:10
+msgid "0.9.20 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:12
+msgid ""
+"0.9.20 contains many important bug fixes, and several changes to increase "
+"floodfill capacity in the network."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:16
+msgid ""
+"Routers configured for 32-64 KB of shared bandwidth may now become floodfill,\n"
+"and routers configured for 512 KB or more of shared bandwidth will have higher connection limits.\n"
+"These changes may cause your router to use more resources.\n"
+"If the router becomes too busy, the best way to reduce usage is to lower the bandwidth settings in your console.\n"
+"If that doesn't help, you may now disable automatic floodfill on the advanced configuration page in the console."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:24
+msgid ""
+"We're hopeful that these changes will increase network capacity and performance,\n"
+"and reduce the congestion that's been affecting the network the last three months."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:34
+msgid ""
+"Finally, we're excited to announce our first-ever I2P meetup, in Toronto August 15-16.\n"
+"There will be lots of presentations and tutorials. All are welcome.\n"
+"For more information, see the `announcement`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:49
+msgid "Add support for address book export"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:50
+msgid "Add support for SSL in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:51
+msgid "Allow class 'M' (64-128 KBps share bandwidth) to become floodfill"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:52
+msgid ""
+"Raise connection limits for new classes 'P' (512-2000 KBps share bandwidth) "
+"and 'X' (over 2000 KBps)"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:53
+msgid "Add support for signed development builds"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:60
+msgid "Clock skew fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:61
+msgid ""
+"Fixes and configuration for when IPv4 is firewalled but IPv6 still works"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:62
+msgid "Locking fixes for i2ptunnel clients to prevent hangs at startup"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:63
+msgid "Verify hostnames when reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:64
+msgid "Fix deletion of config files for deleted torrents in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:65
+msgid "Fix hangs fetching proxy.i2p local resources via Privoxy"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:66
+msgid "Fixes for duplicate shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:67
+msgid "Fix for occasional page truncation in HTTP client"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:68
+msgid "Fixes for handling corrupted SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:69
+msgid "Fix closing of SAM sessions when I2P session closes"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:70
+msgid "Fix bugs in handling streaming resets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:77
+msgid "Reduce NTCP threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:78
+msgid "Eliminate SimpleScheduler threads"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:79
+msgid "Add continent-based NTP servers as fallbacks for country-based ones"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:80
+msgid "Remove all default non-SSL reseed hosts"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:81
+msgid "Disable fallback to non-su3 reseeding"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:82
+msgid "Several fixes in streaming for better \"loopback\" performance"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:83
+msgid "Reduce latency in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:84
+msgid "Add a larger Bloom filter for very high bandwidth and memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:85
+msgid ""
+"Add Bloom filter warning when configured for high bandwidth but not enough "
+"memory"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:86
+msgid "Reduce max netdb search depth to reduce floodfill load"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:87
+msgid "Improved header processing and error handling in i2ptunnel HTTP server"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:88
+msgid ""
+"Better error handling and user feedback when HTTP client tunnel is disabled"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:89
+msgid "More changes to improve floodfill capacity"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:90
+msgid "New configuration for forcing IPv4 (only) to firewalled on /confignet"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:91
+msgid "New configuration for floodfill on /configadvanced"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:92
+msgid "Show separate IPv4 and IPv6 status in summary bar when appropriate"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/0.9.20-Release.rst:93
+msgid "Better handling of corrupt SSU packets"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:1
+msgid ""
+"==============\n"
+"Toronto Meetup\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:10
+msgid "I2P Meetup in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:12
+msgid ""
+"The I2P team is proud to announce that we are going to host a meetup in Toronto on August 15-16.\n"
+"A number of members of our community will be attending and are going to host talks, workshops and discussions about and relating to I2P. This event is not just for I2P people though, it's meant for everyone."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:17
+msgid ""
+"If you're curious about I2P, interested in privacy/cryptography/anonymity or just want to come by and talk to us, please do. This is an event for everyone. If you're not familiar with any of these topics, come by anyway and we'll show you how I2P works and what you can do with it.\n"
+"\n"
+"The event is entirely free, you don't need to sign up or register."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:23
+msgid ""
+"The meetup couldn't have been arranged without our friends at `Toronto "
+"Crypto `_ which have been helping us organize "
+"the event, and our friends at `Hacklab `_ which are "
+"providing us with a very nice space."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:27
+#: i2p2www/blog/2015/07/16/I2PCon.rst:126
+msgid "If you have any questions, feel free to contact us on `@geti2p`_."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:34
+#: i2p2www/blog/2015/07/16/I2PCon.rst:38
+msgid ""
+"Details\n"
+"======="
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:39
+#: i2p2www/blog/2015/07/16/I2PCon.rst:57
+msgid ""
+"Location\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:44
+msgid "`Hacklab `_ at 1266 Queen Street West, Toronto."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:48
+msgid ""
+"Day 1, August 15 - 3PM\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:53
+msgid ""
+"The focus will be on an introduction to topics surrounding I2P, privacy and "
+"anonymity online. People of all backgrounds and knowledge levels are welcome"
+" to attend."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:57
+msgid "I2P Presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:58
+msgid "Crypto party introduction"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:59
+msgid "Crypto party"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:61
+msgid ""
+"The crypto party will contain a number of stations where privacy/anonymity "
+"software will be demoed. The goal is to provide people with the tools they "
+"need to communicate securely."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:65
+msgid "`Vuze/I2P`_ - Downloading torrents anonymously"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:66
+msgid "`Veracrypt`_ - Encrypt your data"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:67
+msgid "`I2PBote`_ - Anonymous decentralized email"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:68
+msgid "Your station idea here"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:70
+msgid ""
+"We're currently looking for help staffing the stations. If you want to help "
+"out, you can! Bring a monitor/laptop and run a station. The station could be"
+" any of the ones listed above, or any other privacy/anonymity related one "
+"you would like to run. Please contact us at `@geti2p`_ if you're interested."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:79
+msgid ""
+"Day 2, August 16 - 1PM\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:84
+msgid ""
+"The focus will be on in-depth topics surrounding I2P, the roadmap and "
+"development. Anyone is welcome to attend, but the content will be somewhat "
+"technical."
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:88
+msgid "I2P Technical presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:89
+msgid "Technical discussion"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:90
+msgid "I2P App Dev Into"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:91
+msgid "I2PD presentation"
+msgstr ""
+
+#: i2p2www/blog/2015/06/02/Toronto-Meetup.rst:92
+msgid "I2P on Android"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:1
+msgid ""
+"======\n"
+"I2PCon\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:10
+msgid "I2PCon will be in Toronto on August 15-16."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:13
+msgid ""
+"I2PCon is the first event of its kind. It has two short term goals. Where the\n"
+"first one is to provide the general public with an event where knowledge about\n"
+"privacy and privacy concerns can be obtained. The second goal is to further the\n"
+"I2P project and its community. This will take the shape of technical discussions\n"
+"about cryptography, anonymity and I2P centric topics."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:21
+msgid ""
+"There is a larger and more long-term goal of this event, and it is to build a\n"
+"commnutiy of privacy-conscious individuals. By connecting people who recognize\n"
+"the importance of privacy, we would like to provide a forum where this community\n"
+"can grow."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:28
+msgid ""
+"The idea for this event was first spawned by our wonderful friends at\n"
+"`Toronto Crypto`_. The venue and everything relating to it is provided by\n"
+"`Hacklab`_. Without either of them this event would not have been possible, so\n"
+"thank you both."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:43
+msgid ""
+"Cost\n"
+"----"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:48
+msgid ""
+"I2PCon is entirely free to attend! We ask you to register `here`_, to give us\n"
+"an estimate of how many people will be attending. No identifying information has\n"
+"to be given in order to register, but if you have any concerns, please let us\n"
+"know."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:55
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:45
+msgid "`here`"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:62
+msgid "`Hacklab`_ at 1266 Queen Street West, Unit #6, Toronto."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:66
+msgid ""
+"Venue\n"
+"-----"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:71
+msgid "Power and WiFi access will be provided by `Hacklab`_."
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:76
+msgid ""
+"Schedule\n"
+"========"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:81
+msgid ""
+"Day 1, August 15\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:98
+msgid ""
+"Day 2, August 16\n"
+"----------------"
+msgstr ""
+
+#: i2p2www/blog/2015/07/16/I2PCon.rst:121
+msgid ""
+"I'm confused and would like some answers\n"
+"========================================"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.21 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:10
+msgid "0.9.21 with performance improvements and bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:12
+msgid ""
+"0.9.21 contains several changes to add capacity to the network, increase the efficiency of the floodfills,\n"
+"and use bandwidth more effectively.\n"
+"We have migrated the shared clients tunnels to ECDSA signatures and added a DSA fallback\n"
+"using the new \"multisession\" capability for those sites that don't support ECDSA."
+msgstr "0.9.21 包含了ㄧ些改變。增加網路的容量,增進Flood Fill運算的效率,也改善頻寬的使用效率。\n我們把客戶端的分享隧道,轉移到 ECDSA橢圓曲線數位簽名演算法, 也使用『多協議』讓不支援ECDSA的網站有繼續使用DSA的退路。"
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:19
+msgid ""
+"The speakers and the schedule of the I2PCon in Toronto 2015 have been announced.\n"
+"Have a look on the `I2PCon page`_ for details.\n"
+"Reserve your seat on `Eventbrite`_."
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:40
+msgid "Add multisession support for dual-signature crypto on the same tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:41
+msgid "Use multisession for shared clients"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:42
+msgid "Increase default outbound bandwidth limit to 60 KBps"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:43
+msgid "Increase default maximum participating tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:44
+msgid ""
+"Floodfills will send database store acks directly if connected, for "
+"efficiency"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:45
+msgid "Set TCP keepalive on I2CP and SAM sockets"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:46
+msgid "More efficient decompression in HTTP proxy, use less threads"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:47
+msgid "Add support for fast extensions in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:48
+msgid "i2psnark only autostarts torrents that were running previously"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:49
+msgid "Add support for translated console news"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:54
+msgid "SSU fixes to compete better with NTCP for bandwidth when limited"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:55
+msgid "Fixes to prevent SSU stalls"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:56
+msgid ""
+"Wait for outbound tunnels before sending first leaseset to client, to "
+"prevent dropping first message"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:57
+msgid "Clean up resources correctly when SAM stops"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:58
+msgid "Better error handling and notification when HTTP proxy is not running"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:59
+msgid "More i2ptunnel fixes at startup and shutdown of tunnels"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:60
+msgid "Fix total_size in i2psnark metadata message"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:61
+msgid "Restore dates in console news headers"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:62
+msgid "Several I2CP fixes"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:67
+msgid "Use same session for naming lookups in I2PSocketEepGet"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:68
+msgid "Increase max bandwidth to 16 MBps, add larger Bloom filter"
+msgstr ""
+
+#: i2p2www/blog/2015/07/31/0.9.21-Release.rst:69
+msgid ""
+"New floodfills will send their info to nearby floodfills to speed "
+"integration"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:1
+msgid ""
+"============================\n"
+"I2PCon: Mission Accomplished\n"
+"============================"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:10
+msgid "I2PCon: Mission Accomplished"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:13
+msgid ""
+"I2PCon has been a giant success. For us, the I2P contributors, it represents a\n"
+"leap forward in terms of what we're capable of pulling off as a community, how we\n"
+"communicate the usecases of I2P and reach out to privacy conscious individuals.\n"
+"\n"
+"By arranging this event, we've also grown our community. People who've previously\n"
+"only lurked on our irc channels, or run our software or possibly hadn't even heard\n"
+"of I2P are now a part of our comminuty.\n"
+"\n"
+"This event has been our first active step towards building a large and inclusive\n"
+"community, and as such it's been great success."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:27
+msgid ""
+"Minutiae\n"
+"========\n"
+"On day 2 we had two short discussion sessions. A more general discussion and a roadmapping discussion.\n"
+"\n"
+"The minutiae can be found here: `I2P Roadmap session minutiae`_ and `I2P Discussion session minutiae`_."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:36
+msgid ""
+"Photos\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:44
+msgid "The learn how to setup I2P crypto party station"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:49
+msgid "The learn how use I2P and Vuze party station"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:54
+msgid "David Dagons wonderful talk"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:56
+msgid ""
+"Thanks\n"
+"======"
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:61
+msgid ""
+"We've had some wonderful speakers, from both inside- and outside of our community.\n"
+"\n"
+"`David Dagon`_ talked to us about the way forward and how I2P could handle potential abuse.\n"
+"\n"
+"`Lance James`_ - the creator of our predecessor iip - said Hi and gave us his thoughts about how far I2P has come.\n"
+"\n"
+"`Nick Johnston`_ gave us a wonderful talk about why privacy matters and why you should care."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:71
+msgid ""
+"I would also like to thank the speakers from our community. `psi`_, `@str4d`_ and `zzz`_ who all had\n"
+"wonderful talks. Improving our ability to inform people about I2P is something that\n"
+"is going to be important for us going forward."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:77
+msgid ""
+"I would like to thank `Sadie`_ and Siew for helping us out with marketing and graphics.\n"
+"Without you I2PCon would've been a very different event."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:82
+msgid ""
+"I would like to thank `@chlorelium`_ and `Hacklab`_ for being the most "
+"wonderful of hosts."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:86
+msgid ""
+"I would like to thank `@darknetj`_, P and `@hizeena`_ of `Toronto Crypto`_ "
+"for their help during the event."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:90
+msgid ""
+"I would like to thank `@z3r0fox`_ for doing a wonderful job with the AV and doing all of the post-production\n"
+"work for the videos of all the talks."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:95
+msgid ""
+"I would like to thank `@killyourtv_i2p`_ for hosting a very popular crypto "
+"party station."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:99
+msgid ""
+"Thanks to our new favorite journalist `@robinlevinson`_, for showing an interest in our cause and\n"
+"educating yourself about the technologies involved."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:104
+msgid ""
+"Thanks for all the pizza `@Panago_Pizza`_, it keept us going. You very much "
+"made this event better."
+msgstr ""
+
+#: i2p2www/blog/2015/08/20/I2PCon_Mission_Accomplished.rst:108
+msgid ""
+"Finally I would like to thank everyone else who just showed up to the event and helped out in any way\n"
+"they could.\n"
+"ComradeNosebleed, LazyGravy, `cacapo`_, Xmz, ZeroRax, `echelon`_, it was most excellent to hang out\n"
+"with you."
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.22 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:10
+msgid "0.9.22 with bug fixes and start of Ed25519 migration"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:12
+msgid ""
+"0.9.22 contains fixes for i2psnark getting stuck before completion, and begins the migration of router infos to new, stronger Ed25519 signatures.\n"
+"To reduce network churn, your router will have only a small probability of converting to Ed25519 at each restart.\n"
+"When it does rekey, expect to see lower bandwidth usage for a couple of days as it reintegrates into the network with its new identity.\n"
+"If all goes well, we will accelerate the rekeying process in the next release."
+msgstr "0.9.22包含了修復i2psnark未完成便卡住的問題,和開始將路由資訊轉移至新的、更強的Ed25519簽署。\n為了減少網路擾動,您的路由器每次重啟只有一些機率會轉換至Ed25519。\n一旦密鑰更新了,您可以期待在幾天內看到更少的頻寬使用,因為它用了新身分重新融合到了網路中。\n如果一切順利,我們會在下個釋出版本加速更新密鑰的速率。"
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:19
+msgid ""
+"I2PCon Toronto was a big success!\n"
+"All the presentations and videos are listed on the `I2PCon page`_."
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:30
+msgid "`I2PCon page`"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:38
+msgid "Start migration to Ed25519 router info signatures"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:39
+msgid "Convert i2psnark destinations to Ed25519 signatures"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:44
+msgid ""
+"Fix i2psnark getting stuck before download complete, and not deleting temp "
+"files"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:45
+msgid ""
+"Fix starting of torrents added by copying torrent file to i2psnark directory"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:46
+msgid "Fix UPnP 'content not allowed in trailing section' error"
+msgstr ""
+
+#: i2p2www/blog/2015/09/12/0.9.22-Release.rst:47
+msgid "Fix excluded SSL ciphers in console"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:1
+msgid ""
+"==================\n"
+"Community Outreach\n"
+"=================="
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:10
+msgid "A start to more frequent community status reports."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:12
+msgid "Meta"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:14
+msgid ""
+"Greetings!\n"
+"This is the first in a long series of blogs to help the community see what is happening in the I2P community.\n"
+"Since many awesome events are happening *inside* the network, we think it will be worthwhile to talk about some of activities here."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:20
+msgid "A Call for Feedback"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:22
+msgid ""
+"Let's face it -- our console needs improvement.\n"
+"Our site could use an update as well.\n"
+"We are looking for feedback on how to improve the usability of I2P for new and existing users!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:28
+msgid ""
+"Any and all feedback is welcome.\n"
+"Please contact `@GetI2P`_, `@str4d`_, or `@YrB1rd`_.\n"
+"If you don't feel comfortable using Twitter, we are always available via the in-network IRC channel.\n"
+"You don't have to be a long time user.\n"
+"We want to hear from all sorts of people!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:40
+msgid "Developer Meeting Synopsis"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:42
+msgid ""
+"On 03 November there was an I2P developer meeting (`log`_).\n"
+"This meeting focused on adding new links to the router console, preparation for CCC, finding a replacement for forum.i2p, and website improvements."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:49
+msgid ""
+"The consensus was to not add dogecoindark.i2p.\n"
+"There are concerns about usability due to many images being included on the page.\n"
+"Exchanged.i2p is conditionally added, as long as the maintainer adds a disclaimer on the site.\n"
+"I2Pwiki.i2p (a backup of ugha.i2p, an older wiki) was accepted, as was lenta.i2p (a russian news site)."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:56
+msgid ""
+"str4d proposed blocking off the \\*.i2p.i2p namespace so they can be used for developer's services.\n"
+"He also suggested a more formalized technical proposal system, with more prominence on the main website."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:61
+msgid ""
+"The I2P Team is going to be in Hamburg, Germany for the 32nd Chaos Computer Congress.\n"
+"More details are to come on this, but we can promise there will be stickers."
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:66
+msgid "General Announcements"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:68
+msgid ""
+"Thank you to `TorontoCrypto`_ for hosting the newest I2P reseed server!"
+msgstr ""
+
+#: i2p2www/blog/2015/11/15/Community-Outreach.rst:74
+msgid ""
+"Translation deadline Thursday, 12 November, translators please update. All "
+"translations are done via `Transifex`_ ."
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.23 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:10
+msgid ""
+"0.9.23 contains a variety of bug fixes, and some minor improvements in "
+"I2PSnark"
+msgstr "0.9.23 版本修正個數個程式錯誤,並且對於 I2PSnark 做了些許的改良"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:12
+msgid ""
+"Hello I2P! This is the first release signed by me (str4d), after 49 releases\n"
+"signed by zzz. This is an important test of our redundancy for all things,\n"
+"including people."
+msgstr "嗨,I2P!這是在由 zzz 簽署發行的四十九個版本之後,由我(str3d)簽署的第一份發行版。這是個是對於所有人員與事物的重要冗餘測試。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:18
+msgid ""
+"Housekeeping\n"
+"============"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:23
+msgid ""
+"My signing key has been in router updates for over two years (since 0.9.9), so\n"
+"if you are on a recent version of I2P this update should be just as easy as\n"
+"every other update. However, if you are running an older version than 0.9.9, you\n"
+"will first need to manually update to a recent version. Update files for recent\n"
+"versions `can be downloaded here`_, and instructions on how to manually update\n"
+"`are provided here`_. Once you have manually updated, your router will then find\n"
+"and download the 0.9.23 update as usual."
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:33
+msgid "`can be downloaded here`"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:35
+msgid "`are provided here`"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:37
+msgid ""
+"If you installed I2P via a package manager, you are not affected by the change,\n"
+"and can update as usual."
+msgstr "若您的 I2P 是經用套件管理系統安裝的話,那您並不會被這次變更所影響,可以如往常一般繼續更新。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:42
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:12
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:12
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:19
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:12
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:12
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:12
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:12
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:12
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:12
+#: 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.rst:12
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:12
+msgid ""
+"Update details\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:47
+msgid ""
+"The migration of RouterInfos to new, stronger Ed25519 signatures is going well,\n"
+"with at least half of the network already estimated to have rekeyed. This\n"
+"release accelerates the rekeying process. To reduce network churn, your router\n"
+"will have a small probability of converting to Ed25519 at each restart. When it\n"
+"does rekey, expect to see lower bandwidth usage for a couple of days as it\n"
+"reintegrates into the network with its new identity."
+msgstr "路由資訊的遷移-更強的Ed25519簽署,進行得很順利,估計至少一半的網路已經更新密鑰了。\n這次釋出可以加快更新密鑰。為了減緩網路擾動,您的路由器在每次重啟時,有一些機率轉換到Ed25519。\n一旦密鑰更新了,您可以期待在幾天內看到更少的頻寬使用,因為它用了新身分重新融合到了網路中。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:56
+msgid ""
+"Note that this will be the last release to support Java 6. Please update to\n"
+"Java 7 or 8 as soon as possible. We are already working to make I2P compatible\n"
+"with the upcoming Java 9, and some of that work is in this release."
+msgstr "請注意,這是支援 Java 6 的最後一個版本,煩請盡速將您的 Java 更新到 7 或 8 版本。目前我們已經在處理 I2P 與 Java 9 的相容性問題,部分的成果會隨著此次的改版釋出。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:62
+msgid ""
+"We have also made some minor improvements in I2PSnark, and added a new page in\n"
+"the routerconsole for viewing older news items."
+msgstr "我們也有針對 I2PSnark 做了一些改善,也在路由控制台新增了一個可以查看舊聞的頁面。"
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:77
+msgid "Accelerate transition to Ed25519"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:82
+msgid ""
+"Fix some bugs soft restarting after a large clock shift (e.g. resume) (but "
+"more to do)"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:83
+msgid ""
+"Fix streaming retransmission timers that were dying, and related timer bugs"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:84
+msgid "Fix streaming connections rejected while tunnel is opening"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:85
+msgid "Fix rare i2psnark and UPnP deadlocks"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:86
+msgid "Fix lifetime participating bandwidth display in console"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:91
+msgid "Increase default outbound exploratory tunnel length to 3"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:92
+msgid ""
+"Use max of 2 not-failing peers in exploratory tunnels to improve build "
+"success"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:93
+msgid "Add support for hostnames prefixed with \"www.\""
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:94
+msgid ""
+"Store news feed items separately on disk, show on new /news page, limit "
+"display on home page to 2"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:95
+msgid "Increase probability of rekeying to EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:96
+msgid "Detect for broken ECDSA support in Gentoo"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:97
+msgid ""
+"Console: Add a Java 6 warning, this is the last release to support Java 6"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:98
+msgid "Changes to prepare for Java 9 compatibility"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:99
+msgid ""
+"Pass Accept-Encoding header through client and server proxies, to allow end-"
+"to-end compression"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:102
+msgid "Increase piece size, piece count, and file count limits"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:103
+msgid "Save added and completed times"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:104
+msgid "Save magnet parameters across restart"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:105
+msgid ""
+"Don't delete .torrent file on errors at startup, rename to .torrent.BAD"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:106
+msgid "Add recheck, start, stop buttons on details pages"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:107
+msgid "Add option to disable \"smart sort\""
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:109
+msgid "Speed up IP address validation"
+msgstr ""
+
+#: i2p2www/blog/2015/11/19/0.9.23-Release.rst:110
+msgid "Separate streaming blacklists for ECDSA and EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:1
+msgid ""
+"=========\n"
+"CCC Recap\n"
+"========="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:10
+msgid "CCC!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:12
+msgid ""
+"Attending: Sadie, Colin, lazygravy, zzz, hottuna, kytv, cacapo, and eche|on."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:16
+msgid ""
+"Start\n"
+"=====\n"
+"The project has had another successful year at CCC.\n"
+"We would like to thank the volunteers at `32C3`_ for all of their help in organizing this event and for being accommodating hosts for us.\n"
+"Many I2P contributors were able to attend this year's Congress due to many of the generous donations from supporters like you to the project.\n"
+"If you would like to fund I2P, please see `our donation page`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:25
+msgid "`32C3`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:26
+msgid "`our donation page`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:28
+msgid ""
+"Just like previous years we were located in Noisy Square, located near the EFF's table.\n"
+"This proved to be an ideal spot for us as our table was almost always busy with current and new users who were interested in I2P, many of whom we wouldn't have otherwise had the ability to talk to."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:62
+msgid ""
+"Reseed Status\n"
+"============="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:67
+msgid "Let's get more reseeds!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:71
+msgid ""
+"If you don't know what a reseed server is, it is first the connection new routers use to find peers.\n"
+"There was a lot of discussion around the current status of the reseed network right now.\n"
+"As always, more reseed operators are needed!\n"
+"If you would like to strengthen the reseed infrastructure, (or if you're talented with Go) email `backup -at- i2pmail.org`_."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:78
+msgid "`backup -at- i2pmail.org`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:80
+msgid ""
+"Sybil Detection (beta)\n"
+"======================"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:85
+msgid ""
+"Due to the decentralized nature of I2P detecting Sybil attacks is not as straight forward as on other networks (i.e. Tor).\n"
+"To mitigate this zzz has been working on a new router-based Sybil detection tool.\n"
+"To be brief, the tool runs in the router, and collects information on floodfills your router is currently aware of.\n"
+"Currently the tool is mainly collecting a baseline and does not act on any of the information it is collecting.\n"
+"Expect to see a writeup on this more as 0.9.25 or 0.9.26 approaches, as it is still in active development"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:93
+msgid ""
+"Development Meeting\n"
+"==================="
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:98
+msgid ""
+"On the 30th we held an in person `meeting`_ at our table.\n"
+"The meeting focused on organizationally preparing for more project management, and public relations (both from Sadie)."
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:103
+msgid "`meeting`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:105
+msgid ""
+"We discussed how much of the work done on I2P is lost in the commits and there is not much to see for our users.\n"
+"To remedy this lazygravy plans on preparing a series of posts explaining some technical topics in I2P.\n"
+"The initial ideas that we discussed writing posts on are what encrypted lease sets are, why different tunnel types are needed, and some observations seen in `I2Spy`_.\n"
+"But these are just the start and we would like to hear feedback on topics we should write about!"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:112
+msgid "`i2spy`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:114
+msgid ""
+"Meeting (Future)\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:119
+msgid "There will be a `another meeting`_ on 2 Feburary 2016 to discuss:"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:123
+msgid "Review of assigned tasks from 30 December meeting"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:124
+msgid "Project meeting plan for 2016"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:125
+msgid "GMP 6 readiness"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:126
+msgid "A proposal for a code of conduct"
+msgstr ""
+
+#: i2p2www/blog/2016/01/23/32C3.rst:128
+msgid "`another meeting`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.24 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:10
+msgid "0.9.24 contains a variety of bug fixes and performance enhancements"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:17
+msgid ""
+"0.9.24 contains a new version of SAM (v3.2) and numerous bug fixes and efficiency improvements.\n"
+"Note that this release is the first to require Java 7.\n"
+"Please update to Java 7 or 8 as soon as possible.\n"
+"Your router will not automatically update if you are using Java 6."
+msgstr "0.9.24 包含了新版的 SAM(v3.2) 和許多的漏洞修復,以及效率的增進。\n注意這是首次需要Java 7的釋出版本。\n請盡速升級到Java 7或8。\n因為若您使用Java 6,您的路由器便不會自動更新。"
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:24
+msgid ""
+"To prevent the problems caused by the ancient commons-logging library, we have removed it.\n"
+"This will cause very old I2P-Bote plugins (0.2.10 and below, signed by HungryHobo) to crash if they have IMAP enabled.\n"
+"The recommended fix is to replace your old I2P-Bote plugin with the current one signed by str4d.\n"
+"For more details, see `this post`_."
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:31
+msgid "`this post`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:33
+msgid ""
+"We had a great `32C3 Congress`_ and are making good progress on our 2016 project plans.\n"
+"Echelon gave a talk on I2P's history and current status, and his slides are `available here`_ (pdf).\n"
+"Str4d attended `Real World Crypto`_ and gave a talk on our crypto migration, his slides are `here`_ (pdf)."
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:39
+msgid "`32C3 Congress`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:41
+msgid "`available here`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:43
+msgid "`Real World Crypto`"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:57
+msgid "Java 7 now required"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:58
+msgid ""
+"SAM 3.2, with several new advanced features, command parser improvements, "
+"and lots of bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:59
+msgid "Router Family"
+msgstr "路由器家族"
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:60
+msgid "Commons logging removed"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:65
+msgid "Fix HTML escaping in the console plugin table"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:66
+msgid "Fix rare deadlocks in the router"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:67
+msgid "Fix the tunnel build Bloom filter"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:68
+msgid ""
+"Don't remove tunnel on next-hop failure indication from transport, it isn't "
+"reliable"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:69
+msgid "Fix formatting in summary bar to prevent overflow"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:70
+msgid ""
+"Fix console links in i2ptunnel error pages when on nonstandard host/port"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:71
+msgid ""
+"Don't query floodfills whose version is too old to support encrypted replies"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:72
+msgid "Reduce out-of-order delivery in SSU"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:73
+msgid "Fix a rare NPE in the tunnel build handler"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:78
+msgid "Listen for Windows Service shutdown events to shutdown cleanly"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:79
+msgid "Fix some IPv6 issues on Windows"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:80
+msgid "Change Jetty request logging from b64 to b32"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:81
+msgid ""
+"New 'family' indication in netdb, don't use two of the same family in a "
+"tunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:82
+msgid "New overview picture in SusiDNS"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:83
+msgid "Close connection faster if it's for a rejected tunnel request"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:84
+msgid "Use SSU extended options field for session request message"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:85
+msgid "Request introduction in the SSU extended options"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:86
+msgid ""
+"Don't offer to introduce unless requested, to introduce only those that need"
+" it"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:87
+msgid "Experimental Sybil analysis tool, requires routerconsole.advanced=true"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:88
+msgid "Persist some profile netdb stats that weren't being saved"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:89
+msgid "Memory reduction and other efficiency improvements throughout"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:90
+msgid "Increase several limits in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:91
+msgid "New streaming unit tests"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:92
+msgid "Fix some SSU stats on /peers to be consistent with NTCP"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:93
+msgid "Change default sig type for new i2ptunnels to Ed25519"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:94
+msgid "Increase router rekey probability at startup again"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:95
+msgid "New Chinese (Taiwan) translation"
+msgstr ""
+
+#: i2p2www/blog/2016/01/27/0.9.24-Release.rst:102
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:73
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:93
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:70
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:100
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:74
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:99
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:66
+#: 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.rst:76
+#: i2p2www/blog/2018/08/23/0.9.36-Release.rst:70
+msgid "`Full list of fixed bugs`"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.25 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:10
+msgid "0.9.25 contains SAM 3.3, QR codes, and bug fixes"
+msgstr "0.9.25版包含了 SAM 3.3,QR codes,和錯誤修復"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:17
+msgid ""
+"0.9.25 contains a major new version of SAM, v3.3, to support sophisticated multiprotocol applications.\n"
+"It adds QR codes for sharing hidden service addresses with others,\n"
+"and \"identicon\" images for visually distinguishing addresses."
+msgstr "0.9.25包含了SAM的重要新版本-v3.3,支援複雜多協議的應用。\n它加入了QR codes以便與他人分享隱藏伺服的地址,\n還有可以用視覺區別地址的\"身分圖\"。"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:23
+msgid ""
+"We've added a new \"router family\" configuration page in the console,\n"
+"to make it easier to declare that your group of routers is run by a single person.\n"
+"There are several changes to increase the capacity of the network and hopefully improve tunnel build success."
+msgstr "我們在控制台的配置頁面加上\"路由家族\",\n可以更簡單的聲明您的路由器群組是由單人運行。\n有些改變是為了增加網路的容量,希望能增進隧道建置的成功。"
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:39
+msgid "Display of identicons and QR codes in address book and i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:40
+msgid "SAM v3.3 with advanced features"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:41
+msgid "Configuration page for router family"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:42
+msgid "Custom icons for plugins"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:43
+msgid "Internal implementation of self-signed certificate generation"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:44
+msgid "Add i2ptunnel http server options to block by referer or user-agent"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:49
+msgid "IRC server tunnel default fix to help reliability"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:50
+msgid "Don't wait until a lease expires to switch to a new on"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:55
+msgid "Preliminary support for certificate revocations"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:56
+msgid "Preliminary support for storing EdDSA and ElGamal keys in keystores"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:57
+msgid "More efficient signing and verification with EdDSA"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:58
+msgid "Increase default connection limits"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:59
+msgid "Increase default inbound bandwidth"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:60
+msgid "Increase max files per torrent in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:61
+msgid "Add more sanity checks to detect bad system clock"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:62
+msgid "Improve news styling in console"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:63
+msgid "Improve certificate blacklist implementation"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:64
+msgid "Faster disconnect after publishing router info to floodfill"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:65
+msgid "Smooth out the dropping of idle SSU sessions"
+msgstr ""
+
+#: i2p2www/blog/2016/03/22/0.9.25-Release.rst:66
+msgid "Add X-Content-Type-Options headers in console"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:1
+msgid ""
+"==============\n"
+"I2P Summer Dev\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:10
+msgid ""
+"We are pleased to announce that this summer, I2P will be embarking on a "
+"development program aimed at improving the privacy software ecosystem for "
+"both developers and users."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:12
+msgid ""
+"Over the last few years, the need for users to be in control of their own data\n"
+"has become increasingly apparent. Some excellent progress had been made in this\n"
+"regard with the rise of messaging apps like Signal_, and file storage systems\n"
+"like Tahoe-LAFS_. The ongoing work of `Let's Encrypt`_ to bring HTTPS to the\n"
+"whole world is steadily gaining traction."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:20
+msgid ""
+"But building privacy and anonymity into applications is not trivial. Much of the\n"
+"software people use every day was not designed to be privacy-preserving, and the\n"
+"tools developers have available are generally not easy to work with. The\n"
+"recently-published OnionScan_ survey gives some insight into just how easy it is\n"
+"for even technical users to mis-configure their services, completely undermining\n"
+"their intentions."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:35
+msgid ""
+"Helping developers help their users\n"
+"==================================="
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:40
+msgid ""
+"We are pleased to announce that this summer, I2P will be embarking on a\n"
+"development program aimed at improving the privacy software ecosystem. Our goal\n"
+"is to make life easier both for developers wanting to leverage I2P in their\n"
+"applications, and for users trying to configure and run their apps through I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:47
+msgid ""
+"We will be focusing our time this summer into three complementary areas:"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:51
+msgid ""
+"June: APIs\n"
+"----------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:56
+msgid ""
+"In June, we will be updating the various libraries that exist for interfacing\n"
+"with I2P. We have made significant progress this year on extending our SAM_ API\n"
+"with additional features, such as support for datagrams and ports. We plan to\n"
+"make these features easily accessible in our C++ and Python libraries."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:63
+msgid ""
+"We will also soon be making it much easier for Java and Android developers to\n"
+"add I2P support to their applications. Stay tuned!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:70
+msgid ""
+"July: Apps\n"
+"----------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:75
+msgid ""
+"In July we will be working with applications that have expressed interest in\n"
+"adding support for I2P. There are some really neat ideas being developed in the\n"
+"privacy space right now, and we want to help their communities leverage over a\n"
+"decade of research and development on peer-to-peer anonymity. Extending these\n"
+"applications to work natively over I2P is a good step forward for usability, and\n"
+"in the process will improve how these applications think about and handle user\n"
+"information."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:85
+msgid ""
+"August: Plugins\n"
+"---------------"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:90
+msgid ""
+"Finally, in August we will turn out attention to the apps we bundle inside I2P,\n"
+"and the wider array of plugins. Some of these are due for some love, to make\n"
+"them more user-friendly - as well as fix any outstanding bugs! We hope that\n"
+"longtime I2P supporters will enjoy the outcome of this work."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:98
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:124
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:114
+msgid ""
+"Take part in Summer Dev!\n"
+"========================"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:103
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:129
+msgid ""
+"We have many more ideas for things we'd like to get done in these areas. If\n"
+"you're interested in hacking on privacy and anonymity software, designing usable\n"
+"websites or interfaces, or writing guides for users: come and chat with us on\n"
+"IRC or Twitter! We are always happy to \"see\" new \"faces\" in our community, both\n"
+"inside and outside I2P. We'll be sending I2P stickers out to all new\n"
+"contributors taking part (or possibly other pending I2P goodies)!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:112
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:138
+msgid ""
+"Likewise, if you are an application developer who wants a hand with integrating\n"
+"I2P, or even just to chat about the concepts or details: get in touch! If you\n"
+"want to get involved in our July Apps month, contact `@GetI2P`_, `@i2p`_ or\n"
+"`@str4d`_ on Twitter. You can also find us in #i2p-dev on OFTC or FreeNode."
+msgstr ""
+
+#: i2p2www/blog/2016/06/01/I2P-Summer-Dev.rst:119
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:145
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:130
+msgid ""
+"We'll be posting here as we go, but you can also follow our progress, and share\n"
+"your own ideas and work, with the hashtag `#I2PSummer`_ on Twitter. Bring on the\n"
+"summer!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.26 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:10
+msgid ""
+"0.9.26 contains crypto updates, Debian packaging improvements, and bug fixes"
+msgstr "0.9.26版本包含了密碼部分的更新,改進了 Debian 的安裝包,和修復了錯誤 "
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:12
+msgid ""
+"I2P is now a proposed site on Stack Exchange!\n"
+"Please `commit to using it`_ so the beta phase can begin."
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:17
+msgid "`commit to using it`"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:24
+msgid ""
+"0.9.26 contains a major upgrade to our native crypto library,\n"
+"a new addressbook subscription protocol with signatures,\n"
+"and major improvements to the Debian/Ubuntu packaging."
+msgstr "版本 0.9.26 做了一個重大升級,把軟體原生的密碼加密庫更新了,\n一個帶簽章的新地址簿訂閱協議,\n並對 Debian / Ubuntu 安裝包進行了重大改進。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:30
+msgid ""
+"For crypto, we have upgraded to GMP 6.0.0, and added support for newer processors,\n"
+"which will speed up crypto operations considerably.\n"
+"Also, we are now using constant-time GMP functions to prevent side-channel attacks.\n"
+"For caution, the GMP changes are enabled for new installs and Debian/Ubuntu builds only;\n"
+"we will include them for in-net updates in the 0.9.27 release."
+msgstr "關於軟體的原生密碼加密庫,我們已經升級到 GMP 6.0.0,並增加了對新處理器的支持,\n這將大大加速密碼加密速度。\n此外,我們現在使用GMP功能裡面的 constant-time 來防止旁路攻擊。\n請注意,此次 GMP 更改只針對新安裝和Debian / Ubuntu版本用;\n如果您是使用網路升級,我們將把它包含在0.9.27版本的更新中。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:38
+msgid ""
+"For Debian/Ubuntu builds, we have added dependencies on several packages,\n"
+"including Jetty 8 and geoip, and removed the equivalent bundled code."
+msgstr "對於 Debian / Ubuntu 版本,我們在軟件包裡添加了幾個隨附軟體,\n包括 Jetty 8 和 geoip,並刪除了對應的隨附軟體源代碼。"
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:43
+msgid ""
+"There's a collection of bug fixes also, including a fix for a timer bug\n"
+"that caused instability and performance degradations over time."
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:58
+msgid ""
+"GMP 6.0.0 and jbigi/jcpuid native libraries, enabling significant speedups "
+"on newer architectures, and constant-time crypto operations (new installs "
+"and Debian/Ubuntu builds only, will include in the updates in the next "
+"release, 0.9.27)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:59
+msgid "Addressbook subscription protocol, enabling signed addressbook updates"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:60
+msgid "Generate signed authentication strings for subscriptions in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:61
+msgid ""
+"Enhance hosts blockfile format to allow for multiple destinations per entry"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:62
+msgid "Use system GeoIP database when available"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:63
+msgid ""
+"Remove systray4j.jar from non-Windows installers and Debian/Ubuntu packages"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:64
+msgid ""
+"Remove multiple external libraries from Debian/Ubuntu builds, and add "
+"dependencies on: geoip-database, gettext-base, libgetopt-java, "
+"libjetty8-java, libservlet3.0-java, glassfish-javaee"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:65
+msgid ""
+"Store CRLs received in the news feed, to distribute key revocations when "
+"necessary"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:66
+msgid ""
+"Enhancements to the desktopgui system tray feature, to be enabled by default"
+" in next release"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:67
+msgid "Wrapper 3.5.29 (new non-Windows installs only)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:73
+msgid ""
+"Fix periodic timers not firing after a backwards OS clock shift, which "
+"caused widespread instability and gradual deterioration"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:74
+msgid ""
+"Fix wrapper on FreeBSD 10 (new installs only, see ticket #1118 for manual "
+"fix)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:75
+msgid "Fix NPE on hostname lookup failure in SOCKS 4a"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:76
+msgid ""
+"Fix setting JAVA_HOME on Mac OS X (new installs only, see ticket #1783 for "
+"manual fix)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:77
+msgid "Fix UTF-8 console passwords, and partial fix for usernames"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:78
+msgid "Fix router family configuration form"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:79
+msgid "Fix NTP sending random data in some fields that should be zero"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:85
+msgid "More verification of received NTP packets"
+msgstr ""
+
+#: i2p2www/blog/2016/06/07/0.9.26-Release.rst:86
+msgid ""
+"Rework resource bundle generation for 20x speedup in build time (requires "
+"gettext version 0.19)"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:1
+msgid ""
+"====================\n"
+"I2P on Maven Central\n"
+"===================="
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:10
+msgid "The I2P client libraries are now available on Maven Central!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:12
+msgid ""
+"We're nearly half-way into the APIs month of Summer Dev, and making great\n"
+"progress on a number of fronts. I'm happy to announce that the first of these is\n"
+"complete: the I2P client libraries are now available on Maven Central!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:18
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:47
+msgid ""
+"This should make it much simpler for Java developers to use I2P in their\n"
+"applications. Instead of needing to obtain the libraries from a current install,\n"
+"they can simply add I2P to their dependencies. Upgrading to new versions will\n"
+"similarly be much easier."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:26
+msgid ""
+"How to use them\n"
+"==============="
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:31
+msgid "There are two libraries that you need to know about:"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:35
+msgid "The core I2P APIs; you can use these to send individual datagrams."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:36
+msgid "A TCP-like set of sockets for communicating over I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:38
+msgid ""
+"Add one or both of these to your project's dependencies, and you're good to "
+"go!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:66
+msgid ""
+"For other build systems, see the Maven Central pages for the `core`_ and\n"
+"`streaming`_ libraries."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:71
+msgid ""
+"Android developers should use the `I2P Android client library`_, which contains\n"
+"the same libraries along with Android-specific helpers. I'll be updating it soon\n"
+"to depend on the new I2P libraries, so that cross-platform applications can work\n"
+"natively with either I2P Android or desktop I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:80
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:62
+msgid "`I2P Android client library`"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:83
+msgid ""
+"Get hacking!\n"
+"============"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:88
+msgid ""
+"See our `application development`_ guide for help getting started with these\n"
+"libraries. You can also chat with us about them in #i2p-dev on IRC. And if you\n"
+"do start using them, let us know what you're working on with the hashtag\n"
+"`#I2PSummer`_ on Twitter!"
+msgstr ""
+
+#: i2p2www/blog/2016/06/13/I2P-on-Maven-Central.rst:95
+msgid "application development"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:1
+msgid ""
+"========================\n"
+"Summer Dev roundup: APIs\n"
+"========================"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:10
+msgid ""
+"In the first month of Summer Dev, we have improved the usability of our APIs"
+" for Java, Android, and Python developers."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:12
+msgid ""
+"Summer Dev is in full swing: we've been busy greasing wheels, sanding edges, and\n"
+"tidying the place up. Now it's time for our first roundup, where we bring you up\n"
+"to speed on the progress we are making!"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:18
+msgid ""
+"\n"
+"But first, a big thank you to `Elio Qoshi`_ and `ura`_ for designing us the\n"
+"fantastic logo you see above. It adds a cheerful personality to our development\n"
+"program (and is going to look great on t-shirts)."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:27
+msgid ""
+"APIs month\n"
+"=========="
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:32
+msgid ""
+"Our goal for this month was to \"blend in\" - to make our APIs and libraries work\n"
+"within the existing infrastructure of various communities, so that application\n"
+"developers can work with I2P more efficiently, and users don't need to worry\n"
+"about the details."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:42
+msgid ""
+"The I2P client libraries are now available on `Maven Central`_! See our\n"
+"`previous blog post`_ for full details.\n"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:54
+msgid ""
+"The `I2P Android client library`_ has also been updated to use the new I2P\n"
+"libraries. This means that cross-platform applications can work natively with\n"
+"either I2P Android or desktop I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:61
+msgid "`previous blog post`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:69
+msgid ""
+"The `Twisted`_ plugin ``txi2p`` now supports in-I2P ports, and will work\n"
+"seamlessly over local, remote, and port-forwarded `SAM APIs`_. See its\n"
+"`documentation`_ for usage instructions, and report any issues on `GitHub`_."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:77
+msgid ""
+"The first (beta) version of ``i2psocket`` has been released! This is a direct\n"
+"replacement for the standard Python ``socket`` library that extends it with I2P\n"
+"support over the `SAM API`_. See its `GitHub page`_ for usage instructions, and\n"
+"to report any issues."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:87
+msgid "`documentation`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:89
+msgid "`GitHub page`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:91
+msgid ""
+"Other progress\n"
+"--------------"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:96
+msgid ""
+"zzz has been hard at work on Syndie, getting a headstart on Plugins month. "
+"You can follow his progress on `the development forum thread`_."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:98
+msgid ""
+"psi has been creating an I2P test network using i2pd, and in the process has"
+" found and fixed several i2pd bugs that will improve its compatibility with "
+"Java I2P."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:100
+msgid "`the development forum thread`"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:102
+msgid ""
+"Coming up: Apps month!\n"
+"======================"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:107
+msgid ""
+"We are excited to be working with `Tahoe-LAFS`_ in July! I2P has for a long time\n"
+"been home to one of the `largest public grids`_, using a patched version of\n"
+"Tahoe-LAFS. During Apps month we will be helping them with their ongoing work to\n"
+"add native support for I2P and Tor, so that I2P users can benefit from all of\n"
+"the improvements upstream."
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:115
+msgid ""
+"There are several other projects that we will be talking with about their plans\n"
+"for I2P integration, and helping with design. Stay tuned!"
+msgstr ""
+
+#: i2p2www/blog/2016/07/02/Summer-Dev-roundup-APIs.rst:121
+msgid "`largest public grids`"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.27 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:10
+msgid "0.9.27 contains bug fixes"
+msgstr "0.9.27 版本含錯誤修復"
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:17
+msgid ""
+"0.9.27 contains a number of bug fixes.\n"
+"The updated GMP library for crypto acceleration, which was bundled in the 0.9.26 release for new installs and Debian builds only, is now included in the in-network update for 0.9.27.\n"
+"There are improvements in IPv6 transports, SSU peer testing, and hidden mode."
+msgstr "版本 0.9.27 修復了一些問題。\n之前 0.9.26版本,附加了加速密碼加解密速度的 GMP 庫更新,但那只適用於新安裝和在 Debian 下編譯的軟體,現在 0.9.27 版本可以直接透過網路更新,提升這部分的能力。\n我們也改進了 IPv6 的傳輸能力、SSU peer test 測試和隱藏模式。"
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:23
+msgid ""
+"We updated a number of plugins during I2P Summer and your router will "
+"automatically update them after restart."
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:37
+msgid "GMP 6 (in-net updates)"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:38
+msgid "SSU Peer Testing for IPv6"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:39
+msgid "Add outproxy plugin support for SOCKS"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:40
+msgid "Enable desktop GUI (tray icon) on Windows"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:45
+msgid "Fix reported GMP version when jbigi built as a shared library"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:46
+msgid "Fix SSU peer test happening too frequently"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:47
+msgid "Fix SSU peer test not terminating properly in some cases"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:48
+msgid "Fix bote plugin not working in Debian/Ubuntu builds"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:49
+msgid "Fix rare UPnP NPE when viewing /peers"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:50
+msgid "Fix standalone i2psnark build and configuration"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:51
+msgid "Hidden mode improvements: Enable tunnel testing and use fast peers"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:52
+msgid "Fix possible CSRF in SusiMail"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:53
+msgid "Fix i2psnark exception on bad configured announce URL"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:54
+msgid "Fix layout issues on i2ptunnel registration page"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:55
+msgid "Fix streaming accept() hang when session disconnects"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:60
+msgid "Split up the large /configclients web page into several"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:61
+msgid "Add links to view complete router and wrapper log files"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:62
+msgid "Block 'Proxy' header in i2ptunnel (HTTPoxy)"
+msgstr ""
+
+#: i2p2www/blog/2016/10/17/0.9.27-Release.rst:63
+msgid "Recognize Kaby Lake CPUIDs"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.28 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:10
+msgid "0.9.28 contains bug fixes"
+msgstr "0.9.28 版本含錯誤修正"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:17
+msgid ""
+"0.9.28 contains fixes for over 25 Trac tickets, and updates for a number of bundled software packages including Jetty.\n"
+"There are fixes for the IPv6 peer testing feature introduced last release.\n"
+"We continue improvements to detect and block peers that are potentially malicious.\n"
+"There are preliminary fixes for Java 9, although we do not yet recommend Java 9 for general use."
+msgstr "版本 0.9.28 修復了 25個以上的故障報修,和升級了許多隨附軟體(包括Jetty)。\n增進了 IPv6 最新版本中出現的 peer test 的功能。\n我們對其它可能帶有惡意的主機來的連線,不斷改進偵測和阻止它的能力。\n我們針對Java 9做了一點初級的修復,雖然我們並不推薦在一般情況下使用 Java 9。"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:24
+msgid ""
+"I2P will be at 33C3, please stop by our table and give us your ideas on how to improve the network.\n"
+"We will review our 2017 roadmap and priorities 2017 at the Congress."
+msgstr "I2P 的護法們將會出現在 33C3,請不要只是在外旁觀,請您提供如何將 I2P 做的更好的意見和想法。\n在這次會議裡面,我們將會討論 2017 的項目路線圖和排定優先順序。"
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:49
+msgid "Fix version test for SSU IPv6 peer testing"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:50
+msgid "Fix generation of keys for SSL console"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:51
+msgid "Fix uploader limit in i2psnark"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:52
+msgid "Fix susimail nonce error on login after logout"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:53
+msgid "Fixes for Java 9"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:59
+msgid "Allow Java 9 in packages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:60
+msgid "Add warning for Java 9, not yet recommended"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:61
+msgid "Preliminary fixes for use with Tomcat 8"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:62
+msgid "Improved self-signed certificates"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:63
+msgid "Increase max IPv6 MTU (proposal #127)"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:64
+msgid "Caching of serialized leasesets"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:65
+msgid "Peer selection updates"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:66
+msgid "Restrictions in peer selection for netdb verifies"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:67
+msgid "New advanced netdb search form"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:68
+msgid "Sybil tool enhancements"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:69
+msgid "Blocklist updates in news feed"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:70
+msgid "Support IPv6 in blocklist"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:71
+msgid "Add Java version to jar manifests"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:72
+msgid "Remove dead console home page links"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:73
+msgid "Add initial news to bottom of full news page"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:74
+msgid "Fix periodic re-logging of dup log messages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:75
+msgid "Periodic saving of profiles and i2psnark DHT nodes"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:76
+msgid "Catch rare UPnP exceptions"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:77
+msgid "Add logout button to more susimail pages"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:78
+msgid "Truncate history.txt in installers"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:79
+msgid "Use NTCP even before SSU minimums are met or SSU is broken"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:80
+msgid "Reduce default tunnel build records to 4"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:81
+msgid "Improved IPv6 address selection"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:82
+msgid "Add force-firewalled IPv6 setting"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:83
+msgid "Improved handling of webapps that fail to start"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:84
+msgid "New configuration for test networks"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:85
+msgid "Remove deprecated Sha256Standalone, Syndie 1.105 must upgrade"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:86
+msgid "Actually use a random nonzero byte in ElGamal, as specified"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:87
+msgid "Disallow RSA for netdb entries"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:88
+msgid "Add library jars to jar classpath for Debian builds"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:89
+msgid "Remove old systray code"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:90
+msgid "Fix low-memory warnings without wrapper"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:91
+msgid "Various code consolidation and cleanup"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:92
+msgid "New translations: Galician, Korean"
+msgstr ""
+
+#: i2p2www/blog/2016/12/12/0.9.28-Release.rst:93
+msgid "New translations for some subsytems: Chinese (Taiwan)"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.29 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:10
+msgid "0.9.29 contains bug fixes"
+msgstr "0.9.29 修復了一些bug"
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:17
+msgid ""
+"0.9.29 contains fixes for numerous Trac tickets, including workarounds for corrupt compressed messages.\n"
+"We now support NTP over IPv6.\n"
+"We've added preliminary Docker support.\n"
+"We now have translated man pages.\n"
+"We now pass same-origin Referer headers through the HTTP proxy.\n"
+"There are more fixes for Java 9, although we do not yet recommend Java 9 for general use."
+msgstr "版本 0.9.29 修正了的許多故障申報裡面的問題,包括壓縮信息損壞的解決方法。\n新版本支持 IPv6 上的 NTP。\n我們添加了對 Docker 先期版本的支持。\n我們轉換好了新的線上幫助文件。\n我們現在允許HTTP表頭使用同源參照位址通過 HTTP代理。\n我們修正了許多在Java 9下的問題,雖然我們並不推薦在一般情況下使用Java 9。"
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:36
+msgid "BOB database refactor"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:37
+msgid "Fixes for Java 9, still not recommended for general use"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:38
+msgid "NTP fixes for security and standards"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:39
+msgid "NTP IPv6 support"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:40
+msgid "Don't display very old news in console"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:41
+msgid "Blocklist checking improvements"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:42
+msgid "Add preliminary Docker support"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:43
+msgid "Add Referrer-Policy headers to console"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:44
+msgid "Pass same-origin Referer headers through proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:45
+msgid "Translated man pages"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:50
+msgid "Add support for outproxy plugin to CONNECT proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:51
+msgid "Replace random tunnel keys when rekeying"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:52
+msgid "Fix streaming optional delay and choking"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:53
+msgid "Don't hard fail on message expired error in streaming"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:54
+msgid "Fix javadoc errors"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:55
+msgid "Fix broken unit tests"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:56
+msgid "Ensure i2psnark finishes writing config files at shutdown"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:57
+msgid "Fix rare NPE in AES via NTCP"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:58
+msgid "Disable caching of compressors, in an attempt to fix corruption"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:59
+msgid "Don't close SAM or BOB session on receipt of corrupt compressed data"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:64
+msgid "Add support for ports to CONNECT proxy"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:65
+msgid "Consolidate stream copy code"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:66
+msgid "Consolidate console timer threads"
+msgstr ""
+
+#: i2p2www/blog/2017/02/27/0.9.29-Release.rst:67
+msgid "New streaming test harness"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:1
+msgid ""
+"============================\n"
+"0.9.29 Windows Installer Fix\n"
+"============================"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:10
+msgid "0.9.29 Windows installer fix"
+msgstr ""
+
+#: i2p2www/blog/2017/03/04/0.9.29-Windows-Installer-Fix.rst:17
+msgid ""
+"The 0.9.29 Windows installer posted on our website two days ago fails during install with an Exception.\n"
+"We have fixed the bug and posted the new installer to our website.\n"
+"This does not affect upgrades from previous releases or non-Windows installers.\n"
+"We apologize for the issue."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.30 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:10
+msgid "0.9.30 with Jetty 9"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:17
+msgid ""
+"0.9.30 contains an upgrade to Jetty 9 and Tomcat 8.\n"
+"The previous versions are no longer supported, and are not available in the upcoming Debian Stretch and Ubuntu Zesty releases."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:22
+msgid ""
+"The router will migrate the jetty.xml configuration file for each Jetty website to the new Jetty 9 setup.\n"
+"This should work for recent, unmodified configurations but may not work for modified or very old setups.\n"
+"Verify that your Jetty website works after upgrading, and contact us on IRC if you need assistance."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:28
+msgid ""
+"Several plugins are not compatible with Jetty 9 and must be updated.\n"
+"The following plugins have been updated to work with 0.9.30, and your router should update them after restart:"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:34
+msgid ""
+"The following plugins (with current versions listed) will not work with 0.9.30.\n"
+"Contact the appropriate plugin developer for the status of new versions:"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:40
+msgid ""
+"This release also supports migration of old (2014 and earlier) DSA-SHA1 hidden services to the more-secure EdDSA signature type.\n"
+"See http://zzz.i2p/topics/2271 for further information, including a guide and FAQ."
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:45
+msgid ""
+"Note: On non-Android ARM platforms such as the Raspberry Pi, the blockfile database will upgrade on restart, which may take several minutes.\n"
+"Please be patient."
+msgstr "請注意:在非 Android ARM 平台上(例如Raspberry Pi),Blockfile 資料庫將會在重新啟動時升級,這可能需要幾分鐘的時間。\n請耐心等待!"
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:60
+msgid "Jetty 9, Tomcat 8"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:61
+msgid "Stretch / Zesty support"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:62
+msgid "Migration support for DSA-SHA1 hidden services"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:63
+msgid "ARM (non-Android) router signature type migration"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:64
+msgid "ARM (non-Android) blockfile format migration"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:65
+msgid "Introducer expiration (proposal 133)"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:70
+msgid "Fix disappearing i2psnark start button"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:71
+msgid "Fix saving of libjcpuid.jnilib file on Macs"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:72
+msgid "Fix fallback to 'none' architecture for jbigi"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:73
+msgid "Fixes for multiple destinations in SusiDNS"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:74
+msgid "Fix config directory location in Gentoo"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:75
+msgid "Fix rapid firewalled/not-firewalled transitions"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:76
+msgid "Fix startup crash on very old Android platforms"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:77
+msgid "Fixes for advanced authentication strings in i2ptunnel"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:78
+msgid "Fix exception caused by corrupt stored i2psnark DHT data"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:79
+msgid "Speed up writes of i2psnark files at shutdown"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:84
+msgid "Recognize AMD Ryzen processor"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:85
+msgid "Support for new i2psnark-rpc remote plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:86
+msgid "Build addressbook as a jar, not a webapp"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:87
+msgid "Support client registration in app context"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:88
+msgid "Add support for i2psnark-rpc plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:89
+msgid "Adjust thresholds for probabalistic throttling on slow platforms"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:90
+msgid "Add reset() to I2PSocket API"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:91
+msgid "Add date parameter to subscription authentication strings"
+msgstr ""
+
+#: i2p2www/blog/2017/05/03/0.9.30-Release.rst:92
+msgid "Add bash completion scripts to Debian packages"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:1
+msgid ""
+"================================\n"
+"I2P Summer Dev 2017: MOAR Speed!\n"
+"================================"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:10
+msgid ""
+"This year's Summer Dev will be focused on metrics collection and performance"
+" improvements for the network."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:12
+msgid ""
+"It's that time of year again! We're embarking on our summer development\n"
+"programme, where we focus on a particular aspect of I2P to push it forward. For\n"
+"the next three months, we'll be encouraging both new contributors and existing\n"
+"community members to pick a task and have fun with it!"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:19
+msgid ""
+"`Last year`_, we focused on helping users and developers leverage I2P, by\n"
+"improving API tooling and giving some love to applications that run over I2P.\n"
+"This year, we want to improve the user experience by working on an aspect that\n"
+"affects everyone: performance."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:26
+msgid "`Last year`"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:28
+msgid ""
+"Despite onion-routing networks often being called \"low-latency\" networks, there\n"
+"is significant overhead created by routing traffic through additional computers.\n"
+"I2P's unidirectional tunnel design means that by default, a round trip between\n"
+"two Destinations will involve twelve participants! Improving the performance of\n"
+"these participants will help to both reduce the latency of end-to-end\n"
+"connections [1]_, and increase the quality of tunnels network-wide."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:37
+msgid ""
+"MOAR speed!\n"
+"==========="
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:42
+msgid "Our development programme this year will have four components:"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:46
+msgid ""
+"Measure\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:51
+msgid ""
+"We can't tell if we improve performance without a baseline! We'll be creating a\n"
+"metrics system for collecting usage and performance data about I2P in a\n"
+"privacy-preserving way, as well as porting various benchmarking tools to run\n"
+"over I2P (e.g. iperf3_)."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:60
+msgid ""
+"Optimise\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:65
+msgid ""
+"There's a lot of scope for improving the performance of our existing code, to\n"
+"e.g. reduce the overhead of participating in tunnels. We will be looking at\n"
+"potential improvements to:"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:71
+msgid "Cryptographic primitives"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:72
+msgid ""
+"Network transports, both at the link-layer (NTCP_, SSU_) and end-to-end "
+"(Streaming_)"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:73
+msgid "Peer profiling"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:74
+msgid "Tunnel path selection"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:80
+msgid ""
+"Advance\n"
+"-------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:85
+msgid ""
+"We have several open proposals for improving the scalability of the I2P network\n"
+"(e.g. Prop115_, Prop123_, Prop124_, Prop125_, Prop138_, Prop140_). We will be\n"
+"working on these proposals, and begin implementing the finalised ones in the\n"
+"various network routers. The more feedback these proposals receive, the sooner\n"
+"we can roll them out, and the sooner I2P services can start using them!"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:100
+msgid ""
+"Research\n"
+"--------"
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:105
+msgid ""
+"I2P is a packet-switched network, like the internet it runs on top of. This\n"
+"gives us significant flexibility in how we route packets, both for performance\n"
+"and privacy. The majority of this flexibility is unexplored! We want to\n"
+"encourage research into how various clearnet techniques for improving bandwidth\n"
+"can be applied to I2P, and how they might affect the privacy of network\n"
+"participants."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:119
+msgid ""
+"We have many more ideas for things we'd like to get done in these areas. If\n"
+"you're interested in hacking on privacy and anonymity software, designing\n"
+"protocols (cryptographic or otherwise), or researching future ideas - come and\n"
+"chat with us on IRC or Twitter! We are always happy to welcome newcomers into\n"
+"our community, both inside and outside the I2P network. We'll also be sending\n"
+"I2P stickers out to all new contributors taking part! If you want to chat about\n"
+"a specific idea, contact `@GetI2P`_, `@i2p`_ or `@str4d`_ on Twitter. You can\n"
+"also find us in #i2p-dev on OFTC or Freenode."
+msgstr ""
+
+#: i2p2www/blog/2017/06/01/Summer-Dev-2017-MOAR-Speed.rst:141
+msgid ""
+"Low-latency onion-routing networks are vulnerable to traffic confirmation "
+"attacks, so it would be reasonable to ask whether improved performance "
+"equates to reduced privacy. Some latency can help privacy if applied "
+"correctly via random delays or batching (neither of which are currently "
+"employed by any general-purpose onion-routing network). However, if a tunnel"
+" has uniform overall latency, then traffic confirmation attacks should be "
+"just as viable with or without that latency; thus there should be little "
+"statistical difference when the latency is reduced uniformly."
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.31 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:10
+msgid "0.9.31 with Console Updates"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:17
+msgid ""
+"The changes in this release are much more noticeable than usual!\n"
+"We have refreshed the router console to make it easier to understand,\n"
+"improve accessibility and cross-browser support,\n"
+"and generally tidy things up.\n"
+"This is the first step in a longer-term plan to make the router console more user-friendly.\n"
+"We have also added torrent ratings and comments support to i2psnark."
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:36
+msgid "Console updates"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:37
+msgid "i2psnark ratings and comments"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:43
+msgid "Fix compile error with Jetty 9.2.22"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:44
+msgid "Preserve CRT parameters for RSA private keys"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:45
+msgid "Fix AES NPE on 4-core Rasp. Pi"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:46
+msgid "Fix NPE in GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:47
+msgid "Fix bencoding for scrape response in zzzot plugin"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:48
+msgid "Fix display of default SusiDNS subscription"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:49
+msgid "Fix Debian apparmor profile"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:50
+msgid "Improve handling of read-only i2psnark directory"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:56
+msgid "Hostname lookup caching improvements"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:57
+msgid "Move blockfile support from i2p.jar to addressbook.jar"
+msgstr ""
+
+#: i2p2www/blog/2017/08/07/0.9.31-Release.rst:58
+msgid "Locale-independent Jetty directory listing"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.32 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:10
+msgid "0.9.32 with Console Updates"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:17
+msgid ""
+"0.9.32 contains a number of fixes in the router console and associated webapps (addressbook, i2psnark, and susimail).\n"
+"We have also changed the way we handle configured hostnames for published router infos, to eliminate some network enumeration attacks via DNS.\n"
+"We have added some checks in the console to resist rebinding attacks."
+msgstr "0.9.32 版本,修復了不少的問題,包含路由器控制台和 webapps(地址簿、i2psnark 和 susimail)中發現的問題。\n我們還用了新的方式,處理已經配置好的主機名稱,使得路由器在交換信息時,不會被經由 DNS 的列舉攻擊滲透進來。\n我們也在控制台中添加了一些額外的檢查,來防範重新綁定攻擊。"
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:33
+msgid "Disallow hostnames in router addresses (proposal 141)"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:34
+msgid "Validate Host header in console"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:39
+msgid "Numerous console, i2psnark, susidns, and susimail UI fixes"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:40
+msgid "Fix i2psnark issues with expanding sections in some browsers"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:41
+msgid "Debian packaging fixes"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:46
+msgid "New benchmarking framework"
+msgstr ""
+
+#: i2p2www/blog/2017/11/07/0.9.32-Release.rst:47
+msgid "New Indonesian translation"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.33 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:10
+msgid "0.9.33 with Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:17
+msgid ""
+"0.9.33 contains a large number of bug fixes, including i2psnark, i2ptunnel, streaming, and SusiMail.\n"
+"For those who cannot access the reseed sites directly, we now support several types of proxies for reseeding.\n"
+"We now set rate limits by default in the hidden services manager.\n"
+"For those that run high-traffic servers, please review and adjust the limits as necessary."
+msgstr "0.9.33 修復了大量的問題,包括 i2psnark、i2ptunnel、streaming 和SusiMail。\n對於那些無法直接訪問補種站點的用戶,現在可以利用幾種不同的 proxy 來補種。\n我們在後台服務管理器裡面預設了連接頻率限制。\n如果架設的是高流量服務器,請根據需要查核和調整這個限制。"
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:34
+msgid "DesktopGui: Enable on OSX"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:35
+msgid "i2ptunnel: Set default rate limits"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:36
+msgid "Reseeding: Add support for proxies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:39
+msgid "new installs only"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:45
+msgid "Client: Remove key when stopping or disabling encrypted lease set"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:46
+msgid "Console: Several keyring configuration fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:47
+msgid "EepGet: Detect and reject redirect to https"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:48
+msgid "HTTP Proxy: Fix up characters in URLs not escaped by browsers "
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:49
+msgid "i2psnark: Fix bad completion status on recheck"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:50
+msgid "i2psnark: Prohibit comments unless name is set"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:51
+msgid "i2psnark: Fix crash stopping update torrent"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:52
+msgid "i2ptunnel: Don't erase messages on refresh in UI"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:53
+msgid "i2ptunnel: Propagate reset to and from streaming"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:54
+msgid "i2ptunnel: Add header read timeouts to client proxies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:55
+msgid "i2ptunnel: Prevent changing sig type after creating destination"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:56
+msgid "Jetty: Fix zero length in request log for static content"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:57
+msgid "Router: Reduce router info lock contention"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:58
+msgid "Streaming: Fix loopback hangs"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:59
+msgid "Streaming: Fix bug causing excessive acks"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:60
+msgid "Streaming: Fix connection close after reset"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:61
+msgid "SusiMail: Fix several issues when using multiple browser tabs"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:62
+msgid ""
+"SusuMail: Fix bugs corrupting text attachments and large message bodies"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:63
+msgid "SusiMail: Reject sending messages that exceed server limits"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:64
+msgid "SusiMail: Reduce chance of crashes sending large attachments"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:65
+msgid "SusiMail: Subject line encoding fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:66
+msgid "SusiMail: Fix Cc header"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:67
+msgid "SusiMail: Fix encoding for attachment file names"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:68
+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 ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:70
+msgid "Utils: Use constant-time method to check passwords"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:76
+msgid "Build: Add partial Gradle support"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:77
+msgid "Console: Hide or combine aliased tunnels on tunnels pages"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:78
+msgid "Console: Note encrypted leasesets on netdb page"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:79
+msgid "Console: Use bandwidth setting for burst bandwidth"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:80
+msgid "Console: Refactor multipart form handling to use Servlet 3.0 API"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:81
+msgid "Console: Move most handlers and helpers to the war"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:82
+msgid "Debian: Xenial build is now separate, Zesty+ matches Buster"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:83
+msgid ""
+"Debian: Remove ecj dependency; replace glassfish with libtaglibs where able"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:84
+msgid "Debian: Fix builds for x32"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:85
+msgid "i2ptunnel: Refactor edit jsps"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:86
+msgid "i2ptunnel: Message box improvements"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:87
+msgid "Session Key Manager: Delete excess tag sets"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:88
+msgid "SOCKS: Move client code to core"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:89
+msgid ""
+"Startup: Increase open files ulimit if able, in i2prouter script (new "
+"installs only)"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:90
+msgid "SusiMail: UI tweaks and minor fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:91
+msgid "SusiMail: Use internal sockets to connect to servers"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:92
+msgid "SusiMail: Encoder refactoring"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:93
+msgid "SusiMail: State tracking refactoring"
+msgstr ""
+
+#: i2p2www/blog/2018/01/30/0.9.33-Release.rst:95
+msgid "Update GeoIP data"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:1
+msgid ""
+"===========================\n"
+"High-level Roadmap for 2018\n"
+"==========================="
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:10
+msgid ""
+"2018 will be the year of new protocols, new collaborations, and a more "
+"refined focus."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:12
+msgid ""
+"One of the many things we discussed at 34C3 was what we should focus on for the\n"
+"coming year. In particular, we wanted a roadmap that was clear about what we\n"
+"want to ensure we get done, vs what would be really nice to have, and be able to\n"
+"help onboard newcomers to either category. Here is what we came up with:"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:19
+msgid ""
+"Priority: New crypto(graphy!)\n"
+"-----------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:24
+msgid ""
+"Many of the current primitives and protocols still retain their original designs\n"
+"from circa 2005, and need improvement. We have had a number of open proposals\n"
+"for several years with ideas, but forward progress has been slow. We all agreed\n"
+"that this needs to be our top priority for 2018. The core components are:\n"
+"\n"
+"- New transport protocols (to replace NTCP and SSU). See Prop111_.\n"
+"- New onion-encryption protocol for building and using tunnels.\n"
+"- New NetDB datatypes to enable enhanced Destinations. See Prop123_.\n"
+"- Upgraded end-to-end protocol (replacing ElGamal)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:39
+msgid ""
+"Work on this priority falls into several areas:\n"
+"\n"
+"- Writing proposals.\n"
+"- Writing working implementations of them that we can test.\n"
+"- Reviewing proposals."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:47
+msgid ""
+"We cannot release new protocol specifications across the entire network without\n"
+"work on all of these areas."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:52
+msgid ""
+"Nice-to-have: Code reuse\n"
+"------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:57
+msgid ""
+"One of the benefits of starting the above work now, is that over the last few\n"
+"years there have been independent efforts to create simple protocols and\n"
+"protocol frameworks that achieve many of the aims we have for our own protocols,\n"
+"and have gained traction with the wider community. By leveraging this work, we\n"
+"get a \"force multiplier\" effect:\n"
+"\n"
+"- We benefit from protocol designs, security proofs, and code written by others,\n"
+" reducing the amount of work we need to do for the same level of\n"
+" feature-completeness and security assurances.\n"
+"\n"
+"- Work we do can be leveraged by other communities, increasing their interest in\n"
+" collaborating with us, and thinking about I2P as a whole."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:72
+msgid ""
+"My proposals in particular will be leveraging the `Noise Protocol Framework`_,\n"
+"and the `SPHINX packet format`_. I have collaborations lined up with several\n"
+"people outside I2P for these!"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:81
+msgid ""
+"Priority: Clearnet collaboration\n"
+"--------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:86
+msgid ""
+"On that topic, we've been slowly building interest over the last six months or\n"
+"so. Across PETS2017, 34C3, and RWC2018, I've had some very good discussions\n"
+"about ways in which we can improve collaboration with the wider community. This\n"
+"is really important to ensure we can garner as much review as possible for new\n"
+"protocols. The biggest blocker I've seen is the fact that the majority of I2P\n"
+"development collaboration currently happens inside I2P itself, which\n"
+"significantly increases the effort required to contribute."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:96
+msgid ""
+"The two priorities in this area are:\n"
+"\n"
+"- Set up a project-run development forum that is accessible both inside and\n"
+" outside I2P.\n"
+"\n"
+"- Set up mailing lists for review and discussion of proposals (possibly\n"
+" connected to the above forum)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:106
+msgid ""
+"Other goals which are classed as nice-to-have:\n"
+"\n"
+"- Set up a usable git-to-mtn pathway, to enable us to effectively solicit\n"
+" clearnet contributions on GitHub while keeping the canonical dev environment\n"
+" on Monotone.\n"
+"\n"
+"- Write a \"position paper\" that accurately explains I2P to academic audiences,\n"
+" and puts it in context with existing literature."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:117
+msgid ""
+"I expect that collaborations with people outside I2P will be done entirely on\n"
+"GitHub, for minimal friction."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:122
+msgid ""
+"Priority: Preparation for long-lived releases\n"
+"---------------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:127
+msgid ""
+"I2P is now in Debian Sid (their unstable repo) which will stablilise in around a\n"
+"year and a half, and has also been pulled into the Ubuntu repository for\n"
+"inclusion in the next LTS release in April. We are going to start having I2P\n"
+"versions that end up hanging around for years, and we need to ensure we can\n"
+"handle their presence in the network."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:135
+msgid ""
+"The primary goal here is to roll out as many of the new protocols as we feasibly\n"
+"can in the next year, to hit the next Debian stable release. For those that\n"
+"require multi-year rollouts, we should incorporate the forward-compatability\n"
+"changes as early as we can."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:142
+msgid ""
+"Priority: Pluginization of current apps\n"
+"---------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:147
+msgid ""
+"The Debian model encourages having separate packages for separate components. We\n"
+"agreed that decoupling the currently-bundled Java applications from the core\n"
+"Java router would be beneficial for several reasons:\n"
+"\n"
+"- It codifies the boundary between the applications and the router.\n"
+"\n"
+"- It should make it easier to get these apps running with non-Java routers.\n"
+"\n"
+"- It would enable third parties to create \"I2P bundles\" containing just the\n"
+" applications they want."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:160
+msgid ""
+"In combination with the earlier priorities, this moves the main I2P project more\n"
+"in the direction of e.g. the Linux kernel. We will spend more time focusing on\n"
+"the network itself, leaving third-party developers to focus on applications that\n"
+"use the network (something that is significantly easier to do after our work in\n"
+"the last few years on APIs and libraries)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:168
+msgid ""
+"Nice-to-have: App improvements\n"
+"------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:173
+msgid ""
+"There are a bunch of app-level improvements that we want to work on, but do not\n"
+"currently have the developer time to do so, given our other priorities. This is\n"
+"an area we would love to see new contributors for! Once the above decoupling is\n"
+"complete, it will be significantly easier for someone to work on a specific\n"
+"application independently of the main Java router."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:181
+msgid ""
+"One such application we would love to have help with is I2P Android. We will be\n"
+"keeping it up-to-date with the core I2P releases, and fixing bugs as we can, but\n"
+"there is much that could be done to improve the underlying code as well as the\n"
+"usability."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:188
+msgid ""
+"Priority: Susimail and I2P-Bote stabilisation\n"
+"---------------------------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:193
+msgid ""
+"Having said that, we do want to work specifically on Susimail and I2P-Bote fixes\n"
+"in the near term (some of which have landed in 0.9.33). They have had less work\n"
+"over the last few years than other I2P apps, and so we want to spend some time\n"
+"bringing their codebases up to par, and making them easier for new contributors\n"
+"to jump into!"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:201
+msgid ""
+"Nice-to-have: Ticket triage\n"
+"---------------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:206
+msgid ""
+"We have a large backlog of tickets in a number of I2P subsystems and apps. As\n"
+"part of the above stabilisation effort, we would love to clean up some of our\n"
+"older long-standing issues. More importantly, we want to ensure that our tickets\n"
+"are correctly organised, so that new contributors can find good tickets to work\n"
+"on."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:214
+msgid ""
+"Priority: User support\n"
+"----------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:219
+msgid ""
+"One aspect of the above we will be focusing on is keeping in touch with users\n"
+"who take the time to report issues. Thank you! The smaller we can make the\n"
+"feedback loop, the quicker we can resolve problems that new users face, and the\n"
+"more likely it is that they keep participating in the community."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:226
+msgid ""
+"We'd love your help!\n"
+"--------------------"
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:231
+msgid ""
+"That all looks very ambitious, and it is! But many of the items above overlap,\n"
+"and with careful planning we can make a serious dent in them."
+msgstr ""
+
+#: i2p2www/blog/2018/02/11/high-level-roadmap.rst:236
+msgid ""
+"If you are interested in helping with any of the goals above, come chat to us!\n"
+"You can find us on OFTC and Freenode (#i2p-dev), and Twitter (@GetI2P)."
+msgstr ""
+
+#: i2p2www/blog/2018/02/12/bsidesnyc.rst:1
+msgid ""
+"================\n"
+"I2P at BSidesNYC\n"
+"================"
+msgstr ""
+
+#: i2p2www/blog/2018/02/12/bsidesnyc.rst:10
+msgid "Trip report about the I2P meetup at BSidesNYC."
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.34 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:10
+msgid "0.9.34 with Bug Fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:17
+msgid ""
+"0.9.34 contains a lot of bug fixes!\n"
+"It also has improvements in SusiMail, IPv6 handling, and tunnel peer selection.\n"
+"We add support for IGD2 schemas in UPnP.\n"
+"There's also preparation for more improvements you will see in future releases."
+msgstr "0.9.34 版修復了許多問題!\n此版本還改進了 SusiMail、IPv6 handling 和 tunnel peer 自選的功能。\n我們在 UPnP 中增加了對 IGD2 模式的支持。\n還有一些先期的準備工作,以便將來的版本有更多的改進。"
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:34
+msgid "SusiMail: Improved startup and memory management"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:35
+msgid "UPnP: Support IGD 2"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:40
+msgid "Console: Numerous fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:41
+msgid "i2ptunnel: Fix servers not accepting after router restart"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:42
+msgid "Router: Improved tunnel peer selection for hidden and IPv6-only modes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:43
+msgid "SusiMail: Numerous fixes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:44
+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.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.rst:63
+msgid "Prep for splitting up Debian package"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:51
+msgid "Streaming: Return HTTP response when limits exceeded"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:52
+msgid "Console: Number formatting changes"
+msgstr ""
+
+#: i2p2www/blog/2018/04/10/0.9.34-Release.rst:53
+msgid "EdDSA cleanups"
+msgstr ""
+
+#: 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.rst:10
+msgid "0.9.35 with SusiMail folders and SSL Wizard"
+msgstr ""
+
+#: 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.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.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.rst:40
+msgid "New Hidden Service SSL Wizard"
+msgstr ""
+
+#: 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.rst:47
+msgid "Console: Fix changes to wrong tunnel on /configtunnels"
+msgstr ""
+
+#: 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.rst:49
+msgid ""
+"i2psnark: Fix torrents ignoring priority settings when autostart enabled"
+msgstr ""
+
+#: 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.rst:51
+msgid "NTCP: Fix bug causing initial latency for outbound connections"
+msgstr ""
+
+#: 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.rst:53
+msgid "SusiMail: Many other fixes"
+msgstr ""
+
+#: 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.rst:59
+msgid "Add support for notes in Addressbook"
+msgstr ""
+
+#: 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.rst:61
+msgid "DNSoverHTTPS (disabled by default)"
+msgstr ""
+
+#: 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.rst:65
+msgid "Move SusiMail logging to router logs"
+msgstr ""
+
+#: 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.rst:67
+msgid "Fix eepget handling of response line with no status text"
+msgstr ""
+
+#: 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.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/i2p2www/translations/zh_TW/LC_MESSAGES/docs.po b/i2p2www/translations/zh_TW/LC_MESSAGES/docs.po
index 6febbb49..9264c083 100644
--- a/i2p2www/translations/zh_TW/LC_MESSAGES/docs.po
+++ b/i2p2www/translations/zh_TW/LC_MESSAGES/docs.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
"Last-Translator: zzzi2p\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/I2P/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -23,9 +23,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
@@ -127,7 +129,7 @@ msgid "Managed Clients"
msgstr "受管理的客戶端"
#: i2p2www/pages/site/docs/index.html:45
-#: i2p2www/pages/site/docs/index.html:229
+#: i2p2www/pages/site/docs/index.html:231
msgid "Embedding the router in your application"
msgstr "將路由器嵌入您的應用程序中"
@@ -145,7 +147,7 @@ msgid "hostsdb.blockfile Format"
msgstr "hostsdb.blockfile 格式"
#: i2p2www/pages/site/docs/index.html:49
-#: i2p2www/pages/site/docs/index.html:195
+#: 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 ""
@@ -391,160 +393,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 "Bug追蹤系統"
-#: 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"
@@ -1343,7 +1345,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 ""
@@ -1877,7 +1878,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 ""
@@ -1890,7 +1891,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 ""
@@ -1907,7 +1908,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 ""
@@ -2791,7 +2792,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
@@ -2950,18 +2951,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 ""
@@ -3045,95 +3046,95 @@ msgid ""
"(released March 2009). Set to true if running multiple protocols on this 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"
@@ -3141,43 +3142,43 @@ 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"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet 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"
"These packets will also have the send Stream ID field set to 0.\n"
@@ -3185,11 +3186,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"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
@@ -3199,7 +3200,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"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
@@ -3210,7 +3211,7 @@ msgid ""
"latency, reliability, and efficiency, especially for long-lived 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"
@@ -3218,7 +3219,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 clove in a\n"
@@ -3228,11 +3229,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"
"in ms, before the receiver should ack the packet.\n"
@@ -3246,11 +3247,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 simple choke/unchoke indication.\n"
@@ -3261,7 +3262,7 @@ msgid ""
"Overflow is, however, likely to occur on high-bandwidth \"local 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"
@@ -3271,7 +3272,7 @@ msgid ""
"Packets without an optional delay field do not affect the choke/unchoke 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"
"except for occasional \"probe\" data packets to compensate for possible lost unchoke packets.\n"
@@ -3282,29 +3283,29 @@ msgid ""
"Transmitter window size and congestion control strategy after being 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"
"phases, with exponential backoff.\n"
"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"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
"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"
"This function is provided in streaming.\n"
@@ -3313,37 +3314,37 @@ msgid ""
"most other flags, options, ackThrough, sequenceNum, NACKs, etc. are 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"
"The sendStreamId must be greater than zero, and the receiveStreamId is ignored.\n"
"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 sendStreamId from the ping.\n"
"Prior to release 0.9.18, the pong packet does not include any payload 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"
@@ -3359,21 +3360,21 @@ 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"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
@@ -3387,7 +3388,7 @@ msgid ""
"retransmitting lost messages, and the latency and overhead of multiple 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
@@ -3395,24 +3396,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 the\n"
@@ -3420,7 +3421,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"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
@@ -3432,39 +3433,39 @@ 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"
"(pcap) format; Use this to further analyze performance.\n"
"The format may require enhancement to map more streaming lib parameters 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"
@@ -6312,6 +6313,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"
@@ -7912,7 +7917,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 ""
@@ -11681,10 +11686,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 ""
@@ -11701,7 +11702,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
@@ -11714,21 +11715,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"
@@ -11736,11 +11742,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 RouterInfo).\n"
@@ -11748,126 +11754,126 @@ 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"
"and communication of threshold status to the router so it may make 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"
"These addresses constitute the advertised contact points, and are published by the router to the network database.\n"
"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 contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see 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 only. The transport selected for any message is\n"
@@ -11881,85 +11887,85 @@ 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"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
"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"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
@@ -11967,7 +11973,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"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
@@ -11975,7 +11981,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 Obfuscation\n"
@@ -11986,21 +11992,16 @@ 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"
@@ -12009,38 +12010,38 @@ 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 checksum.\n"
"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"
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
@@ -12049,7 +12050,7 @@ msgid ""
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous 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"
@@ -12058,40 +12059,40 @@ 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"
"The current implementation lowers the timeout as the number of connections approaches the\n"
@@ -12100,11 +12101,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 DatabaseStoreMessage.\n"
@@ -12112,42 +12113,42 @@ msgid ""
"so as not to send a duplicate message; this is often the case when 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"
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
"Then, signatures of the critical data are exchanged to confirm the 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"
@@ -12155,48 +12156,48 @@ 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 routers,\n"
"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 and Message 4.\n"
@@ -12204,11 +12205,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"
@@ -12220,157 +12221,157 @@ 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 session key and\n"
" 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"
" Alice signs it with the `SigningPrivateKey` associated with 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 session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes 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"
" Bob signs it with the `SigningPrivateKey` associated with 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 session key and\n"
@@ -12378,21 +12379,21 @@ msgid ""
" 48 bytes for a DSA signature, may vary for other 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"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
@@ -12400,11 +12401,11 @@ msgid ""
"Bob will use the last 16 bytes of the encrypted contents of message #4 as 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"
@@ -12414,58 +12415,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 \n"
@@ -12474,13 +12475,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?"
@@ -12494,71 +12495,70 @@ msgstr ""
#, python-format
msgid ""
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
-"is one of two transports currently implemented in I2P.\n"
-"The other is NTCP."
+"is one of three transports currently implemented in I2P.\n"
+"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"
"but only up to a maximum number of times. After that, the message is 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"
"Unique to SSU, it also provides IP detection and NAT traversal services, 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"
@@ -12566,7 +12566,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"
@@ -12578,7 +12578,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\n"
@@ -12591,48 +12591,48 @@ 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 into\n"
"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"
"The MTU value is adjusted based on the percentage of packets that are 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"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
"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"
@@ -12640,14 +12640,14 @@ 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"
"it will publish that in the network database, and other routers should\n"
"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"
@@ -12655,11 +12655,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 128.\n"
@@ -12671,11 +12671,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"
@@ -12684,7 +12684,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"
@@ -12694,7 +12694,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"
"with all established sessions - if there are matches,\n"
@@ -12706,7 +12706,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"
@@ -12718,7 +12718,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"
@@ -12726,18 +12726,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"
@@ -12745,7 +12745,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"
@@ -12754,11 +12754,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"
@@ -12766,41 +12766,41 @@ 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"
@@ -12811,7 +12811,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"
@@ -12821,7 +12821,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"
"It was originally added becasue the DatabaseStore message was delayed\n"
@@ -12829,7 +12829,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 now)\n"
@@ -12844,7 +12844,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"
@@ -12864,26 +12864,26 @@ 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"
@@ -12892,7 +12892,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"
@@ -12902,7 +12902,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"
@@ -12912,7 +12912,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"
@@ -12924,7 +12924,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"
@@ -12935,7 +12935,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"
@@ -12943,7 +12943,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"
@@ -12954,7 +12954,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"
@@ -12963,11 +12963,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"
@@ -12977,7 +12977,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 specified\n"
@@ -12990,11 +12990,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"
@@ -13003,105 +13003,105 @@ 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"
"and other parameters, and adjustment of the protocol implementation to improve\n"
"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"
"The current MTU adjustment strategy should be evaluated.\n"
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? 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"
"and use of the padding field in SessionRequest and SessionCreated, is 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 packet,\n"
"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 \n"
"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/i2p2www/translations/zh_TW/LC_MESSAGES/get-involved.po b/i2p2www/translations/zh_TW/LC_MESSAGES/get-involved.po
index 766b2f13..fb5b3bb1 100644
--- a/i2p2www/translations/zh_TW/LC_MESSAGES/get-involved.po
+++ b/i2p2www/translations/zh_TW/LC_MESSAGES/get-involved.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: zzzi2p\n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:51+0000\n"
+"Last-Translator: ian chou \n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/I2P/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -310,40 +310,65 @@ msgid ""
"Detailed instructions are on our reseed server 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"
-msgstr ""
+#: i2p2www/pages/site/get-involved/roadmap-2016.html:3
+msgid "January 2016"
+msgstr "2016年1月"
-#: 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 ""
@@ -1972,6 +1997,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 ""
@@ -2108,10 +2141,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."
@@ -2978,57 +3007,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"
@@ -3036,7 +3069,7 @@ msgid ""
"on contributing to the website or the software, doing development or 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"
@@ -3044,13 +3077,13 @@ 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"
"If you don't have experience with Java, you can always have a look at 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"
@@ -3060,28 +3093,28 @@ msgid ""
"These will give you a good overview of how I2P is structured and what 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 for\n"
@@ -3090,106 +3123,106 @@ 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"
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track 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 into a new file (e.g. keys.txt
) in the same directory\n"
" that i2p.mtn
is in. Import the keys into your database 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 left off.\n"
"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, or equivalent JDK\n"
@@ -3199,21 +3232,21 @@ msgid ""
"If you go are working on the main I2P code, you can go into the i2p.i2p 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"
@@ -3222,67 +3255,67 @@ 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 for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (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 network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have additional guidelines for regular 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 New Translator's Guide\n"
"for next steps."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:198
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:199
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
@@ -3291,7 +3324,7 @@ msgid ""
"are interested in profiling the I2P codebase."
msgstr ""
-#: i2p2www/pages/site/get-involved/guides/new-developers.html:206
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:207
#, python-format
msgid ""
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
diff --git a/i2p2www/translations/zh_TW/LC_MESSAGES/priority.po b/i2p2www/translations/zh_TW/LC_MESSAGES/priority.po
index 87052379..092ec4b3 100644
--- a/i2p2www/translations/zh_TW/LC_MESSAGES/priority.po
+++ b/i2p2www/translations/zh_TW/LC_MESSAGES/priority.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
-"POT-Creation-Date: 2018-06-24 13:48+0000\n"
-"PO-Revision-Date: 2018-06-24 18:44+0000\n"
-"Last-Translator: Agustín Wu \n"
+"POT-Creation-Date: 2018-08-24 11:47+0000\n"
+"PO-Revision-Date: 2018-08-24 11:52+0000\n"
+"Last-Translator: zzzi2p\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/otf/I2P/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -67,29 +67,28 @@ msgstr ""
#: i2p2www/pages/downloads/debian.html:7
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."
+"Install the \"i2p\" package using your package manager, as you would any 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 "Debian 版的套件\n已經通過測試並且應該可以在 x86/x86_664 平台上執行:"
-#: i2p2www/pages/downloads/debian.html:19
+#: i2p2www/pages/downloads/debian.html:18
msgid "Ubuntu (Precise 12.04 and newer)"
msgstr "Ubuntu (Precise 12.04 以及更新的版本)"
-#: i2p2www/pages/downloads/debian.html:21
+#: i2p2www/pages/downloads/debian.html:20
msgid "Debian Linux (Wheezy and newer)"
msgstr "Debian Linux (Wheezy 以及更新的版本)"
-#: 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 report any issues\n"
@@ -97,73 +96,73 @@ msgid ""
"https://trac.i2p2.de."
msgstr "I2P 套件 may 在上述未提及的系統運行. 請在 Trac 的\nhttps://trac.i2p2.de回報這些套件的任何意見。"
-#: 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 "選項一: Ubuntu 的最近版本以及其衍生版本 (如果你用的不是 Debian 的話,可以試試這個)"
-#: i2p2www/pages/downloads/debian.html:32
+#: i2p2www/pages/downloads/debian.html:31
msgid "Option 2: Debian (including Debian-derivatives)"
msgstr "選項二: Debian (包括以 Debian 所衍生的版本)"
-#: 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 "利用指令來加入 PPA 並且安裝 I2P"
-#: 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 "這個指令將會把該 PPA 加入 /etc/apt/sources.list.d 中並且抓取簽署該套件庫所使用的 GPG 金鑰。此金鑰可以確保套件在建構發行之後沒有被竄改。"
-#: i2p2www/pages/downloads/debian.html:48
+#: i2p2www/pages/downloads/debian.html:47
msgid "Notify your package manager of the new PPA by entering:"
msgstr "藉由輸入此指令來通知您的套件管理系統關於這個新的 PPA 來源:"
-#: 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 "這個指令會由您的系統中所啟用的套件庫抓取最新的套件清單,包括您稍早以指令加入的 I2P PPA 來源。"
-#: i2p2www/pages/downloads/debian.html:56
+#: i2p2www/pages/downloads/debian.html:55
msgid "You are now ready to install I2P!"
msgstr "您現在已經準備就緒,可以開始安裝 I2P 了!"
-#: i2p2www/pages/downloads/debian.html:60
+#: i2p2www/pages/downloads/debian.html:59
msgid "Adding the PPA Using Synaptic"
msgstr "利用 Synaptic 來加入 PPA 來源"
-#: i2p2www/pages/downloads/debian.html:63
+#: i2p2www/pages/downloads/debian.html:62
msgid ""
"Open Synaptic (System -> Administration -> Synaptic Package Manager)."
msgstr "開啟 Synaptic (系統 -> 管理 -> Synaptic 套件管理程式)。"
-#: i2p2www/pages/downloads/debian.html:68
+#: i2p2www/pages/downloads/debian.html:67
msgid ""
"Once Synaptic opens, select Repositories from the Settings"
" menu."
msgstr "在開啟 Synaptic 之後,在設定清單中點選套件庫。"
-#: 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 Add "
"Source. Click the Close button then Reload."
msgstr "點選其他資源分頁並且點擊新增,將 ppa:i2p-maintainers/i2p
貼入 APT-line 欄位中再點擊新增資源。接著點擊關閉按鈕以及重新載入。"
-#: 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 "
@@ -172,85 +171,105 @@ msgid ""
" Mark then Apply."
msgstr "在快速過濾方框中,輸入 i2P
並按下 enter 鍵,當 i2p
出現在結果清單中時,以右鍵點擊 i2P
並且選擇 標記為安裝, 接著您如果看到一個彈出視窗寫著 是否標記其他必要的變更?,請點擊 標記 再點擊 套用。"
-#: 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 "當安裝程序完成後,您可以繼續下一步驟啟動 I2P 並且進行相關設定。"
-#: i2p2www/pages/downloads/debian.html:89
+#: i2p2www/pages/downloads/debian.html:88
msgid "Instructions for Debian"
msgstr "Debian 的操作說明"
-#: 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\")."
-msgstr "注意:底下這些步驟必須要以 root 權限來執行 (可以利用 su 來切換,或者在每個指令前加上 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
."
-msgstr "將類似於底下幾行的文字加入 %(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:"
-msgstr "下載簽署套件庫的金鑰並且將之加入 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 step\n"
"1."
msgstr "這個指令會從您的系統中啟用的套件庫來源抓取最新的套件清單,包括在第一步所加入的 I2P 套件庫。"
-#: 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 "現在您已經準備好開始安裝 I2P 了!安裝 i2p-keyring
套件可以確保您收到套件庫的 GPG 金鑰更新。"
-#: 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 "安裝完成後您可以繼續進行 啟動 I2P 以及為您的系統做設定。"
-#: i2p2www/pages/downloads/debian.html:151
-msgid "Note: If the https address does not work, either:"
-msgstr "注意:若是https地址沒有運作,則:"
-
-#: 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 "利用這些 I2P 套件可以使 I2P 路由器以下列三種方式啟動:"
-#: i2p2www/pages/downloads/debian.html:170
+#: i2p2www/pages/downloads/debian.html:198
msgid ""
""on demand" using the i2prouter script. Simply run "i2prouter\n"
"start
" from a command prompt. (Note: Do not use\n"
"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"
"(needed on non-Linux/non-x86 systems) by running \"i2prouter-nowrapper
\".\n"
@@ -258,14 +277,14 @@ 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-reconfigure\n"
"i2p
\" as root or using sudo. This is the recommended means of 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"
"if you can. The ports to forward can be found on the \n"
@@ -273,14 +292,14 @@ msgid ""
"you may find portforward.com to be 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"
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
-#: i2p2www/pages/downloads/debian.html:206
+#: i2p2www/pages/downloads/debian.html:234
#: i2p2www/pages/downloads/post-install.html:34
#, python-format
msgid ""