666 Commits

Author SHA1 Message Date
164ba6b119 Undraft blog post 2024-05-16 08:33:22 -04:00
26306d34a1 Update hashes, version numbers 2024-05-16 08:05:15 -04:00
725257aab7 Update hashes, version numbers 2024-05-16 08:04:16 -04:00
b006816be4 Update hashes 2024-05-16 08:03:52 -04:00
5b5cf83b6a Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2024-05-16 08:02:40 -04:00
zzz
469ee4f9fe release checksums 2024-05-16 07:28:28 -04:00
zzz
5e9e81d346 2.5.2 release draft 2024-05-14 14:00:35 -04:00
8268a25793 bump android version 2024-05-12 10:32:37 -04:00
zzz
417552ecfc add note on exploration responses 2024-05-10 15:21:02 -04:00
2e579a353b /HSM/I2PTunnel 2024-05-09 09:56:14 -04:00
3fc9296eca Add tomcat to release notes 2024-05-09 09:51:19 -04:00
e9c898df22 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2024-05-09 09:50:07 -04:00
dc57e867e2 Add milestone to blog post 2024-05-09 09:49:35 -04:00
a03d4a2a28 Update blog post to contain some release notes 2024-05-09 09:48:59 -04:00
zzz
d1f5957054 roadmap updates 2024-05-08 17:32:43 -04:00
2803e7f04e Fix typos in blog post 2024-05-06 20:18:36 -04:00
3d6f02c918 Add sha256 checksums to blog post 2024-05-06 19:36:19 -04:00
df738ba9c2 Update hashes 2024-05-06 18:57:14 -04:00
0e826103da Undraft release blog post 2024-05-06 18:47:37 -04:00
775bf41d46 Fix trailing newline 2024-05-05 09:56:32 -04:00
381bda6363 Move blog posts 2024-05-05 09:54:40 -04:00
ed54760d76 Add keyword.enabled instructions to Firefox config on the site 2024-05-05 07:59:57 -04:00
f8ba400392 Fix date on blog post 2024-05-04 10:53:47 -04:00
c3510d9c77 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2024-05-04 10:53:06 -04:00
c9b3df1205 Add draft blog post, less checksums 2024-05-04 10:52:02 -04:00
zzz
cab385d986 I2NP DSRM clarifications 2024-05-01 09:21:20 -04:00
zzz
095a5c68b7 netdb updates 2024-04-29 10:42:22 -04:00
zzz
cb38e8fea1 renew my GPG key 2024-04-24 07:56:26 -04:00
idk
2382339821 Update roadmap.html 2024-04-19 02:02:58 +00:00
zzz
90248113a4 more prop. 163 updates 2024-04-14 10:10:39 -04:00
zzz
e5c83a01ec more markdown fixes 2024-04-14 09:44:14 -04:00
zzz
1b9c8e160f markdown fixes 2024-04-14 09:06:55 -04:00
zzz
43fd290605 prop. 163 updates 2024-04-14 08:54:09 -04:00
zzz
23d93128af roadmap update 2024-04-14 07:12:51 -04:00
8998792f2e Update Easy-Install Bundle 2024-04-09 20:38:50 -04:00
eda4ff0e2c Fix spelling issue in manymasks blog post 2024-04-09 09:13:31 -04:00
10e5a5fc64 update download version on site and update download hashes 2024-04-08 17:30:01 -04:00
d43d1d007a un-draft other blog post 2024-04-08 17:20:16 -04:00
af7e48dbf7 un-draft blog post 2024-04-08 17:19:45 -04:00
08ae951f85 add hashes to blog post 2024-04-08 17:19:30 -04:00
92c3d1ea88 Add draft release notes blog post: 2024-04-08 10:49:20 -04:00
a4fc0ca857 Release blog post 2024-04-07 21:15:58 -04:00
212934361c it's->its 2024-03-30 07:59:02 -04:00
12a875f1df make capitalization more consistent 2024-03-29 22:46:46 -04:00
c0cd240207 Add sub-DBs blog post 2024-03-29 17:26:15 -04:00
f5ce0c0936 Add sub-DBs blog post 2024-03-29 17:24:18 -04:00
zzz
5923d959bf hosts.txt update 2024-03-25 10:30:26 -04:00
zzz
ae15e68c5c Add note to peer selection page 2024-02-28 09:17:02 -05:00
zzz
58887767d5 new paper 2024-02-28 08:25:35 -05:00
zzz
e83a412c3f SSU2: Path Validation block -> Path Challenge block 2024-02-23 13:34:36 -05:00
zzz
8510e105a8 bump date 2024-02-23 06:41:18 -05:00
zzz
91c8f8fed5 ports list update 2024-02-17 07:48:20 -05:00
zzz
6beb2018ba Update I2NP min version for tunnels 2024-02-10 07:01:31 -05:00
3e3418d498 split the value of the URL before checking if the hostname ends with I2P 2024-02-08 10:18:52 -05:00
63ce1cebb9 Remove extra % 2024-02-07 23:54:46 -05:00
45acf46ab1 Add missing line so the trans tag works again 2024-02-07 23:52:16 -05:00
8f358af91d fix spacing 2024-02-07 18:23:00 -05:00
041c2f717e Add segmentation basics to how/network-databse doc 2024-02-07 18:21:50 -05:00
966dd1a0ac Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2024-02-07 18:21:24 -05:00
zzz
0eeb007f06 roadmap updates 2024-01-30 07:08:50 -05:00
zzz
0b1a1adf14 Add NTCP2 note about frame size 2024-01-29 16:56:58 -05:00
zzz
84785f2098 markdown fixes 2024-01-19 06:35:55 -05:00
zzz
ca14d04baa New proposal 165 2024-01-19 06:04:33 -05:00
1dafd0a605 remove .git from dockerignore 2024-01-18 11:13:06 -05:00
5a64c29d48 Point osx guide at correct page, closes #43, remove duplicate text from reseed policy, closes #44 2024-01-18 11:01:23 -05:00
zzz
a661dfb71f Transport: Note SSU 1 is deprecated. 2024-01-18 09:12:37 -05:00
zzz
07942a3832 I2CP: New status code 2024-01-15 14:49:30 -05:00
zzz
6730793668 SAM: Add more info and guidance on error messages 2024-01-11 07:31:27 -05:00
zzz
b07091556c add enctype recommendations to SAM and bittorrent docs 2024-01-07 10:32:34 -05:00
zzz
76a41fb7da crop image better 2024-01-06 11:19:18 -05:00
zzz
183e3420ea Update protocol stack picture
svg fixup courtesy drzed, used with permission
2024-01-06 10:47:21 -05:00
d4fa32b1f1 Update bundle hashes 2024-01-05 13:17:52 -05:00
d48f54580f Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2024-01-05 12:26:11 -05:00
zzz
570338efc7 Add actual SSU1 disabled date to SSU2 specs 2024-01-05 07:48:42 -05:00
zzz
28bf51b441 fix note on keysandcert padding length 2024-01-03 10:18:08 -05:00
085501d4b1 update firefox profile version 2023-12-31 10:08:00 -05:00
9087b83cde Update notice and hostnames on debian.html 2023-12-22 10:21:05 -05:00
ede1be1c1c Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2023-12-22 10:07:23 -05:00
10f84145ca update hash is zip hash not su3 hash 2023-12-20 20:57:46 -05:00
zzz
540620b871 ports list update 2023-12-19 07:48:00 -05:00
zzz
7377b30b37 release notes updates 2023-12-19 07:46:59 -05:00
797c82fcea Undraft release blog post 2023-12-18 19:51:34 -05:00
a15fe65aad 2.4.0 blog post 2023-12-18 19:01:35 -05:00
3d6b69f53c Update release number and hashes 2023-12-18 18:45:56 -05:00
5deb37c1cb Move roadmap items around 2023-11-29 21:21:52 -05:00
zzz
4d803b49b0 Naming: Add section on .alt 2023-11-22 15:58:27 -05:00
zzz
53b17e206f Naming: Fix missing content due to endblock in the middle 2023-11-22 06:46:19 -05:00
zzz
7fec0b308f SAM: Add note about i2pd concurrent accepts 2023-11-17 15:04:09 -05:00
zzz
8db113d0aa Blockfile: Add info on listversion 2023-11-17 08:51:38 -05:00
zzz
b1a1debef3 Blockfile spec fix 2023-11-17 08:32:32 -05:00
zzz
9772a4ed05 Add note on reachability caps 2023-11-11 09:07:01 -05:00
zzz
23bed0f483 Update checklist for tx v3 2023-11-07 13:33:18 -05:00
zzz
496b65274a Add congestion caps to netdb doc 2023-11-05 12:43:31 -05:00
zzz
7053ae1db3 Markdown fixes 2023-10-30 17:49:54 -04:00
7df3407db9 Downloads: remove reference to Easy-Installer from mac install guide page 2023-10-25 16:37:57 -04:00
zzz
4e3370b852 Fill in prop. 164 and update streaming spec to match 2023-10-23 11:22:46 -04:00
zzz
c8f9788e00 dup word 2023-10-23 08:20:14 -04:00
zzz
3b0794554c i2ptunnel: Add more info on x-i2p-gzip and related topics 2023-10-23 06:46:06 -04:00
zzz
ca7351592a Copy port/protocol info to I2CP spec
Add more info on gzip effort 0
2023-10-23 05:47:27 -04:00
zzz
bfc73085b0 typo 2023-10-22 14:18:21 -04:00
zzz
6c0e4bb387 SAM: Add note about concurrent ACCEPTs on 3.1 2023-10-22 11:23:34 -04:00
zzz
73dc961c79 HTML fix 2023-10-21 10:30:56 -04:00
zzz
7686adfc06 Add note that deb repos are down 2023-10-21 10:23:10 -04:00
zzz
f13dc8b7ff SAM: More ports documentation 2023-10-21 09:43:28 -04:00
zzz
e2ffb5e96c SAM: Enhance ports documentation (Gitlab #456) 2023-10-21 09:30:44 -04:00
zzz
8f7b30078d Add ramble.i2p to hosts.txt 2023-10-10 11:59:01 -04:00
b036f269a6 switch to files.* mirror while the other one is down 2023-10-03 20:28:46 -04:00
zzz
fa988e6f5b Renew repo key (gpg format) 2023-10-01 12:54:27 -04:00
zzz
66d51d4a57 Renew repo key 2023-10-01 11:08:35 -04:00
zzz
a8c09545ad I2NP: Add notes about minimum version increase 2023-10-01 07:17:03 -04:00
zzz
67ce4b6bb1 renew my GPG key 2023-10-01 07:12:39 -04:00
zzz
4d66666202 SAM: Add section on accept errors
ref: Gitlab i2p.i2p #399
2023-10-01 07:10:44 -04:00
58883084a8 add a note about name changing the MASTER sessions to PRIMARY sessions. 2023-09-04 12:23:50 -04:00
idk
f3968a1e1b Merge pull request #13 from Shoalsteed/master
Updates to Performance page, Dev docs
2023-07-20 15:52:31 -04:00
956ce97006 Merge branch 'i2p:master' into master 2023-07-20 11:24:28 -04:00
a67f32aaca finally update the release signing keys 2023-07-19 16:44:44 -04:00
41a6d50612 update easy-install download versions 2023-07-13 11:17:16 -04:00
217475ddc9 update easy-install hashes 2023-07-13 11:16:43 -04:00
2ab41d3c85 Use Mac OS instead of Mac OS X, update Easy-Install blog post 2023-07-13 10:19:59 -04:00
c900f779d9 re-add all the pdfs 2023-07-11 19:18:33 -04:00
9c9547cd60 temporarily remove some of the PDFs, will restore in 30min 2023-07-11 19:09:02 -04:00
09a8ef4fa2 clean up metadata from images directory, then run them through pngcrush with debian defaults 2023-07-11 18:41:37 -04:00
fedce0aef0 update translations 2023-07-11 11:49:43 -04:00
96088162ed add easy-install for windows blogpost 2023-07-11 00:23:38 -04:00
e81d87724b reverse order of roadmap to match expectation, newer at top. Update roadmap for 2.4.0. 2023-07-10 14:55:58 -04:00
idk
c72cbc05fc fix href links in the blog post 2023-06-30 15:24:49 -04:00
idk
8f85913228 fix mac downloads 2023-06-30 14:59:56 -04:00
idk
86053fae8d update download hashes 2023-06-30 14:47:52 -04:00
idk
f6034d6462 bump download version 2023-06-30 14:46:44 -04:00
idk
15c827b822 fix some strings, add a blog post, fix docker container 2023-06-30 12:59:25 -04:00
b307f171de Update index.html 2023-05-30 16:59:48 -04:00
771f2f63ae Update index.html
Changes to Performance overview.
2023-05-26 17:18:28 -04:00
6b35d8f4e8 Update new-developers.html
remove link to zzz's forum, make changes to headers and some copy.
2023-05-26 15:08:27 -04:00
idk
300a987392 Merge pull request #12 from Vort/samv3_doc_fix
SAM V3: make example consistent with previous text
2023-05-25 17:07:29 -04:00
idk
12da3aee87 Merge pull request #11 from Shoalsteed/master
Update dev-guidelines.html
2023-05-25 17:06:41 -04:00
idk
8080799be5 remove print call from the blog renderer 2023-05-24 18:11:08 +00:00
41cc69c774 make example consistent with previous text 2023-05-15 09:46:29 +03:00
idk
84d35a67c7 never ever ever leave a {% trans %}{% endtrans %} block empty, or it will break like half the languages for some mysterious reason 2023-05-04 04:25:47 +00:00
idk
e0e6a2fa76 log when running in dev mode 2023-05-04 03:50:00 +00:00
idk
c5ec52dd1f fix missing newlines 2023-05-04 03:42:08 +00:00
idk
94d206b798 try and fix the translations 2023-05-04 02:54:33 +00:00
8ba3b11b03 Merge branch 'i2p:master' into master 2023-04-29 13:45:04 -04:00
idk
23eb1c5489 fix missing bracket on translation tag on software.html, split up environment setup in dockerfile to trade a little space for a lot of time 2023-04-29 16:50:58 +00:00
d68fb34dda Update index.html 2023-04-28 17:36:50 -04:00
acc1d99b34 Update browser-content.html 2023-04-28 15:56:11 -04:00
9ad45220b8 Update dev-guidelines.html
remove Trac references, zzz forum, "we/ our" references , add "release manager."
2023-04-28 15:11:44 -04:00
idk
fff7c1f9ec fix missing translation tag 2023-04-28 19:00:21 +00:00
idk
09e20cb0ba Merge pull request #10 from Shoalsteed/master
Updates to copy
2023-04-27 01:10:05 -04:00
idk
92edebf1fd Merge branch 'master' into master 2023-04-26 17:29:46 -04:00
idk
9bd163e3e5 fix tables on contact page 2023-04-26 21:25:52 +00:00
9f1bb7156e Update reseed.html 2023-04-26 16:26:14 -04:00
592c7ae638 Update anonbib.bib 2023-04-20 15:31:43 -04:00
4579c6deed Update vrp.html 2023-04-17 15:13:40 -04:00
idk
bd2b0ae0bb update android versions 2023-04-17 16:41:48 +00:00
173790ed7c Update faq.html 2023-04-17 11:53:19 -04:00
37442a469e Update contact.html 2023-04-17 11:27:21 -04:00
idk
62354cbdcb fix date on blog post 2023-04-14 02:20:04 +00:00
idk
a400346f8d update version 2023-04-13 20:11:26 +00:00
idk
6eab2587a7 update hashes 2023-04-13 20:11:10 +00:00
1f67ec12e7 Update plugins.html 2023-04-12 17:45:33 -04:00
idk
0281b67bc4 undraft blog post 2023-04-12 20:42:31 +00:00
idk
cbf762852c draft release blog post 2023-04-12 05:02:26 +00:00
55d09a4ca6 Update index.html 2023-04-10 10:38:26 -04:00
32ea161bdf Update index.html 2023-04-10 10:03:19 -04:00
6e6e876750 Update software.html 2023-04-10 09:49:04 -04:00
idk
32c1addde8 remove treasury position, add zzz to past contributors 2023-03-31 21:12:56 +00:00
idk
3facee99b1 update easy-install version number and hash 2023-03-23 12:55:02 +00:00
idk
d64e3b76ab update the contact page 2023-03-21 22:28:22 +00:00
idk
a906af63f7 Merge branch 'readme-refactoring' into 'master'
Adding overview info to README as suggested in issue

See merge request i2p-hackers/i2p.www!23
2023-03-18 17:29:41 +00:00
idk
996953e289 Merge branch 'fix-venv' into 'master'
fix virtualenv setup

Closes #39

See merge request i2p-hackers/i2p.www!24
2023-03-18 17:25:20 +00:00
f544a40229 fix virtualenv setup 2023-03-18 17:25:20 +00:00
idk
2f768fd6d2 update android version 2023-03-18 04:36:53 +00:00
idk
a030fbae4a move blogpost 2023-03-14 06:07:01 +00:00
idk
224305f501 fix blog URL 2023-03-14 03:10:04 +00:00
idk
4cac8d8541 update my public key 2023-03-14 01:57:53 +00:00
idk
9e78559e80 update versions and hashes 2023-03-13 23:18:36 +00:00
idk
5cb31ea847 undraft blog post 2023-03-13 21:29:54 +00:00
idk
a618bb279d write draft release notes 2023-03-13 19:25:55 +00:00
idk
7107a2960a edit statement about release of Mac easy-install on site since release date of 2.2.0 is moved. 2023-03-08 17:00:53 +00:00
idk
5162dc2d24 unindent blog post 2023-02-12 03:37:35 +00:00
idk
980fc185d5 Blog post about Denial of Service attack 2023-02-12 03:33:07 +00:00
zzz
2bb222187d mtg 320 more log cleanup and spelling fixes 2023-02-08 22:56:10 -05:00
idk
d0459ba062 check in meeting logs 2023-02-07 22:21:03 +00:00
idk
d08ac133f8 remove logging messages from meeting log 2023-02-07 22:08:55 +00:00
idk
b8f5804525 check in meeting logs 2023-02-07 22:07:15 +00:00
idk
90a39f35d6 Add missing wizard images, add sadie to author list 2023-02-01 14:15:29 +00:00
zzz
70cc78b17f Prop. 162 updates 2023-02-01 06:57:22 -05:00
idk
d616bd3156 qualify that the recommendation might change in the future 2023-02-01 07:21:15 +00:00
idk
9942f1ddf6 add links to blog posts 2023-02-01 07:07:57 +00:00
idk
bdca9c7042 Add install guide for jar installs on MacOS 2023-02-01 06:58:31 +00:00
idk
30d9fe1622 fix missing image 2023-02-01 00:58:28 +00:00
idk
d513dcc95d add osx install guide images 2023-01-31 23:12:25 +00:00
idk
d0787a33ad Update the about/intro page with @sadie's rewrite and my revisions 2023-01-28 05:03:09 +00:00
idk
fb150533bc update the about intro page 2023-01-28 04:53:40 +00:00
idk
18c83f465a fix easy-install hash 2023-01-26 17:45:05 +00:00
zzz
9500378ef7 new proposals 2023-01-24 08:16:17 -05:00
zzz
bf1c5c2748 grammar 2023-01-23 08:58:22 -05:00
lbt
194f65bdb3 Adding overview info to README as suggested in issue 2023-01-21 11:26:17 +01:00
idk
38ee4bef5c Clean my GPG key 2023-01-21 03:43:30 +00:00
zzz
1e33399af4 add note on outproxies 2023-01-19 09:21:15 -05:00
zzz
e795daa239 bittorrent: more info 2023-01-17 08:19:25 -05:00
zzz
76bcd2ad15 bittorrent: Add dev guidance section, mostly copied from SAM spec 2023-01-17 08:07:21 -05:00
idk
a1914b0f97 fix hall of fame link, closes #37 2023-01-15 23:10:46 +00:00
idk
46aa306710 Merge branch 'no-more-monotone-and-trac' into 'master'
No more monotone and trac

See merge request i2p-hackers/i2p.www!22
2023-01-15 19:05:20 +00:00
65ec4eeb91 No more monotone and trac 2023-01-15 19:05:20 +00:00
idk
da6a59e3d7 Merge branch 'there-is-no-target-bundle' into 'master'
There is no target bundle for ant, instead it seems git-bundle is the one to use

See merge request i2p-hackers/i2p.www!21
2023-01-14 16:18:44 +00:00
zzz
8afe26a895 Streaming: Clarify when ID may be 0 2023-01-13 19:10:50 -05:00
idk
d56f43a5d0 check in my key 2023-01-13 22:56:51 +00:00
idk
5bbeb4975f update bundle versions and indicate they are unsigned 2023-01-13 17:02:58 +00:00
idk
458c609c34 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2023-01-13 07:49:30 +00:00
idk
5c0cba3c80 fix formatting in blog post 2023-01-13 07:48:44 +00:00
idk
aa7a019f15 add blog entry 2023-01-13 07:35:43 +00:00
zzz
8b557d2557 Move deprecated RI options to a separate list 2023-01-12 16:23:04 -05:00
zzz
929d984536 Update RI spec to better-specify statistics
ref: http://zzz.i2p/topics/3515
2023-01-12 16:12:11 -05:00
idk
742a99d0a4 add January 10 2023 meeting 2023-01-11 23:45:58 +00:00
idk
b63cf713f1 update the android versions 2023-01-11 23:42:14 +00:00
zzz
f713b0fba1 roadmap update 2023-01-11 17:05:11 -05:00
lbt
df53d22c04 There is no target bundle for ant, instead it seems git-bundle is the one to use 2023-01-11 18:57:29 +01:00
zzz
df23610400 Mac bundle further delayed 2023-01-11 07:05:01 -05:00
idk
2a60937a3d bump version 2023-01-10 21:51:25 +00:00
idk
77f6af7fd7 update hashes 2023-01-10 21:41:10 +00:00
idk
a8b8dd9986 undraft blog post 2023-01-10 21:38:36 +00:00
zzz
fd1e3197f1 2.1.0 checksums 2023-01-10 11:01:00 -05:00
zzz
628dc88834 SSU2: Add peer test results state machine
ref: http://zzz.i2p/topics/3489
2023-01-09 17:13:52 -05:00
idk
c6aeacf4c5 Merge branch 'trac-is-gone' into 'master'
Trac is gone

See merge request i2p-hackers/i2p.www!20
2023-01-08 23:46:32 +00:00
b5bfe3d212 Trac is gone 2023-01-08 23:46:31 +00:00
zzz
a68eb521d2 SAM updates 2023-01-08 11:09:32 -05:00
zzz
e4fe0e24e1 2.1.0 release draft 2023-01-06 08:14:35 -05:00
idk
5e5628abeb fix missing half-step from guide 1 2023-01-05 03:13:34 +00:00
idk
565936207e fix policy page title 2023-01-05 02:36:32 +00:00
idk
ff2482318c fix policy page title 2023-01-05 02:35:28 +00:00
idk
bfd5a73faa copy requirements from old to policy 2023-01-05 02:34:17 +00:00
idk
e236e86838 Merge branch 'master' of github.com:i2p/i2p.www 2023-01-05 02:25:12 +00:00
idk
270f6135c8 comment out unfinished reseed setup guides 2023-01-05 02:23:54 +00:00
idk
3d615c4590 update tags on reseed guide pages 2023-01-05 02:10:03 +00:00
idk
7854cb4935 update tags on reseed guide pages 2023-01-05 02:08:18 +00:00
idk
ea736ff862 overhaul of reseed docs 2023-01-05 01:53:35 +00:00
zzz
b456c3c8cc grammar 2023-01-04 19:48:00 -05:00
idk
5e3d53aa4b add docker page 2023-01-04 23:35:14 +00:00
idk
574a23bf5a split out policy section 2023-01-04 23:16:22 +00:00
idk
51a89c450a Debian reseed install instructions 2023-01-04 22:36:39 +00:00
idk
a4b141e5b1 start migrating over the reseed docs from my site 2023-01-04 22:11:31 +00:00
zzz
ab52b4b197 typo fix 2023-01-04 15:55:48 -05:00
zzz
a48879e014 Embedding update re: persistence 2023-01-03 16:08:23 -05:00
zzz
ba4fa23d5d SAM minor updates 2023-01-03 08:09:28 -05:00
zzz
fc9abe46b1 More embedding guide updates 2023-01-03 07:47:37 -05:00
zzz
878893a7c3 Embedding guide updates 2023-01-03 07:36:24 -05:00
zzz
8e42416434 Put i2cp.delayOpen in the right place alphabetically 2023-01-02 14:52:28 -05:00
zzz
5b71a5fe2e SAMv3 paragraph break 2023-01-02 13:20:16 -05:00
zzz
2d8fdf54cd i2ptunnel: Add missing info on the i2cp.delayOpen option, elaborate on the i2cp.newDestOnResume option 2023-01-02 12:44:50 -05:00
zzz
28a8bf6ca1 Incorporate proposal 161 recommendations into the SAMv3 and Common Structures specs 2023-01-02 12:31:51 -05:00
zzz
cebddd1edb Roadmap update 2023-01-02 11:17:56 -05:00
zzz
d3635464fa I2NP: Note SSU2 uses 9-byte header 2022-12-31 15:41:02 -05:00
zzz
47c0876ab3 SAM: Add general guidance section
Emphasize that i2pd and Java i2p have different defaults
2022-12-29 12:52:48 -05:00
zzz
f84202469c Add participating tunnels picture 2022-12-29 08:18:05 -05:00
zzz
5d75104397 Add tunnel build success picture 2022-12-26 16:38:35 -05:00
zzz
bf0565230a SSU2/NTCP2 and props. 160/161 minor updates 2022-12-19 06:18:18 -05:00
idk
8d423fa1fb change copy command on Debian download page, change note on Debian Downstreams only command on Debian download page 2022-12-18 16:18:57 +00:00
idk
9c5595b2ae Trim enter/exit events from IRC logs 2022-12-14 21:11:36 +00:00
idk
5b3ee6709d add meeting logs 2022-12-14 20:56:32 +00:00
idk
559761b72b add note about easy-install bundle to browser-content page 2022-12-09 19:21:41 +00:00
zzz
78e02ad1a1 SSU2 typo 2022-12-04 08:47:25 -05:00
zzz
81f07058d2 fix roadmap date 2022-11-30 15:08:42 -05:00
zzz
919bfedd3b bump roadmap date 2022-11-30 15:07:37 -05:00
zzz
e8798bbd59 Roadmap updates 2022-11-30 14:45:18 -05:00
idk
72f06a0657 move my roadmap items 2022-11-29 00:08:59 -05:00
zzz
66f721ccc1 config: Add outproxyType for SOCKS.
Remove dup outproxyAuth entry
2022-11-27 11:59:48 -05:00
idk
1370863c99 update android version and hash 2022-11-23 18:50:46 -05:00
idk
575651a3fe Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-11-23 14:40:45 -05:00
idk
d3a0c79314 check in fix on firefox.html page 2022-11-23 14:40:24 -05:00
zzz
cffc62b93d fix markdown 2022-11-23 13:04:48 -05:00
idk
01e7f33e58 Fix Windows bundle filename 2022-11-23 07:39:29 -05:00
idk
efef0afe50 update android hash 2022-11-23 07:23:49 -05:00
idk
4345320ecc Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-11-23 07:05:07 -05:00
idk
45c2992a37 Update Windows easy-install bundle 2022-11-23 07:04:08 -05:00
idk
170634f082 Write blog post for Easy-Install Windows and OSX 2022-11-23 06:51:56 -05:00
zzz
274405eff0 Remove specific JRE version from Windows bundle page 2022-11-22 08:30:08 -05:00
idk
610192690e undraft blog post 2022-11-21 18:07:01 -05:00
idk
355072ebc6 update main downloads and update hashes 2022-11-21 17:33:25 -05:00
zzz
0fdc7441de add checksums to release notes
comment out signer info
add note about OSX bundle delayed
2022-11-21 13:50:32 -05:00
zzz
72d3d34afe 2.0.0 release draft 2022-11-18 08:59:46 -05:00
idk
959fd0112d Merge branch 'debian-variants-questionable' into 'master'
Work with more Debian and Ubuntu variants without altering instructions

See merge request i2p-hackers/i2p.www!19
2022-11-13 22:19:08 +00:00
idk
24ee0900b6 Work with more Debian and Ubuntu variants without altering instructions 2022-11-13 22:19:08 +00:00
zzz
bbeadab0af SAM libs update 2022-11-13 09:14:51 -05:00
zzz
f64af2c0d9 Remove draft blog post from translation 2022-11-08 17:29:39 -05:00
zzz
0358745e87 Remove old draft SSU blog so it doesn't end up in translations 2022-11-08 17:27:37 -05:00
zzz
4e74efd07d Update translation source 2022-11-08 17:20:13 -05:00
zzz
05c9ef6353 Pull updated translations 2022-11-08 17:16:20 -05:00
idk
481cf5f09b add meeting notes 2022-11-08 15:36:47 -05:00
idk
8066aece90 reinstate Mac bundle downloads 2022-11-04 22:10:10 -04:00
idk
1921519c93 reinstate Mac bundle downloads 2022-11-04 22:09:55 -04:00
idk
cbcfc37819 add source repositories for profile manager 2022-11-04 22:03:45 -04:00
zzz
4f62315d1c Temporarily disable OSX bundle downloads 2022-11-03 11:05:03 -04:00
idk
389a54cd24 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-10-27 12:53:27 -04:00
idk
df566a24ae remove erroneous reference to mikal from release-signing-key 2022-10-27 12:53:14 -04:00
zzz
aea6364f8f update bibtex URLs 2022-10-27 10:37:15 -04:00
idk
e654a01672 update hashes of Mac bundles 2022-10-26 13:45:04 -04:00
zzz
992de20108 bibtex fixes 2022-10-25 09:46:31 -04:00
zzz
fe7c3b9e1a Add traffic analysis paper 2022-10-25 08:59:00 -04:00
idk
83391c174f remove TLS fingerprints from safety post, add authors note explaining why 2022-10-17 11:50:28 -04:00
idk
e0de2cd6f8 update sha256 fingerprint for forum inside i2p-safety-reminder blog post 2022-10-16 12:37:24 -04:00
zzz
ba74d33ba5 SSU2: Add note about relaying to charlie when he is behind a symmetric NAT 2022-10-16 12:18:08 -04:00
zzz
a9adb61d4d SSU2: Spec minor edits 2022-10-12 13:21:54 -04:00
zzz
10566c6271 SSU2: Copy most of prop. 159 to the spec page 2022-10-12 12:41:34 -04:00
zzz
9026f6dc2f Clarify accept header processing 2022-10-12 09:53:57 -04:00
zzz
9305ac0ff0 Final edits and undraft SSU2 blog post 2022-10-11 12:56:46 -04:00
zzz
a61b9c359a SAMv3: Add note about session IDs
add link to bitcoin code
2022-10-10 11:26:32 -04:00
idk
d63908d91f Add robin/Py2P to SAMv3 libs page 2022-10-07 11:08:51 -04:00
662095f2c8 remove beta label from mac arm64 2022-10-06 14:17:01 +01:00
idk
24db6b6966 fix flipped meeting logs 2022-10-04 18:58:07 -04:00
idk
f3c340c04b update meeting logs 2022-10-04 18:49:53 -04:00
idk
86da2d9391 update meeting logs 2022-10-04 18:49:44 -04:00
idk
1a921e1804 update meeting logs 2022-10-04 18:01:45 -04:00
idk
5c6e0411b0 just remove redundant link from installer page and direct to installer below the message on the screen, so we don't have to call the link generation stuff twice in the same page 2022-09-30 23:40:05 -04:00
idk
99e6b20ec8 fix erroneous link on the Easy-Install page 2022-09-30 23:31:14 -04:00
idk
39efd98ea2 update line breaks and translation tags 2022-09-28 20:45:48 -04:00
zzz
cb01e85a39 New proposal 161 2022-09-28 11:22:35 -04:00
zzz
feac384bb5 roadmap update 2022-09-28 10:49:53 -04:00
zzz
25afe46878 more SSU2 draft updates 2022-09-28 10:48:42 -04:00
zzz
b7de83c891 Blog README update 2022-09-28 10:48:17 -04:00
idk
ded33b8c44 undraft divaexchange blog, fix fingerprint on i2pgit.org after adding a hostname to the certificate 2022-09-28 01:15:00 -04:00
idk
721c61b497 add DivaExchange MYM draft 2022-09-26 20:17:12 -04:00
idk
087993ed64 don't forget github 2022-09-26 15:47:22 -04:00
idk
14e4137e45 clarify language on bots for i2p-safety-reminder 2022-09-26 15:35:06 -04:00
idk
325a8f2b73 un-draft safety blog post 2022-09-26 15:29:14 -04:00
idk
a56926ed3b move safety reminder post to today 2022-09-26 12:28:45 -04:00
idk
0fa35bdbef Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-09-26 12:26:42 -04:00
idk
997f3c7904 update docker run script 2022-09-26 12:26:17 -04:00
zzz
c202b8e766 SSU2 draft blog updates 2022-09-25 11:44:13 -04:00
idk
053271efc3 add draft of safety post 2022-09-24 19:54:18 -04:00
zzz
5417620917 Add HTTP tunnel config for SHA-256 digest auth 2022-09-20 09:08:45 -04:00
zzz
19bf76ef1d SSU2 post updates and link fixes take 3 2022-09-16 11:27:32 -04:00
idk
17f80cf9b7 add NTCP2 and SSU2 to transports in nav menu 2022-09-14 17:23:11 -04:00
zzz
09ff280f02 link fixes take 2? 2022-09-14 16:45:45 -04:00
zzz
98b5b59214 SSU2 blog link fixes? 2022-09-14 16:10:06 -04:00
zzz
b2cc9d71d4 more SSU2 blog 2022-09-14 15:42:11 -04:00
zzz
d4a240883a SSU2 blog more updates 2022-09-14 14:22:43 -04:00
zzz
30cd6c45f4 SSU2 blog updates 2022-09-14 12:14:11 -04:00
zzz
e596e33d70 SSU2 blog start draft and link test, WIP 2022-09-14 11:04:28 -04:00
zzz
9d23b731d4 i2ptunnel: Add details on the services provided by the HTTP client/server proxy tunnels
other minor updates
2022-09-08 09:25:01 -04:00
zzz
b7ee9b46cc fix dates and categories 2022-09-08 07:16:50 -04:00
idk
4268e81211 update hash 2022-09-07 21:52:03 -04:00
idk
f5bf9bd757 switch the mirrors again 2022-09-07 21:48:36 -04:00
idk
7cdbd56111 switch the mirrors back 2022-09-07 21:38:19 -04:00
idk
3c20d020ae move download.i2p2.no to the top of the mirror list for now 2022-09-07 21:33:32 -04:00
idk
9c56104338 move download.i2p2.no to the top of the mirror list for now 2022-09-07 21:28:41 -04:00
idk
8107794873 update easy-install version 2022-09-07 21:23:06 -04:00
idk
e9f46fdbca move download.i2p2.no to the top of the mirror list for now 2022-09-07 21:20:45 -04:00
idk
0370251ef6 fix omission 2022-09-07 20:47:39 -04:00
idk
5a3b7845eb Check in meet the maintainer blogpost from sadie 2022-09-07 20:05:34 -04:00
idk
785052f397 start porting StormyCloud interview over 2022-09-07 19:12:36 -04:00
idk
62c6efdd08 add windows 1.9.5 blog post 2022-09-07 18:30:15 -04:00
idk
a9b3080084 add windows 1.9.5 blog post 2022-09-07 18:16:32 -04:00
idk
0bd545ac9c Fix date on meeting post 2022-09-06 17:40:36 -04:00
idk
4ee2bade56 add meeting logs 2022-09-06 17:24:20 -04:00
idk
b2305dc668 Update my roadmap items 2022-09-05 21:46:16 -04:00
zzz
59e8a74bee Add SAM info on UDP listen host/port configuration
Add link to i2pd docs
2022-09-03 08:19:09 -04:00
zzz
27b345b965 Prop. 159: put location of immediate ack flag in immediate ack section 2022-08-31 08:02:39 -04:00
idk
fcbcd43b1e update google play version 2022-08-31 00:46:01 -04:00
zzz
46cb883f16 Prop. 159 minor fixes 2022-08-30 16:25:09 -04:00
zzz
937fcb231d Log config gzip options 2022-08-29 16:41:22 -04:00
zzz
54b6c9ed1a Prop. 159 immediate ack flag 2022-08-29 16:37:40 -04:00
idk
90a0b55082 un-draft the blog post for bundle 1.9.0 2022-08-29 12:41:35 -04:00
idk
a070af98ae un-draft the blog post for bundle 1.9.0 2022-08-29 11:44:47 -04:00
idk
884e6d0728 update easy-install bundle download 2022-08-29 11:09:55 -04:00
idk
95d72a6a59 draft Easy-Install bundle blog post 2022-08-28 23:54:55 -04:00
idk
e974aa20d9 add easy-install bundle blog post 2022-08-28 23:48:50 -04:00
zzz
a4adde7c28 Roadmap update 2022-08-27 12:53:32 -04:00
zzz
51ce9e21c3 Prop. 159: Handshake error handling and responses 2022-08-27 09:29:08 -04:00
idk
5d96dc8f90 fix broken close-<em>, fix verbiage of link to I2PIPB source, change outproxy notice, edits suggested by crookedDriving, thx 2022-08-26 12:44:23 -04:00
idk
7de10b7fb1 fix hashes 2022-08-24 15:00:08 -04:00
idk
1d40ab7d28 rename date-fix functions 2022-08-24 14:48:18 -04:00
idk
ab2c0d3856 delete superflous comment 2022-08-24 13:49:40 -04:00
idk
19e33a92be force 1 and 2 digit date units to compare as if they were always 2-digit date units when sorting blog posts. Serve 2-digit date-units before 1-digit date units when rendering blog posts. 2022-08-24 13:49:05 -04:00
zzz
ab745b050c Note that blog directories must be two digits 2022-08-23 14:42:28 -04:00
zzz
9f3f49704b refresh blog po source 2022-08-23 14:04:17 -04:00
idk
fa410dccfd fix duplicated blog post section 2022-08-22 17:27:55 -04:00
idk
6807fed2ef remove extraneous paragraph elements 2022-08-22 16:38:13 -04:00
idk
e70ab79c73 Update the versions which are up-to-date, and un-draft the release blog post 2022-08-22 16:12:02 -04:00
zzz
423cc147d5 release checksums 2022-08-22 12:17:43 -04:00
zzz
c555e4ce17 Update translation source files 2022-08-21 11:36:36 -04:00
zzz
532d85f072 Fix all multiline translations by reverting checkin from March 30,
by rerunning update-existing-po.sh again
2022-08-21 11:03:46 -04:00
zzz
c76457cabd Pull updated translations 2022-08-21 10:50:10 -04:00
idk
c88c2f87c7 fix reddit link on contact page 2022-08-19 12:21:17 -04:00
idk
ab0c4e16ef Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-08-19 11:24:19 -04:00
idk
e1d09aa338 update contact page, replace meeh with zlatinb on packagers OSX, meeh with Stormycloud for outproxy, meeh with me for everything else 2022-08-19 11:23:58 -04:00
zzz
7b8fd78109 1.9.0 release notes draft 2022-08-19 11:23:29 -04:00
zzz
f8126bcdb3 Note deprecated specs 2022-08-17 09:50:24 -04:00
idk
ba3649ec5f add i2psharp to samv3 table 2022-08-14 18:33:38 -04:00
zzz
9b3ad88d38 Stub out SSU2 spec, point to proposal, add to doc index 2022-08-10 08:43:52 -04:00
idk
7af7321aa6 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-08-08 19:41:32 -04:00
idk
a3301b51b5 fix stormycloud link in blog post 2022-08-08 19:41:03 -04:00
zzz
a3009ed0ed Prop. 159 congestion control updates 2022-08-08 14:01:08 -04:00
zzz
86027a844d Prop. 159 replay prevention updates 2022-08-08 11:18:13 -04:00
zzz
07ec52fc00 Ports update 2022-08-07 08:40:37 -04:00
zzz
497cea6ddb Update spec: Clarify pack200 no longer used 2022-08-06 12:32:44 -04:00
idk
8b9dd95ba9 Move SSU2 blog post to draft status 2022-08-04 17:33:07 -04:00
idk
b7c0d0ba6c scrub stormycloud png 2022-08-04 16:14:10 -04:00
idk
66da87517b fix small error in ssu2 blog post 2022-08-04 15:51:40 -04:00
idk
85763da435 fix stormycloud screenshot 2022-08-04 15:25:48 -04:00
idk
233fa660a2 add hardware label to hardware block quote 2022-08-04 15:20:27 -04:00
idk
c6b39c0d7e edit stormycloud blog post slightly 2022-08-04 15:19:35 -04:00
idk
5eeb7e7e33 add stormycloud blog post, set class screenshot to 95% parent width in default CSS, run formatter over CSS 2022-08-04 15:12:01 -04:00
zzz
d4ef43b5ca Prop. 159: Clarify csz may be 0 in relay response from Charlie 2022-08-04 13:32:04 -04:00
zzz
851a168de9 Fix meeting date 2022-08-04 08:10:20 -04:00
idk
79092730cd add meeting logs and ssu2 blog post 2022-08-03 21:34:54 -04:00
idk
edb2366a8e Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-08-03 21:00:16 -04:00
idk
5e6f2e5f73 add SSU2 blog post 2022-08-03 20:59:57 -04:00
idk
1f2872c447 add meeting logs 2022-08-03 20:33:28 -04:00
idk
4764513a60 add meeting logs 2022-08-03 20:32:40 -04:00
79f47d805d undraft 2022-08-03 23:07:31 +01:00
8c1efe0da7 absolute clearnet url 2022-08-03 23:06:02 +01:00
44583cbbbe draft blog post for mac arm64 bundle 2022-08-03 19:32:51 +01:00
zzz
d77dd88ef4 Prop. 159 Connection migration (preliminary)
Multiple sessions guidance
Add Replace session reason code 22
Add address and datetime blocks to path challenge/response
Minor cleanups
2022-07-29 10:16:20 -04:00
f4cee6cfc7 Apple silicon bundle BETA 2022-07-28 19:46:39 +01:00
zzz
8b13c65a42 Prop. 159 clarify path response data 2022-07-27 10:36:55 -04:00
zzz
70ba93f191 Prop. 159 add termination response
Clarify peer test mixed v4/v6 in SSU 1
Fix SSU 1 peer test typos
2022-07-27 10:25:39 -04:00
zzz
784c862e1c Prop. 159 minor updates 2022-07-19 11:26:14 -04:00
zzz
6c2211604f Prop. 159 relay notes 2022-07-10 15:27:34 -04:00
zzz
899fe71003 Prop. 159 updates 2022-07-09 07:33:56 -04:00
idk
2ba4101336 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-07-05 19:06:43 -04:00
idk
b1e88542a1 add new meeting logs 2022-07-05 19:06:12 -04:00
zzz
b5ac2be187 Roadmap updates 2022-06-30 10:35:18 -04:00
zzz
6a27614c29 Prop. 159 minor updates 2022-06-30 10:20:53 -04:00
idk
038c3273da update roadmap for idk 2022-06-27 13:50:26 -04:00
idk
65cd9a59e4 update version and hash for android 1.8.2 2022-06-26 09:14:05 -04:00
zzz
80c8ee8f91 Prop. 159 peer test updates 2022-06-22 10:49:49 -04:00
zzz
a336f94e58 Prop. 159 minor updates 2022-06-20 12:34:19 -04:00
idk
97e7dd744e update version and hash of I2P for android 2022-06-17 03:32:35 -04:00
zzz
3d01cc002f Prop. 159 relay updates 2022-06-15 07:30:58 -04:00
zzz
bef5c543a5 Prop. 159 more updates 2022-06-13 15:34:36 -04:00
zzz
0c869038a0 Update info on BOB deprecation 2022-06-13 09:30:03 -04:00
zzz
dc5db6aab6 prop. 159 updates 2022-06-12 13:26:01 -04:00
zzz
849b539110 hosts.txt update 2022-06-09 15:09:49 -04:00
idk
e012355786 add meeting logs for June 7 2022-06-08 12:05:28 -04:00
zzz
a9eab9d480 SAM: More notes on I2CP/streaming options 2022-06-08 09:21:45 -04:00
zzz
4a60aeca65 SAM: More datagram reorg 2022-06-08 09:12:16 -04:00
zzz
9962d6b4eb SAM: Add notes on MTU
Restructure the datagram section headers
Add a datagram overview section
Remove bottom section on client libs
2022-06-08 08:55:23 -04:00
zzz
458aa80a6a I2NP: fix header level 2022-06-07 05:40:14 -04:00
zzz
f9369db6be SSU 1/2: Clarification of address in peer test messages 5-7
Add note about SSU2 introducer order
2022-06-06 10:29:31 -04:00
zzz
31fd410e90 SSU: Update future work section 2022-06-06 09:22:31 -04:00
zzz
06c9cf37d4 Prop. 159 minor updates 2022-06-05 08:21:55 -04:00
zzz
88a7739b40 Prop. 159 more updates 2022-06-02 16:11:50 -04:00
zzz
b8f0b3f949 Prop. 159 minor updates 2022-06-01 14:01:03 -04:00
idk
f5bbf8ce05 update android downloads and hashes 2022-05-29 01:01:12 -04:00
idk
3acafc30c5 remove releases from path in in-i2p mirror 2022-05-27 11:58:26 -04:00
idk
0c1f0d8560 update Windows easy-install hash and version 2022-05-24 16:23:59 -04:00
idk
c68e99955a update the .dmg easy-install 2022-05-24 09:52:54 -04:00
idk
b3ddc06593 Undraft the blog post 2022-05-23 17:31:55 -04:00
idk
0b586aef89 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-05-23 17:30:35 -04:00
idk
35378753f0 Update hashes and release 2022-05-23 17:29:23 -04:00
zzz
44f019e056 1.8.0 checksums 2022-05-23 11:59:49 -04:00
idk
19e26158df fix missing host line in ssh tunnels.conf for i2pd 2022-05-22 13:27:54 -04:00
zzz
364b42c753 1.8.0 release notes draft 2022-05-22 11:20:58 -04:00
idk
0bda15c9a0 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-05-20 09:55:17 -04:00
idk
5c35973b8b revise i2pd examples 2022-05-20 09:54:09 -04:00
zzz
0749bcfc7f Prop. 159 remove role field from Peer Test block 2022-05-17 13:19:48 -04:00
idk
b0db17e5b5 update i2p.firefox download 2022-05-15 00:15:36 -04:00
idk
e228aa1c98 downgrade i2p.firefox version 2022-05-08 22:40:00 -04:00
idk
235b8877af update I2P easy-install version 2022-05-05 19:53:53 -04:00
idk
a81efad7f4 add meeting log 311 2022-05-03 19:37:00 -04:00
zzz
3508f8301d Prop. 159 add Relay Response block to Hole Punch message 2022-05-02 15:21:06 -04:00
zzz
9e964a9a64 Prop. 159 fix reference 2022-05-02 14:24:05 -04:00
zzz
c1adc7ef1f Prop. 159 hole punch updates
SSU spec: add more info on changes in 0.9.50
2022-05-02 12:04:44 -04:00
zzz
2df96f417b Prop. 159 minor updates 2022-04-30 11:41:34 -04:00
zzz
115b9d4a4e Prop. 159 introducers update 2022-04-27 11:00:24 -04:00
zzz
0a552d866e Download page bundle cleanup/consistency 2022-04-26 07:56:40 -04:00
zzz
978979f38d Prop. 159 relay response changes 2022-04-25 09:57:59 -04:00
zzz
422a65f965 Prop. 159 peertest/relay updates
Switch order of IP/port
Add chash to RelayIntro sig
2022-04-25 09:30:10 -04:00
zzz
405a7a0fd9 Prop. 159 peer test updates 2022-04-25 08:07:59 -04:00
idk
37bf3c1a4a Blog entry for Easy-Install Updates/JVM updates 2022-04-21 13:18:01 -04:00
idk
6cbb09369f Blog post for Jpackge Updates 2022-04-21 13:10:01 -04:00
idk
115e04df72 Update the Mac and Windows bundles 2022-04-20 20:11:52 -04:00
zzz
6a9d5f4544 Prop. 159 updates 2022-04-10 13:46:59 -04:00
zzz
a093201fa7 Streaming: Add info on immediate ack 2022-04-06 12:18:31 -04:00
zzz
0c25f1d5bc Call streaming a protocol 2022-04-06 12:12:40 -04:00
idk
832fa670e1 Add meeting log 310. Add .vscode directory to gitignore so 'git clean -fd' won't delete it 2022-04-06 10:12:22 -04:00
zzz
d9b5bbd079 Prop. 159: More on Sess. Conf. fragmentation 2022-04-02 07:43:18 -04:00
zzz
f4def81f3f Prop. 159: Proposed Session Confirmed fragmentation 2022-04-01 10:22:39 -04:00
zzz
b18ddb7ce4 Prop. 159: More on retransmission 2022-04-01 09:14:51 -04:00
zzz
dba879a258 fix title 2022-03-31 13:43:20 -04:00
zzz
c7992c7ef0 Prop. 159 updates
acks, schedule
2022-03-31 13:43:20 -04:00
idk
53bdcd8d57 check in updated translations 2022-03-30 11:44:32 -04:00
zzz
39cd909102 Prop. 159 update goals, more ack block examples 2022-03-27 06:39:45 -04:00
zzz
6f24eb4ff3 Prop. 159 info on dups and timeouts 2022-03-26 08:15:49 -04:00
zzz
75702928d0 typo 2022-03-25 07:52:52 -04:00
zzz
35f5e86249 Prop. 159 Acks and congestion updates 2022-03-25 07:52:00 -04:00
idk
640dfed4b4 Browser config page updates, add extension names to extension section headings 2022-03-24 16:05:45 -04:00
zzz
48231b9cd0 Prop. 159 minor updates 2022-03-24 05:17:36 -04:00
zzz
8c87a1fadd markdown fix 2022-03-22 13:14:55 -04:00
zzz
b5d1d9ffc3 Prop. 159 updates
Peer Test fixes and error codes
Handshake packet number fixes
2022-03-22 08:51:35 -04:00
idk
42b6cec179 update my roadmap items 2022-03-19 16:37:29 -04:00
idk
71be365cec update my roadmap items 2022-03-19 16:26:34 -04:00
zzz
16d78a3552 Prop. 159 updates
Peer Test, amplification, RI compression
2022-03-17 10:50:06 -04:00
zzz
d72e71a30d Prop. 159 fixes 2022-03-16 05:48:27 -04:00
zzz
c6b9004b2d Prop. 159 updates 2022-03-13 11:22:13 -04:00
idk
eed87038d4 Merge branch 'master' into 'master'
Fix incorrect link description

See merge request i2p-hackers/i2p.www!18
2022-03-10 23:19:14 +00:00
90c19a4fa8 Fix incorrect link description 2022-03-10 23:19:14 +00:00
zzz
efed132816 Add interviews 2022-03-10 14:53:16 -05:00
idk
920041a6a8 bump android version to 1.7.1 2022-03-06 12:19:19 -05:00
idk
f4de433604 add $OS, $ARCH to plugin 2022-03-04 13:20:24 -05:00
idk
2b92904eb7 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-03-01 15:41:05 -05:00
idk
a49624d054 Add March 1 Meeting 2022-03-01 15:40:38 -05:00
zzz
5e1aa686de Prop. 159 minor updates 2022-02-27 14:41:16 -05:00
idk
7c0baa5c30 Update the easy-install bundle, reddit announce in the morning, it won't auto-update until the next cycle 2022-02-27 03:04:35 -05:00
idk
613b18d077 Update android build, freestanding release only 2022-02-22 17:58:18 -05:00
zzz
4c3fd2ac91 roadmap update 2022-02-21 16:34:16 -05:00
idk
c07d8cee22 undraft the blog post, update all the hashes, re-align the mirrors and push the release 2022-02-21 15:20:54 -05:00
zzz
e92333495b 1.7.0 checksums 2022-02-21 10:37:40 -05:00
zzz
f410760bdc Prop. 159 more updates 2022-02-19 11:23:12 -05:00
zzz
10e298b1ef Prop. 159 updates 2022-02-18 10:46:30 -05:00
zzz
c727cd140b Prop. 159 more header key 2 fixes 2022-02-18 08:32:13 -05:00
zzz
65e8096e79 Prop. 159 change retry header key 2 2022-02-18 08:13:35 -05:00
zzz
6406a1ae3f Prop. 159 updates 2022-02-17 11:07:47 -05:00
zzz
4716c1517c Prop. 159 schedule
Add Charlie hash to relay sig
2022-02-17 09:22:00 -05:00
zzz
d1a1160bd6 1.7.0 draft release notes 2022-02-17 09:05:03 -05:00
zzz
c09ce9a7c0 Prop. 159 relay sig tweaks 2022-02-17 08:20:52 -05:00
zzz
4a7102ac8b Prop. 159 relay sigs 2022-02-17 06:11:03 -05:00
zzz
b082cd333c Prop. 159 relay 2022-02-17 05:57:14 -05:00
zzz
a59293d378 SU3 spec: Add link to Python RSA signing how-to 2022-02-16 14:26:22 -05:00
b2c0faa65c Update docker instructions 2022-02-16 16:13:42 +00:00
zzz
99a3ab047f Prop. 159 more peer test cleanups 2022-02-16 08:17:26 -05:00
zzz
9e22b4efd8 Prop. 159 markdown fixes 2022-02-16 08:12:03 -05:00
zzz
24bd1d86e6 Prop. 159 peer test cleanup 2022-02-16 07:22:02 -05:00
zzz
f7b92065c4 Prop. 159 fixes 2022-02-16 07:06:05 -05:00
zzz
b83b9f9470 Prop. 159 fixes 2022-02-15 05:33:14 -05:00
zzz
9c35cfa53b Prop. 159 minor updates 2022-02-14 06:38:29 -05:00
idk
a3675758e3 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2022-02-12 11:01:20 -05:00
idk
9f963b7869 fix hash on OSX download page 2022-02-12 11:00:47 -05:00
zzz
56e40bae86 Prop. 159 updates
- New Token message
- First Packet Number block
- Misc. cleanups
2022-02-12 10:59:53 -05:00
idk
8dfe9fcfe9 Fix the hash on the .dmg download which still corresponded to 1.5.0 2022-02-12 10:32:44 -05:00
zzz
5f97f11736 Prop. 159 min. payload sizes 2022-02-10 16:07:49 -05:00
zzz
50eb1abb4f Prop. 159 handshake retransmissions and packet numbers 2022-02-10 13:02:05 -05:00
zzz
1e152b06d2 Prop. 159 update goals 2022-02-09 13:06:24 -05:00
zzz
f096096a4f Prop. 159 retry message encryption
and more fixes
2022-02-09 11:46:14 -05:00
zzz
a721b0e5d9 Prop. 159 minor fixes 2022-02-09 11:08:09 -05:00
zzz
397c51b7d9 Prop. 159 header encryption updates
Combine header protection and encryption, call it encryption
Add header encryption goals
Redesign header encryption
Add header encryption key table
Add intro key block
More info and rules on conn ids
Rework inbound packet handling section
2022-02-09 07:22:33 -05:00
idk
729c87eff1 Fix spacing on OSX 2022-02-08 20:17:17 -05:00
idk
f85fe2e498 Edit downloads list for consistency 2022-02-08 16:15:46 -05:00
idk
529ce105b7 Add February meeting logs 2022-02-08 15:58:03 -05:00
zzz
98cf358301 Prop. 159 goals, MTU, max message size 2022-02-07 07:38:30 -05:00
zzz
646682d24e Prop. 159 more updates 2022-02-06 11:26:21 -05:00
zzz
313c8c4eff Prop. 159 MTU and RI block updates 2022-02-06 10:24:58 -05:00
zzz
0c356ba0fd Prop. 159 address block 2022-02-06 05:43:39 -05:00
zzz
f5034f733b Prop. 159 minor updates 2022-02-05 10:08:24 -05:00
idk
453244ef8e Update plugin.config and clients.config in specifications to include OS and ARCH substitutions 2022-02-02 13:47:53 -05:00
zzz
f5a64b6816 Prop. 159 updates 2022-02-02 06:31:44 -05:00
idk
f28b418ff9 Merge branch 'thecashewtrader-master-patch-40804' into 'master'
Fix broken/outdated GNUnet link

See merge request i2p-hackers/i2p.www!17
2022-01-30 22:47:37 +00:00
zzz
1461bb644b Prop. 159 header protection keys 2022-01-30 13:58:08 -05:00
d1bf4963ff Fix broken/outdated GNUnet link 2022-01-29 10:33:51 +00:00
zzz
c296906c1c Close proposals 143, 156, 157
Fix headers on proposals 152, 153
2022-01-28 11:19:15 -05:00
zzz
1a2580b5f8 Add categories to specs that didn't have them,
add Formats category
2022-01-28 10:57:52 -05:00
zzz
bd06167ee3 minor fixes 2022-01-27 07:19:12 -05:00
zzz
43c1e0cbc6 NTCP2: Add clock skew guidance 2022-01-26 08:01:01 -05:00
idk
b8e79e2862 minor revisions, re-ordering on get-involved 2022-01-20 22:43:36 -05:00
idk
27b6b07b6e fix date on last meeting log 2022-01-19 14:02:58 -05:00
zzz
baaa876824 minor proposal fixes 2022-01-17 11:41:57 -05:00
idk
d0a68e42ee Bump version of I2P Easy-Install Bundle for Windows, prepare to announce final manual update 2022-01-14 10:22:19 -05:00
zzz
db9e6e55a9 i2pcontrol: Add status notes 2022-01-12 08:42:00 -05:00
idk
a6d637478c Remove Pick your Bundle since OS detection throws you right at the one you want anyway 2022-01-11 14:06:03 -05:00
idk
82631fcf0e Remove Getting Started steps, as they no longer apply to the majority of platforms 2022-01-11 14:02:28 -05:00
idk
30f908ae68 fix omission on download list. Add indentation so it's a little less annoying to look at. 2022-01-11 13:44:34 -05:00
zzz
fbae3e923a i2pcontrol: Add i2pd compatibility notes 2022-01-08 15:26:30 -05:00
zzz
aa00c65f7c roadmap updates 2022-01-07 11:11:05 -05:00
zzz
b7d46ed50c logging guidelines 2022-01-07 10:45:10 -05:00
zzz
a38f220076 hosts.txt update 2022-01-07 05:53:06 -05:00
zzz
0c3bdfe434 Plugin spec: Document fixes for 0.9.53 2022-01-05 17:08:52 -05:00
idk
39a50bfe0f Remove mtn reference 2022-01-05 15:00:15 -05:00
idk
b3fb4210a4 Add my docs mirror 2022-01-05 14:48:26 -05:00
idk
96c6a88692 Switch in-i2p javadocs to my site instead of echelon's, which is down 2022-01-05 14:11:04 -05:00
idk
9ed54c446c Remove out-of-date tutorials from media page. Split old roadmap out into roadmap-archive 2022-01-05 12:02:00 -05:00
idk
625a56ab0c Download page fixes for Mac OSX 2022-01-05 10:57:04 -05:00
idk
66459bd2a4 update Mac package on the page to prioritize DMG 2022-01-05 10:17:25 -05:00
zzz
34480f71a3 hosts.txt update 2022-01-05 06:27:15 -05:00
idk
cf8a9610ae Meeting logs Jan 4 2022 2022-01-04 16:14:33 -05:00
zzz
6317a8e324 HTML fix 2022-01-04 13:57:38 -05:00
zzz
b95f1c1bd8 Prop. 160 fix 2022-01-03 12:34:47 -05:00
zzz
58e8d06479 Prop. 160 updates 2022-01-03 11:58:18 -05:00
zzz
806957f9a0 bt spec: clarify a node ID is not a hash 2022-01-03 09:51:25 -05:00
zzz
bfede5c6f8 markdown fix 2022-01-03 09:14:35 -05:00
zzz
8697c044ef Add SAM lib 2022-01-03 08:43:36 -05:00
zzz
901532f1e4 Markdown fix 2022-01-03 08:24:50 -05:00
zzz
d82e1a6671 Prop. 160 fixes 2022-01-03 08:18:15 -05:00
zzz
f73dddbe67 Pull translations from TX 2022-01-03 07:47:53 -05:00
zzz
535f59d8c0 New proposal 160 2022-01-03 07:29:12 -05:00
idk
ab4868689d Add year-in-review blog post by sadie 2022-01-01 13:17:33 -05:00
zzz
cda9eaf0e9 Add new SAM lib 2021-12-31 07:46:50 -05:00
idk
f40c5ebdfb update my roadmap items 2021-12-27 23:46:57 -05:00
zzz
7c974d00d1 Roadmap update 2021-12-27 09:52:05 -05:00
zzz
b2819e56af I2CP spec minor clarifications 2021-12-26 08:17:26 -05:00
idk
0d50423123 Fix link to proxy.pac article, add Advent Calendar article 2021-12-21 10:05:40 -05:00
zzz
91b525c1f6 Add paper 2021-12-21 09:55:44 -05:00
idk
ed8b8932d5 Remove flattr, remove donate from get-involved 2021-12-14 16:45:07 -05:00
idk
946c58e49e undraft cve-2021-44228 post 2021-12-11 15:53:35 -05:00
idk
65cddc7f39 fix header line length in draft blog post 2021-12-11 15:04:32 -05:00
idk
6579dfe7a1 Minor edit to CVE blog post 2021-12-11 13:01:35 -05:00
idk
db5c82cec8 draft CVE-2021-44228 blog post 2021-12-11 12:40:45 -05:00
idk
9df7800be5 Add cursors 2021-12-10 16:44:27 -05:00
idk
8c70e00e8a Make old installation section an update section 2021-12-10 16:06:01 -05:00
idk
dda609764c Make Benefits section a header 2021-12-10 15:54:38 -05:00
idk
bad51cde61 Add plugin install example to plugin install page 2021-12-10 15:13:26 -05:00
idk
176d0eb228 Remove page 2021-12-10 14:14:03 -05:00
idk
37a59a7acb Add meeting logs 2021-12-07 22:40:40 -05:00
idk
b68325c763 bump the .dmg bundle version to 1.6.1 2021-12-07 00:29:47 -05:00
zzz
1c2a66ad3b Remove mention of monotone on d/l page, fix android source link 2021-12-05 05:32:28 -05:00
zzz
c8c26123ca Fix sentence in reseed doc 2021-12-04 15:18:45 -05:00
zzz
dabeff7cd0 Protocol stack doc update 2021-12-02 15:50:33 -05:00
idk
d534d0d8d2 Fix OSX bundle version numbers so they can be out of sync with core version numbers 2021-12-01 22:31:18 -05:00
idk
9502a7d9a5 add i2pgit to i2pconv table, edit release notes to match links 2021-12-01 16:54:25 -05:00
idk
6d329a328e 1.6.1 2021-12-01 16:30:10 -05:00
idk
c0f1fa0145 Update the fdroid verion 2021-12-01 15:48:09 -05:00
idk
4a37182295 Undraft blog post and switch mirrors 2021-12-01 15:43:11 -05:00
zzz
83b028c8f3 1.6.1 release notes update 2 2021-11-29 15:28:17 -05:00
zzz
7abb9b91b0 1.6.1 release notes update 2021-11-29 15:28:17 -05:00
idk
02eb987af6 Remove more references to trac, indicate it is being replaced on team page 2021-11-28 21:38:15 -05:00
idk
f48575e27c Remove mention of PrivacySolutions from the Browser Page, revisions to outproxy copy 2021-11-28 10:35:39 -05:00
zzz
21a84bb235 1.6.0 release draft
fix blog readme
bump samv3 doc date
2021-11-25 10:10:43 -05:00
idk
c693b0961c Correct the DivaExchange SAM library description, they use RAW datagrams 2021-11-23 12:18:33 -05:00
idk
f095a042ff Update the sam3 library info, it supports sam3.3 now 2021-11-23 11:07:00 -05:00
idk
19aa05d82e Add DivaExchange/i2p-sam to SAM libraries list, tenatively marked 3.1, it may implement some parts of 3.2 as well 2021-11-23 11:01:51 -05:00
idk
b7cb1383b7 Merge branch 'debchanges' into 'master'
Simplify Debian page content per suggestions from @anonymousmaybe

Closes #33

See merge request i2p-hackers/i2p.www!15
2021-11-21 15:07:40 +00:00
idk
62e4170b84 Simplify Debian page content per suggestions from @anonymousmaybe 2021-11-21 15:07:40 +00:00
zzz
e09b341493 Reseed guide more updates 2021-11-08 11:50:03 -05:00
zzz
19d9dda430 Reseed guide updates 2021-11-08 11:03:28 -05:00
idk
74a09ce6e3 Fix version, undraft post 2021-11-04 15:50:15 -04:00
idk
9a671a9a1c Fix links 2021-11-04 14:14:56 -04:00
idk
9635cc2ec6 Fix Mac OS note 2021-11-04 13:39:49 -04:00
idk
2da8a79482 Fill out jpackage blog post 2021-11-04 13:38:40 -04:00
idk
56e320b511 Add a blog post for new jpackages 2021-11-04 13:06:11 -04:00
idk
3df062677a Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.www 2021-11-02 17:11:55 -04:00
idk
3f9700c08c Add community meeting logs 2021-11-02 17:10:58 -04:00
zzz
53bc04f402 sublist try 4 2021-10-26 14:57:43 -04:00
zzz
2e17f6e16e prop. 159 fixes
- Try again to fix sublists markdown
- spell check
2021-10-26 14:10:25 -04:00
zzz
ddddc9dc9d prop. 159 fixes
- Don't increment packet numbers for retransmitted handshake msgs
- Header is input to MixHash(), not AD, in handshake
- Optional compression for router info block
- Attempt to fix sublists markdown
2021-10-26 13:06:04 -04:00
zzz
9fae96a317 prop. 159: updates
- Switch from AES to ChaCha20 for header encryption
- Switch from router hash to intro key for header encryption
- Extend the receiver loop section
2021-10-26 09:23:14 -04:00
zzz
58d59e7c23 prop. 159 minor updates 2021-10-24 08:01:40 -04:00
zzz
46d6c03740 prop. 159 ack/nack 2021-10-22 16:51:07 -04:00
zzz
6767b79d1d prop. 159 congestion and other updates 2021-10-22 13:16:36 -04:00
zzz
b0843926f7 prop. 159 relay and peer test versions 2021-10-21 10:27:14 -04:00
zzz
338f2fee07 prop. 159 relay and peer test goals 2021-10-21 10:14:27 -04:00
zzz
b25c179444 Add NTCP 1 removal releases and dates 2021-10-21 09:33:19 -04:00
zzz
3aa63a2a80 Note NTCP 1 is no longer supported 2021-10-21 09:28:39 -04:00
zzz
6552ef767f Prop. 159 session confirmed alternatives 2021-10-19 14:32:33 -04:00
zzz
ddfa9b3063 SSU: Document that the Bob-to-Alice peer test message
must be in-session as of API 0.9.52.

Already implemented by i2pd; Java I2P fixes will be in 1.6.0.
2021-10-19 14:31:10 -04:00
zzz
5344482dbe prop. 159 back to 16 byte short header 2021-10-18 11:06:28 -04:00
zzz
79f3bc3290 Update prop. 159 2021-10-18 09:58:42 -04:00
zzz
2d49073384 Capitalize Title 2021-10-18 06:56:45 -04:00
zzz
0754e903f6 Proposal 159 updates 2021-10-17 13:15:09 -04:00
zzz
3cd54147f2 Proposal 159 fixes 2021-10-17 09:32:53 -04:00
zzz
0c3e740b6a Prop. 159 markdown fixes take 3 2021-10-17 07:48:30 -04:00
zzz
dee89ee36b Prop. 159 markdown fixes 2021-10-17 07:07:24 -04:00
zzz
e825cd79e1 Prop. 159 markdown fix, more sections 2021-10-17 06:53:34 -04:00
zzz
49d005c534 Prop. 159 more updates 2021-10-16 16:24:49 -04:00
zzz
cdcea91fd4 Prop. 159 more sections 2021-10-16 13:44:28 -04:00
zzz
4c1b2b7d26 Prop. 159 more updates 2021-10-16 07:58:41 -04:00
zzz
440d9a4509 Prop. 159 update KDF sections 2021-10-15 10:53:35 -04:00
zzz
b526f75c9b Fix meeting dates 2021-10-14 16:24:39 -04:00
zzz
ed0f9e4371 Still more prop 159 updates 2021-10-14 15:33:15 -04:00
zzz
42436168b1 More prop 159 updates 2021-10-14 15:05:10 -04:00
zzz
bea8d90408 Prop 159 major update
Start of the spec sections, very much WIP
2021-10-14 13:27:39 -04:00
zzz
33f0c27ab1 Add Hungarian to dropdown
README updates
2021-10-11 12:45:11 -04:00
zzz
16cd5f629e Update spectags file 2021-10-11 12:32:34 -04:00
zzz
be12819ae2 Update translation source files 2021-10-11 12:28:35 -04:00
zzz
b90d781ebd Pull translations from Transifex 2021-10-11 12:25:26 -04:00
zzz
87ca8d5a7c Prop. 159 edit design goals section 2021-10-11 10:19:21 -04:00
idk
3ee4d16731 Add meeting logs. Add note about x86_64 and M1 Mac performance to OSX page 2021-10-05 18:23:43 -04:00
714 changed files with 389322 additions and 165619 deletions

0
.dockerignore Normal file
View File

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
env/
i2p2www/translations/*/LC_MESSAGES/*.mo
*~
.vscode

View File

@ -1,60 +1,60 @@
[main]
host = https://www.transifex.com
host = https://www.transifex.com
lang_map = ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, zh_CN: zh
[I2P.website_about]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/about.po
source_file = pots/about.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_about]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/about.po
source_file = pots/about.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_blog]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/blog.po
source_file = pots/blog.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_blog]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/blog.po
source_file = pots/blog.pot
source_lang = en
type = PO
minimum_perc = 2
[I2P.website_comparison]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/comparison.po
source_file = pots/comparison.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_comparison]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/comparison.po
source_file = pots/comparison.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_docs]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/docs.po
source_file = pots/docs.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_docs]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/docs.po
source_file = pots/docs.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_get-involved]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/get-involved.po
source_file = pots/get-involved.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_get-involved]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/get-involved.po
source_file = pots/get-involved.pot
source_lang = en
type = PO
minimum_perc = 3
[I2P.website_misc]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/misc.po
source_file = pots/misc.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_misc]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/misc.po
source_file = pots/misc.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_priority]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/priority.po
source_file = pots/priority.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_priority]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/priority.po
source_file = pots/priority.pot
source_lang = en
type = PO
minimum_perc = 10
[I2P.website_research]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/research.po
source_file = pots/research.pot
source_lang = en
type = PO
[o:otf:p:I2P:r:website_research]
file_filter = i2p2www/translations/<lang>/LC_MESSAGES/research.po
source_file = pots/research.pot
source_lang = en
type = PO
minimum_perc = 10

View File

@ -1,16 +1,19 @@
FROM debian:buster
FROM debian:oldoldstable
ENV SERVERNAME=geti2p.net
ENV SERVERMAIL=example@geti2p.net
ADD . /var/www/i2p.www
WORKDIR /var/www/i2p.www
## Install the dependencies
#RUN #grep -v security.debian /etc/apt/sources.list > /etc/apt/sources.list.bak && \
#grep -v stretch-updates /etc/apt/sources.list.bak > /etc/apt/sources.list && \
RUN apt-get update && \
apt-get -y install apache2 apache2-utils libapache2-mod-wsgi python2-dev python-pip patch python-virtualenv git python-polib && \
apt-get -y install apache2 apache2-utils libapache2-mod-wsgi python2-dev python-pip patch python-virtualenv git python-polib
ADD . /var/www/i2p.www
## Start setting up the site
rm -rfv env && \
RUN rm -rfv env && \
virtualenv --distribute env && \
. env/bin/activate && \
pip install -r etc/reqs.txt && \

View File

@ -1,8 +1,43 @@
# Introduction
This web-server for running the i2p-website is a collection of scripts (aka **The Python Scripts**) and content-files to:
* manage updates (based on git),
* manage translations (generating translation files before the web-server is run),
* manage tags (generating tag files before the web-server is run),
* run a web-server creating/delivering pages on-demand (using WSGI)
This is not a static web-site generator. To see the pages you will need to setup your system for the python and shell-scripts and run the web-server contained as described. Due to heavy use of tags even content changes quickly will require a *build environment* to check your changes (towards breaking the build process). Translations can be done using solely a web-site and then do not require any of this (others will integrate all changes from the web-site using these scripts).
The authors are the I2P team. For details about licensing see [LICENSE.txt](/LICENSE.txt).
# Requirements Overview
If you don't want to deal with the requirements/software, you can use a docker config (see [Dockerfile](/Dockerfile)) which will set these up automatically. Otherwise you will need to satisfy the following requirements (that Dockerfile contains the commands for Debian btw.):
* git
* python2
* pip
* virtualenv
* apache (using WSGI to call the scripts)
* ctags? (was mentioned to be needed as both, system package + python package, but it seems only the python package is being installed?)
* transifex-client? (There is a transifex-client in Debian which might be needed for the translation steps described below?)
**Note** that the scripts will install additional software packages (see /etc/reqs.txt) from outside your distribution (into the virtual environment if using docker) using pip and then do some custom patching (meaning pinned versions?).
**Note** also that the manual way described in the following suggests to use proxychains with Tor to avoid Clearnet traffic, while the Docker version seems to use Clearnet for that.
# I2P website
To run locally (for testing purposes):
- Install proxychains, configure it for Tor
- Install virtualenv and Python 2.7
- (Optional) Install proxychains, configure it for Tor
- Pull in the dependencies:
@ -21,9 +56,13 @@ To run locally (for testing purposes):
- Start the webserver:
```
$ source env/bin/activate # activates virtualenv
$ ./runserver.py
$ deactivate # ..s virtualenv
```
(if the shell in use is not bash, you can append its name to the activator if supported: `...ivate.fish`)
- Open the site at http://localhost:5000/
## Running a mirror
@ -34,9 +73,7 @@ If you want to mirror the I2P website, thanks! Here is a checklist:
- In particular, do not change the `CANONICAL_DOMAIN` variable in
`i2p2www/__init__.py`, it needs to point to the official site for SEO.
- If you need to edit variables in `etc/update.vars`, copy the file to
`etc/update.vars.custom` and edit appropriately. The only variable you
may need to edit is `MTNURL` in `etc/update.vars` (if your Monotone client
tunnel is listening on a different port).
`etc/update.vars.custom` and edit appropriately.
- If you want to enable caching, copy `i2p2www/settings.py.sample` to
`i2p2www/settings.py` and edit appropriately.
- Add `./site-updater.sh` to your crontab. This will keep the site updated,
@ -47,7 +84,7 @@ If you want to mirror the I2P website, thanks! Here is a checklist:
## Running a mirror with Docker
It's possible to set up a mirror using apache2 inside of a Docker container.
It is intended to provide a HTTP server, to use HTTPS, using a reverse proxy
It is intended to provide a HTTP-only server. To use HTTPS, using a reverse proxy
is the easiest way. You should not need to make any modifications to the
service running inside the container, but you may make the same modifications
to the containerized mirror that you would to a normal mirror by changing your
@ -59,7 +96,7 @@ settings.
- When you have your mirror configured, add `site-updater-docker.sh` to your crontab
to keep the site up-to-date.
## Configuration
# Configuration and Translations
Configuration files for the various scripts are in `etc/`. Environment variables
in `etc/translation.vars` can be overridden by creating the file
@ -70,7 +107,7 @@ in `etc/translation.vars` can be overridden by creating the file
1. Pull new and updated translations from Transifex:
```
$ tx pull -a
$ tx pull --use-git-timestamps -a
```
2. Correctly format the translations:
@ -99,11 +136,6 @@ in `etc/translation.vars` can be overridden by creating the file
$ git commit -am "Updated translations"
```
```
# older mtn instructions
$ mtn ci `cat newtranslations.txt` -m "Updated translations"
```
6. Check in any new translations:
First, look to see which translations are supported in i2pwww/__init__.py.
For any new translations that are NOT in __init__.py,
@ -115,11 +147,6 @@ in `etc/translation.vars` can be overridden by creating the file
$ git add i2p2www/translations/* && git commit -am "New translations"
```
```
# older mtn instructions
$ mtn add -R i2p2www/translations/ && mtn ci i2p2www/translations/ -m "New translations"
```
## Pushing updated translation source (.pot) files to Transifex:
1. Update the .pot files with any changes to the website text:
@ -135,15 +162,10 @@ in `etc/translation.vars` can be overridden by creating the file
$ git commit -am "Updated translation strings"
```
```
# older mtn instructions
$ mtn ci pots/ -m "Updated translation strings"
```
3. Push pots file changes to Transifex:
```
$ tx push -s
$ tx push --use-git-timestamps -s
```
## Updating spec tags:

View File

@ -1,190 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="362pt" height="422pt" viewBox="0 0 362 422" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 0.84375 3 L 0.84375 -11.984375 L 9.34375 -11.984375 L 9.34375 3 L 0.84375 3 Z M 1.796875 2.0625 L 8.40625 2.0625 L 8.40625 -11.03125 L 1.796875 -11.03125 L 1.796875 2.0625 Z M 1.796875 2.0625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 1.671875 -12.390625 L 3.34375 -12.390625 L 3.34375 0 L 1.671875 0 L 1.671875 -12.390625 Z M 1.671875 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 3.34375 -11.015625 L 3.34375 -6.359375 L 5.453125 -6.359375 C 6.234375 -6.359375 6.835938 -6.5625 7.265625 -6.96875 C 7.691406 -7.375 7.90625 -7.945312 7.90625 -8.6875 C 7.90625 -9.425781 7.691406 -10 7.265625 -10.40625 C 6.835938 -10.8125 6.234375 -11.015625 5.453125 -11.015625 L 3.34375 -11.015625 Z M 1.671875 -12.390625 L 5.453125 -12.390625 C 6.835938 -12.390625 7.882812 -12.078125 8.59375 -11.453125 C 9.3125 -10.828125 9.671875 -9.90625 9.671875 -8.6875 C 9.671875 -7.46875 9.3125 -6.546875 8.59375 -5.921875 C 7.882812 -5.296875 6.835938 -4.984375 5.453125 -4.984375 L 3.34375 -4.984375 L 3.34375 0 L 1.671875 0 L 1.671875 -12.390625 Z M 1.671875 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M -0.046875 -12.390625 L 10.4375 -12.390625 L 10.4375 -10.984375 L 6.03125 -10.984375 L 6.03125 0 L 4.34375 0 L 4.34375 -10.984375 L -0.046875 -10.984375 L -0.046875 -12.390625 Z M -0.046875 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 10.953125 -11.4375 L 10.953125 -9.671875 C 10.390625 -10.191406 9.785156 -10.582031 9.140625 -10.84375 C 8.503906 -11.101562 7.828125 -11.234375 7.109375 -11.234375 C 5.691406 -11.234375 4.601562 -10.800781 3.84375 -9.9375 C 3.09375 -9.070312 2.71875 -7.820312 2.71875 -6.1875 C 2.71875 -4.550781 3.09375 -3.300781 3.84375 -2.4375 C 4.601562 -1.570312 5.691406 -1.140625 7.109375 -1.140625 C 7.828125 -1.140625 8.503906 -1.269531 9.140625 -1.53125 C 9.785156 -1.789062 10.390625 -2.179688 10.953125 -2.703125 L 10.953125 -0.953125 C 10.359375 -0.554688 9.734375 -0.257812 9.078125 -0.0625 C 8.429688 0.132812 7.738281 0.234375 7 0.234375 C 5.125 0.234375 3.644531 -0.335938 2.5625 -1.484375 C 1.488281 -2.628906 0.953125 -4.195312 0.953125 -6.1875 C 0.953125 -8.175781 1.488281 -9.742188 2.5625 -10.890625 C 3.644531 -12.046875 5.125 -12.625 7 -12.625 C 7.75 -12.625 8.445312 -12.523438 9.09375 -12.328125 C 9.75 -12.128906 10.367188 -11.832031 10.953125 -11.4375 Z M 10.953125 -11.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 1.484375 -12.390625 L 3.15625 -12.390625 L 3.15625 -4.859375 C 3.15625 -3.535156 3.394531 -2.582031 3.875 -2 C 4.363281 -1.414062 5.144531 -1.125 6.21875 -1.125 C 7.300781 -1.125 8.082031 -1.414062 8.5625 -2 C 9.039062 -2.582031 9.28125 -3.535156 9.28125 -4.859375 L 9.28125 -12.390625 L 10.96875 -12.390625 L 10.96875 -4.65625 C 10.96875 -3.039062 10.566406 -1.820312 9.765625 -1 C 8.960938 -0.175781 7.78125 0.234375 6.21875 0.234375 C 4.65625 0.234375 3.472656 -0.175781 2.671875 -1 C 1.878906 -1.820312 1.484375 -3.039062 1.484375 -4.65625 L 1.484375 -12.390625 Z M 1.484375 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 3.34375 -11.015625 L 3.34375 -1.375 L 5.375 -1.375 C 7.082031 -1.375 8.332031 -1.757812 9.125 -2.53125 C 9.914062 -3.3125 10.3125 -4.535156 10.3125 -6.203125 C 10.3125 -7.867188 9.914062 -9.085938 9.125 -9.859375 C 8.332031 -10.628906 7.082031 -11.015625 5.375 -11.015625 L 3.34375 -11.015625 Z M 1.671875 -12.390625 L 5.109375 -12.390625 C 7.515625 -12.390625 9.28125 -11.890625 10.40625 -10.890625 C 11.53125 -9.890625 12.09375 -8.328125 12.09375 -6.203125 C 12.09375 -4.066406 11.523438 -2.5 10.390625 -1.5 C 9.265625 -0.5 7.503906 0 5.109375 0 L 1.671875 0 L 1.671875 -12.390625 Z M 1.671875 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 1.671875 -12.390625 L 3.921875 -12.390625 L 9.421875 -2.03125 L 9.421875 -12.390625 L 11.046875 -12.390625 L 11.046875 0 L 8.796875 0 L 3.296875 -10.375 L 3.296875 0 L 1.671875 0 L 1.671875 -12.390625 Z M 1.671875 -12.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 9.09375 -11.984375 L 9.09375 -10.34375 C 8.457031 -10.65625 7.859375 -10.882812 7.296875 -11.03125 C 6.734375 -11.175781 6.1875 -11.25 5.65625 -11.25 C 4.75 -11.25 4.046875 -11.070312 3.546875 -10.71875 C 3.054688 -10.363281 2.8125 -9.863281 2.8125 -9.21875 C 2.8125 -8.664062 2.972656 -8.25 3.296875 -7.96875 C 3.628906 -7.6875 4.253906 -7.460938 5.171875 -7.296875 L 6.1875 -7.09375 C 7.4375 -6.851562 8.359375 -6.429688 8.953125 -5.828125 C 9.546875 -5.234375 9.84375 -4.429688 9.84375 -3.421875 C 9.84375 -2.222656 9.4375 -1.3125 8.625 -0.6875 C 7.820312 -0.0703125 6.644531 0.234375 5.09375 0.234375 C 4.507812 0.234375 3.882812 0.164062 3.21875 0.03125 C 2.5625 -0.09375 1.878906 -0.285156 1.171875 -0.546875 L 1.171875 -2.28125 C 1.847656 -1.894531 2.515625 -1.601562 3.171875 -1.40625 C 3.828125 -1.21875 4.46875 -1.125 5.09375 -1.125 C 6.050781 -1.125 6.789062 -1.3125 7.3125 -1.6875 C 7.832031 -2.0625 8.09375 -2.597656 8.09375 -3.296875 C 8.09375 -3.898438 7.90625 -4.375 7.53125 -4.71875 C 7.15625 -5.0625 6.539062 -5.320312 5.6875 -5.5 L 4.671875 -5.6875 C 3.421875 -5.9375 2.515625 -6.328125 1.953125 -6.859375 C 1.398438 -7.390625 1.125 -8.128906 1.125 -9.078125 C 1.125 -10.171875 1.507812 -11.035156 2.28125 -11.671875 C 3.050781 -12.304688 4.113281 -12.625 5.46875 -12.625 C 6.050781 -12.625 6.644531 -12.566406 7.25 -12.453125 C 7.851562 -12.347656 8.46875 -12.191406 9.09375 -11.984375 Z M 9.09375 -11.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 1.4375 -3.671875 L 1.4375 -9.296875 L 2.96875 -9.296875 L 2.96875 -3.734375 C 2.96875 -2.847656 3.140625 -2.1875 3.484375 -1.75 C 3.828125 -1.3125 4.34375 -1.09375 5.03125 -1.09375 C 5.851562 -1.09375 6.503906 -1.351562 6.984375 -1.875 C 7.460938 -2.40625 7.703125 -3.125 7.703125 -4.03125 L 7.703125 -9.296875 L 9.234375 -9.296875 L 9.234375 0 L 7.703125 0 L 7.703125 -1.421875 C 7.328125 -0.859375 6.894531 -0.441406 6.40625 -0.171875 C 5.914062 0.0976562 5.347656 0.234375 4.703125 0.234375 C 3.640625 0.234375 2.828125 -0.09375 2.265625 -0.75 C 1.710938 -1.414062 1.4375 -2.390625 1.4375 -3.671875 Z M 5.28125 -9.515625 L 5.28125 -9.515625 Z M 5.28125 -9.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 9.328125 -5.609375 L 9.328125 0 L 7.796875 0 L 7.796875 -5.5625 C 7.796875 -6.4375 7.625 -7.09375 7.28125 -7.53125 C 6.945312 -7.96875 6.4375 -8.1875 5.75 -8.1875 C 4.914062 -8.1875 4.257812 -7.921875 3.78125 -7.390625 C 3.3125 -6.867188 3.078125 -6.15625 3.078125 -5.25 L 3.078125 0 L 1.546875 0 L 1.546875 -9.296875 L 3.078125 -9.296875 L 3.078125 -7.859375 C 3.441406 -8.410156 3.867188 -8.820312 4.359375 -9.09375 C 4.859375 -9.375 5.429688 -9.515625 6.078125 -9.515625 C 7.148438 -9.515625 7.957031 -9.179688 8.5 -8.515625 C 9.050781 -7.859375 9.328125 -6.890625 9.328125 -5.609375 Z M 9.328125 -5.609375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 9.546875 -5.03125 L 9.546875 -4.28125 L 2.53125 -4.28125 C 2.59375 -3.226562 2.90625 -2.425781 3.46875 -1.875 C 4.039062 -1.320312 4.835938 -1.046875 5.859375 -1.046875 C 6.441406 -1.046875 7.007812 -1.117188 7.5625 -1.265625 C 8.113281 -1.410156 8.660156 -1.628906 9.203125 -1.921875 L 9.203125 -0.46875 C 8.648438 -0.238281 8.085938 -0.0664062 7.515625 0.046875 C 6.941406 0.171875 6.359375 0.234375 5.765625 0.234375 C 4.273438 0.234375 3.097656 -0.191406 2.234375 -1.046875 C 1.367188 -1.910156 0.9375 -3.082031 0.9375 -4.5625 C 0.9375 -6.082031 1.347656 -7.285156 2.171875 -8.171875 C 2.992188 -9.066406 4.101562 -9.515625 5.5 -9.515625 C 6.75 -9.515625 7.734375 -9.113281 8.453125 -8.3125 C 9.179688 -7.507812 9.546875 -6.414062 9.546875 -5.03125 Z M 8.03125 -5.484375 C 8.019531 -6.316406 7.785156 -6.976562 7.328125 -7.46875 C 6.867188 -7.96875 6.265625 -8.21875 5.515625 -8.21875 C 4.660156 -8.21875 3.976562 -7.976562 3.46875 -7.5 C 2.957031 -7.019531 2.660156 -6.34375 2.578125 -5.46875 L 8.03125 -5.484375 Z M 8.03125 -5.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-12">
<path style="stroke:none;" d="M 1.609375 -12.921875 L 3.125 -12.921875 L 3.125 0 L 1.609375 0 L 1.609375 -12.921875 Z M 1.609375 -12.921875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-13">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-14">
<path style="stroke:none;" d="M 8.84375 -7.515625 C 9.21875 -8.203125 9.671875 -8.707031 10.203125 -9.03125 C 10.734375 -9.351562 11.363281 -9.515625 12.09375 -9.515625 C 13.050781 -9.515625 13.789062 -9.175781 14.3125 -8.5 C 14.84375 -7.820312 15.109375 -6.859375 15.109375 -5.609375 L 15.109375 0 L 13.578125 0 L 13.578125 -5.5625 C 13.578125 -6.445312 13.421875 -7.101562 13.109375 -7.53125 C 12.796875 -7.96875 12.3125 -8.1875 11.65625 -8.1875 C 10.863281 -8.1875 10.238281 -7.921875 9.78125 -7.390625 C 9.320312 -6.867188 9.09375 -6.15625 9.09375 -5.25 L 9.09375 0 L 7.5625 0 L 7.5625 -5.5625 C 7.5625 -6.457031 7.398438 -7.117188 7.078125 -7.546875 C 6.765625 -7.972656 6.28125 -8.1875 5.625 -8.1875 C 4.84375 -8.1875 4.222656 -7.921875 3.765625 -7.390625 C 3.304688 -6.867188 3.078125 -6.15625 3.078125 -5.25 L 3.078125 0 L 1.546875 0 L 1.546875 -9.296875 L 3.078125 -9.296875 L 3.078125 -7.859375 C 3.429688 -8.421875 3.847656 -8.835938 4.328125 -9.109375 C 4.816406 -9.378906 5.394531 -9.515625 6.0625 -9.515625 C 6.738281 -9.515625 7.3125 -9.34375 7.78125 -9 C 8.257812 -8.65625 8.613281 -8.160156 8.84375 -7.515625 Z M 8.84375 -7.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-15">
<path style="stroke:none;" d="M 7.53125 -9.015625 L 7.53125 -7.578125 C 7.09375 -7.796875 6.640625 -7.960938 6.171875 -8.078125 C 5.710938 -8.191406 5.234375 -8.25 4.734375 -8.25 C 3.984375 -8.25 3.414062 -8.128906 3.03125 -7.890625 C 2.65625 -7.660156 2.46875 -7.3125 2.46875 -6.84375 C 2.46875 -6.488281 2.601562 -6.210938 2.875 -6.015625 C 3.144531 -5.816406 3.6875 -5.625 4.5 -5.4375 L 5.03125 -5.328125 C 6.113281 -5.085938 6.882812 -4.753906 7.34375 -4.328125 C 7.800781 -3.910156 8.03125 -3.320312 8.03125 -2.5625 C 8.03125 -1.695312 7.6875 -1.015625 7 -0.515625 C 6.320312 -0.015625 5.382812 0.234375 4.1875 0.234375 C 3.6875 0.234375 3.164062 0.1875 2.625 0.09375 C 2.082031 0 1.515625 -0.144531 0.921875 -0.34375 L 0.921875 -1.921875 C 1.484375 -1.628906 2.035156 -1.40625 2.578125 -1.25 C 3.128906 -1.101562 3.675781 -1.03125 4.21875 -1.03125 C 4.9375 -1.03125 5.488281 -1.15625 5.875 -1.40625 C 6.257812 -1.65625 6.453125 -2.003906 6.453125 -2.453125 C 6.453125 -2.867188 6.3125 -3.1875 6.03125 -3.40625 C 5.757812 -3.625 5.148438 -3.835938 4.203125 -4.046875 L 3.671875 -4.171875 C 2.722656 -4.367188 2.035156 -4.671875 1.609375 -5.078125 C 1.191406 -5.492188 0.984375 -6.0625 0.984375 -6.78125 C 0.984375 -7.65625 1.289062 -8.328125 1.90625 -8.796875 C 2.53125 -9.273438 3.414062 -9.515625 4.5625 -9.515625 C 5.125 -9.515625 5.648438 -9.472656 6.140625 -9.390625 C 6.640625 -9.304688 7.101562 -9.179688 7.53125 -9.015625 Z M 7.53125 -9.015625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-16">
<path style="stroke:none;" d="M 5.828125 -4.671875 C 4.585938 -4.671875 3.726562 -4.53125 3.25 -4.25 C 2.78125 -3.96875 2.546875 -3.488281 2.546875 -2.8125 C 2.546875 -2.269531 2.722656 -1.835938 3.078125 -1.515625 C 3.441406 -1.191406 3.929688 -1.03125 4.546875 -1.03125 C 5.390625 -1.03125 6.066406 -1.332031 6.578125 -1.9375 C 7.085938 -2.539062 7.34375 -3.335938 7.34375 -4.328125 L 7.34375 -4.671875 L 5.828125 -4.671875 Z M 8.875 -5.296875 L 8.875 0 L 7.34375 0 L 7.34375 -1.40625 C 7 -0.84375 6.566406 -0.425781 6.046875 -0.15625 C 5.523438 0.101562 4.890625 0.234375 4.140625 0.234375 C 3.179688 0.234375 2.421875 -0.03125 1.859375 -0.5625 C 1.296875 -1.09375 1.015625 -1.804688 1.015625 -2.703125 C 1.015625 -3.753906 1.363281 -4.546875 2.0625 -5.078125 C 2.769531 -5.609375 3.816406 -5.875 5.203125 -5.875 L 7.34375 -5.875 L 7.34375 -6.015625 C 7.34375 -6.722656 7.109375 -7.265625 6.640625 -7.640625 C 6.179688 -8.023438 5.535156 -8.21875 4.703125 -8.21875 C 4.171875 -8.21875 3.65625 -8.15625 3.15625 -8.03125 C 2.65625 -7.90625 2.171875 -7.71875 1.703125 -7.46875 L 1.703125 -8.875 C 2.265625 -9.09375 2.804688 -9.253906 3.328125 -9.359375 C 3.859375 -9.460938 4.367188 -9.515625 4.859375 -9.515625 C 6.203125 -9.515625 7.207031 -9.164062 7.875 -8.46875 C 8.539062 -7.769531 8.875 -6.710938 8.875 -5.296875 Z M 8.875 -5.296875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-17">
<path style="stroke:none;" d="M 7.71875 -4.75 C 7.71875 -5.863281 7.488281 -6.722656 7.03125 -7.328125 C 6.570312 -7.941406 5.929688 -8.25 5.109375 -8.25 C 4.296875 -8.25 3.660156 -7.941406 3.203125 -7.328125 C 2.742188 -6.722656 2.515625 -5.863281 2.515625 -4.75 C 2.515625 -3.65625 2.742188 -2.800781 3.203125 -2.1875 C 3.660156 -1.582031 4.296875 -1.28125 5.109375 -1.28125 C 5.929688 -1.28125 6.570312 -1.582031 7.03125 -2.1875 C 7.488281 -2.800781 7.71875 -3.65625 7.71875 -4.75 Z M 9.25 -1.15625 C 9.25 0.425781 8.894531 1.601562 8.1875 2.375 C 7.488281 3.144531 6.414062 3.53125 4.96875 3.53125 C 4.425781 3.53125 3.914062 3.488281 3.4375 3.40625 C 2.96875 3.332031 2.507812 3.210938 2.0625 3.046875 L 2.0625 1.5625 C 2.507812 1.800781 2.953125 1.976562 3.390625 2.09375 C 3.828125 2.21875 4.269531 2.28125 4.71875 2.28125 C 5.71875 2.28125 6.46875 2.015625 6.96875 1.484375 C 7.46875 0.960938 7.71875 0.175781 7.71875 -0.875 L 7.71875 -1.640625 C 7.40625 -1.085938 7 -0.675781 6.5 -0.40625 C 6.007812 -0.132812 5.421875 0 4.734375 0 C 3.597656 0 2.679688 -0.429688 1.984375 -1.296875 C 1.285156 -2.171875 0.9375 -3.320312 0.9375 -4.75 C 0.9375 -6.195312 1.285156 -7.351562 1.984375 -8.21875 C 2.679688 -9.082031 3.597656 -9.515625 4.734375 -9.515625 C 5.421875 -9.515625 6.007812 -9.378906 6.5 -9.109375 C 7 -8.835938 7.40625 -8.429688 7.71875 -7.890625 L 7.71875 -9.296875 L 9.25 -9.296875 L 9.25 -1.15625 Z M 9.25 -1.15625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-18">
<path style="stroke:none;" d="M 10.125 -1.765625 L 10.125 -5.09375 L 7.375 -5.09375 L 7.375 -6.46875 L 11.78125 -6.46875 L 11.78125 -1.15625 C 11.132812 -0.695312 10.421875 -0.347656 9.640625 -0.109375 C 8.859375 0.117188 8.023438 0.234375 7.140625 0.234375 C 5.203125 0.234375 3.6875 -0.328125 2.59375 -1.453125 C 1.5 -2.585938 0.953125 -4.164062 0.953125 -6.1875 C 0.953125 -8.207031 1.5 -9.785156 2.59375 -10.921875 C 3.6875 -12.054688 5.203125 -12.625 7.140625 -12.625 C 7.941406 -12.625 8.707031 -12.519531 9.4375 -12.3125 C 10.164062 -12.113281 10.835938 -11.820312 11.453125 -11.4375 L 11.453125 -9.65625 C 10.835938 -10.175781 10.179688 -10.566406 9.484375 -10.828125 C 8.785156 -11.097656 8.050781 -11.234375 7.28125 -11.234375 C 5.757812 -11.234375 4.617188 -10.8125 3.859375 -9.96875 C 3.097656 -9.125 2.71875 -7.863281 2.71875 -6.1875 C 2.71875 -4.507812 3.097656 -3.25 3.859375 -2.40625 C 4.617188 -1.5625 5.757812 -1.140625 7.28125 -1.140625 C 7.875 -1.140625 8.398438 -1.1875 8.859375 -1.28125 C 9.328125 -1.382812 9.75 -1.546875 10.125 -1.765625 Z M 10.125 -1.765625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-19">
<path style="stroke:none;" d="M 6.984375 -7.875 C 6.816406 -7.96875 6.628906 -8.035156 6.421875 -8.078125 C 6.222656 -8.128906 6.003906 -8.15625 5.765625 -8.15625 C 4.898438 -8.15625 4.234375 -7.875 3.765625 -7.3125 C 3.304688 -6.75 3.078125 -5.941406 3.078125 -4.890625 L 3.078125 0 L 1.546875 0 L 1.546875 -9.296875 L 3.078125 -9.296875 L 3.078125 -7.859375 C 3.398438 -8.421875 3.816406 -8.835938 4.328125 -9.109375 C 4.847656 -9.378906 5.472656 -9.515625 6.203125 -9.515625 C 6.304688 -9.515625 6.421875 -9.507812 6.546875 -9.5 C 6.679688 -9.488281 6.828125 -9.46875 6.984375 -9.4375 L 6.984375 -7.875 Z M 6.984375 -7.875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-20">
<path style="stroke:none;" d="M 1.609375 -9.296875 L 3.125 -9.296875 L 3.125 0 L 1.609375 0 L 1.609375 -9.296875 Z M 1.609375 -12.921875 L 3.125 -12.921875 L 3.125 -10.984375 L 1.609375 -10.984375 L 1.609375 -12.921875 Z M 1.609375 -12.921875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-21">
<path style="stroke:none;" d="M 8.296875 -8.9375 L 8.296875 -7.515625 C 7.859375 -7.753906 7.421875 -7.929688 6.984375 -8.046875 C 6.554688 -8.160156 6.117188 -8.21875 5.671875 -8.21875 C 4.679688 -8.21875 3.910156 -7.90625 3.359375 -7.28125 C 2.816406 -6.65625 2.546875 -5.773438 2.546875 -4.640625 C 2.546875 -3.503906 2.816406 -2.617188 3.359375 -1.984375 C 3.910156 -1.359375 4.679688 -1.046875 5.671875 -1.046875 C 6.117188 -1.046875 6.554688 -1.101562 6.984375 -1.21875 C 7.421875 -1.34375 7.859375 -1.523438 8.296875 -1.765625 L 8.296875 -0.359375 C 7.867188 -0.160156 7.425781 -0.015625 6.96875 0.078125 C 6.507812 0.179688 6.023438 0.234375 5.515625 0.234375 C 4.109375 0.234375 2.992188 -0.203125 2.171875 -1.078125 C 1.347656 -1.960938 0.9375 -3.148438 0.9375 -4.640625 C 0.9375 -6.160156 1.351562 -7.351562 2.1875 -8.21875 C 3.019531 -9.082031 4.160156 -9.515625 5.609375 -9.515625 C 6.078125 -9.515625 6.535156 -9.46875 6.984375 -9.375 C 7.429688 -9.28125 7.867188 -9.132812 8.296875 -8.9375 Z M 8.296875 -8.9375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-22">
<path style="stroke:none;" d="M 5.46875 0.859375 C 5.039062 1.972656 4.617188 2.695312 4.203125 3.03125 C 3.796875 3.363281 3.25 3.53125 2.5625 3.53125 L 1.34375 3.53125 L 1.34375 2.265625 L 2.234375 2.265625 C 2.660156 2.265625 2.988281 2.160156 3.21875 1.953125 C 3.445312 1.753906 3.707031 1.285156 4 0.546875 L 4.265625 -0.15625 L 0.5 -9.296875 L 2.125 -9.296875 L 5.03125 -2.03125 L 7.9375 -9.296875 L 9.546875 -9.296875 L 5.46875 0.859375 Z M 5.46875 0.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-23">
<path style="stroke:none;" d="M 3.078125 -1.390625 L 3.078125 3.53125 L 1.546875 3.53125 L 1.546875 -9.296875 L 3.078125 -9.296875 L 3.078125 -7.890625 C 3.398438 -8.441406 3.804688 -8.847656 4.296875 -9.109375 C 4.785156 -9.378906 5.367188 -9.515625 6.046875 -9.515625 C 7.179688 -9.515625 8.097656 -9.066406 8.796875 -8.171875 C 9.503906 -7.273438 9.859375 -6.097656 9.859375 -4.640625 C 9.859375 -3.179688 9.503906 -2.003906 8.796875 -1.109375 C 8.097656 -0.210938 7.179688 0.234375 6.046875 0.234375 C 5.367188 0.234375 4.785156 0.101562 4.296875 -0.15625 C 3.804688 -0.425781 3.398438 -0.835938 3.078125 -1.390625 Z M 8.28125 -4.640625 C 8.28125 -5.765625 8.046875 -6.644531 7.578125 -7.28125 C 7.117188 -7.925781 6.484375 -8.25 5.671875 -8.25 C 4.867188 -8.25 4.234375 -7.925781 3.765625 -7.28125 C 3.304688 -6.644531 3.078125 -5.765625 3.078125 -4.640625 C 3.078125 -3.515625 3.304688 -2.628906 3.765625 -1.984375 C 4.234375 -1.347656 4.867188 -1.03125 5.671875 -1.03125 C 6.484375 -1.03125 7.117188 -1.347656 7.578125 -1.984375 C 8.046875 -2.628906 8.28125 -3.515625 8.28125 -4.640625 Z M 8.28125 -4.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-24">
<path style="stroke:none;" d="M 3.109375 -11.9375 L 3.109375 -9.296875 L 6.265625 -9.296875 L 6.265625 -8.109375 L 3.109375 -8.109375 L 3.109375 -3.0625 C 3.109375 -2.300781 3.210938 -1.8125 3.421875 -1.59375 C 3.628906 -1.382812 4.050781 -1.28125 4.6875 -1.28125 L 6.265625 -1.28125 L 6.265625 0 L 4.6875 0 C 3.507812 0 2.695312 -0.21875 2.25 -0.65625 C 1.800781 -1.09375 1.578125 -1.894531 1.578125 -3.0625 L 1.578125 -8.109375 L 0.453125 -8.109375 L 0.453125 -9.296875 L 1.578125 -9.296875 L 1.578125 -11.9375 L 3.109375 -11.9375 Z M 3.109375 -11.9375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-25">
<path style="stroke:none;" d="M 5.203125 -8.21875 C 4.378906 -8.21875 3.726562 -7.898438 3.25 -7.265625 C 2.78125 -6.628906 2.546875 -5.753906 2.546875 -4.640625 C 2.546875 -3.523438 2.78125 -2.644531 3.25 -2 C 3.726562 -1.363281 4.378906 -1.046875 5.203125 -1.046875 C 6.015625 -1.046875 6.660156 -1.367188 7.140625 -2.015625 C 7.617188 -2.660156 7.859375 -3.535156 7.859375 -4.640625 C 7.859375 -5.742188 7.617188 -6.613281 7.140625 -7.25 C 6.660156 -7.894531 6.015625 -8.21875 5.203125 -8.21875 Z M 5.203125 -9.515625 C 6.535156 -9.515625 7.578125 -9.082031 8.328125 -8.21875 C 9.085938 -7.363281 9.46875 -6.171875 9.46875 -4.640625 C 9.46875 -3.117188 9.085938 -1.925781 8.328125 -1.0625 C 7.578125 -0.195312 6.535156 0.234375 5.203125 0.234375 C 3.867188 0.234375 2.820312 -0.195312 2.0625 -1.0625 C 1.3125 -1.925781 0.9375 -3.117188 0.9375 -4.640625 C 0.9375 -6.171875 1.3125 -7.363281 2.0625 -8.21875 C 2.820312 -9.082031 3.867188 -9.515625 5.203125 -9.515625 Z M 5.203125 -9.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-26">
<path style="stroke:none;" d="M 3.265625 -1.40625 L 9.109375 -1.40625 L 9.109375 0 L 1.25 0 L 1.25 -1.40625 C 1.882812 -2.070312 2.75 -2.957031 3.84375 -4.0625 C 4.945312 -5.175781 5.640625 -5.890625 5.921875 -6.203125 C 6.453125 -6.804688 6.820312 -7.316406 7.03125 -7.734375 C 7.25 -8.160156 7.359375 -8.570312 7.359375 -8.96875 C 7.359375 -9.632812 7.128906 -10.171875 6.671875 -10.578125 C 6.210938 -10.992188 5.609375 -11.203125 4.859375 -11.203125 C 4.335938 -11.203125 3.785156 -11.109375 3.203125 -10.921875 C 2.617188 -10.742188 1.992188 -10.472656 1.328125 -10.109375 L 1.328125 -11.796875 C 2.003906 -12.066406 2.632812 -12.269531 3.21875 -12.40625 C 3.800781 -12.550781 4.335938 -12.625 4.828125 -12.625 C 6.109375 -12.625 7.128906 -12.300781 7.890625 -11.65625 C 8.660156 -11.007812 9.046875 -10.148438 9.046875 -9.078125 C 9.046875 -8.566406 8.945312 -8.082031 8.75 -7.625 C 8.5625 -7.175781 8.21875 -6.640625 7.71875 -6.015625 C 7.582031 -5.859375 7.140625 -5.394531 6.390625 -4.625 C 5.648438 -3.863281 4.609375 -2.789062 3.265625 -1.40625 Z M 3.265625 -1.40625 "/>
</symbol>
</g>
</defs>
<g id="surface0">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 0 0 L 661 0 L 661 401 L 0 401 Z M 0 0 "/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 17 L 33 17 L 33 20 L 15 20 Z M 15 17 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="173.402344" y="396.875"/>
<use xlink:href="#glyph0-2" x="178.402344" y="396.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 14 L 24 14 L 24 17 L 15 17 Z M 15 14 " transform="matrix(20,0,0,20,-299,21)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 24 14 L 33 14 L 33 17 L 24 17 Z M 24 14 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="84.671875" y="336.875"/>
<use xlink:href="#glyph0-4" x="84.671875" y="336.875"/>
<use xlink:href="#glyph0-2" x="96.488281" y="336.875"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="253.207031" y="336.875"/>
<use xlink:href="#glyph0-6" x="265.589844" y="336.875"/>
<use xlink:href="#glyph0-2" x="278.617188" y="336.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 11 L 24 11 L 24 14 L 15 14 Z M 15 11 " transform="matrix(20,0,0,20,-299,21)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 24 11 L 33 11 L 33 14 L 24 14 Z M 24 11 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="68.988281" y="276.875"/>
<use xlink:href="#glyph0-3" x="91" y="276.875"/>
<use xlink:href="#glyph0-4" x="91" y="276.875"/>
<use xlink:href="#glyph0-2" x="102.816406" y="276.875"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="254.066406" y="276.875"/>
<use xlink:href="#glyph0-8" x="264.808594" y="276.875"/>
<use xlink:href="#glyph0-5" x="275.550781" y="276.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 8 L 33 8 L 33 11 L 15 11 Z M 15 8 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="132.71875" y="216.875"/>
<use xlink:href="#glyph0-9" x="132.71875" y="216.875"/>
<use xlink:href="#glyph0-10" x="143.441406" y="216.875"/>
<use xlink:href="#glyph0-10" x="154.164062" y="216.875"/>
<use xlink:href="#glyph0-11" x="164.886719" y="216.875"/>
<use xlink:href="#glyph0-12" x="175.296875" y="216.875"/>
<use xlink:href="#glyph0-13" x="180.003906" y="216.875"/>
<use xlink:href="#glyph0-14" x="185.375" y="216.875"/>
<use xlink:href="#glyph0-11" x="201.859375" y="216.875"/>
<use xlink:href="#glyph0-15" x="212.269531" y="216.875"/>
<use xlink:href="#glyph0-15" x="221.078125" y="216.875"/>
<use xlink:href="#glyph0-16" x="229.886719" y="216.875"/>
<use xlink:href="#glyph0-17" x="240.257812" y="216.875"/>
<use xlink:href="#glyph0-11" x="251" y="216.875"/>
<use xlink:href="#glyph0-15" x="261.410156" y="216.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 5 L 33 5 L 33 8 L 15 8 Z M 15 5 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-18" x="108.460938" y="156.875"/>
<use xlink:href="#glyph0-16" x="121.566406" y="156.875"/>
<use xlink:href="#glyph0-19" x="131.9375" y="156.875"/>
<use xlink:href="#glyph0-12" x="138.890625" y="156.875"/>
<use xlink:href="#glyph0-20" x="143.597656" y="156.875"/>
<use xlink:href="#glyph0-21" x="148.304688" y="156.875"/>
<use xlink:href="#glyph0-13" x="157.601562" y="156.875"/>
<use xlink:href="#glyph0-11" x="162.972656" y="156.875"/>
<use xlink:href="#glyph0-10" x="173.382812" y="156.875"/>
<use xlink:href="#glyph0-21" x="184.105469" y="156.875"/>
<use xlink:href="#glyph0-19" x="193.402344" y="156.875"/>
<use xlink:href="#glyph0-22" x="200.355469" y="156.875"/>
<use xlink:href="#glyph0-23" x="210.375" y="156.875"/>
<use xlink:href="#glyph0-24" x="221.117188" y="156.875"/>
<use xlink:href="#glyph0-20" x="227.757812" y="156.875"/>
<use xlink:href="#glyph0-25" x="232.464844" y="156.875"/>
<use xlink:href="#glyph0-10" x="242.816406" y="156.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 2 L 33 2 L 33 5 L 15 5 Z M 15 2 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="162.113281" y="96.875"/>
<use xlink:href="#glyph0-26" x="167.113281" y="96.875"/>
<use xlink:href="#glyph0-4" x="177.875" y="96.875"/>
<use xlink:href="#glyph0-2" x="189.691406" y="96.875"/>
</g>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 15 -1 L 24 -1 L 24 2 L 15 2 Z M 15 -1 " transform="matrix(20,0,0,20,-299,21)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 24 -1 L 33 -1 L 33 2 L 24 2 Z M 24 -1 " transform="matrix(20,0,0,20,-299,21)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="50.472656" y="36.875"/>
<use xlink:href="#glyph0-24" x="61.214844" y="36.875"/>
<use xlink:href="#glyph0-19" x="68.089844" y="36.875"/>
<use xlink:href="#glyph0-11" x="68.089844" y="36.875"/>
<use xlink:href="#glyph0-16" x="78.5" y="36.875"/>
<use xlink:href="#glyph0-14" x="88.871094" y="36.875"/>
<use xlink:href="#glyph0-20" x="105.355469" y="36.875"/>
<use xlink:href="#glyph0-10" x="110.0625" y="36.875"/>
<use xlink:href="#glyph0-17" x="120.785156" y="36.875"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="224.125" y="36.875"/>
<use xlink:href="#glyph0-16" x="237.152344" y="36.875"/>
<use xlink:href="#glyph0-24" x="247.523438" y="36.875"/>
<use xlink:href="#glyph0-16" x="254.164062" y="36.875"/>
<use xlink:href="#glyph0-17" x="264.535156" y="36.875"/>
<use xlink:href="#glyph0-19" x="275.277344" y="36.875"/>
<use xlink:href="#glyph0-16" x="282.230469" y="36.875"/>
<use xlink:href="#glyph0-14" x="292.601562" y="36.875"/>
<use xlink:href="#glyph0-15" x="309.085938" y="36.875"/>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 486 560">
<style><![CDATA[.B{font-family:Arial}.C{font-size:24px}]]></style>
<g fill="#fff" stroke="#000" stroke-width="2">
<path d="M23.4 383.8h360v60h-360zm0-60h180v60h-180zm180 0h180v60h-180zm-180-60h180v60h-180zm180 0h180v60h-180zm-180-60h360v60h-360zm0 0"/>
<path d="M23.4 143.8h360v60h-360zm0 0"/>
<path d="M23.4 83.8h360v60h-360zm0-60h180v60h-180zm180 0h180v60h-180zm0 0"/></g>
<text xml:space="preserve" x="36.6" y="37.2" class="B C"><tspan x="59" y="60">Streaming</tspan></text>
<text xml:space="preserve" x="211.8" y="37.1" class="B C"><tspan x="234.2" y="59.9">Datagrams</tspan></text>
<text xml:space="preserve" x="153.7" y="99.6" class="B C"><tspan x="176.1" y="122.4">I2CP</tspan></text>
<text xml:space="preserve" x="89.8" y="157.2" class="B C"><tspan x="112.2" y="180">Garlic Encryption</tspan></text>
<text xml:space="preserve" x="51.4" y="279.6" class="B C"><tspan x="73.8" y="302.4">NTCP2</tspan></text><text xml:space="preserve" x="239.7" y="279.6" class="B C"><tspan x="262.1" y="302.4">SSU2</tspan></text>
<text xml:space="preserve" x="67.2" y="339.6" class="B C"><tspan x="89.6" y="362.4">TCP</tspan></text>
<text xml:space="preserve" x="245.2" y="339.4" class="B C"><tspan x="267.6" y="362.2">UDP</tspan></text>
<text xml:space="preserve" x="169.1" y="399.6" class="B C"><tspan x="191.5" y="422.4">IP</tspan></text>
<text xml:space="preserve" x="86.9" y="217.1" class="B C"><tspan x="109.3" y="239.9">Tunnel Messages</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,5 +1,56 @@
#! /usr/bin/env sh
virtualenv --distribute env
. env/bin/activate
#./setup_venv.sh
DEV=on ./runserver.py
#! /usr/bin/env bash
## Set additional docker run arguments by changing the variable
## i2p_www_docker_run_args in an optional file called config.sh
## for example
##
##i2p_www_docker_run_args='-d'
## to run the site in the background, or
##
##i2p_www_docker_run_args='-t'
## to emulate a TTY
## To operate a quick and easy mirror of the I2P Site in a container
## simply clone the i2p.www source to a host with Docker installed, then
## add:
##
##i2p_www_docker_run_args='-d'
## to config.sh
##
## Then add:
##
##*/10 * * * * /path/to/i2p.www/site-updater-docker.sh
##
## to a crontab belonging to a member of the `docker` group. To add yourself
## to the `docker` group use the command:
##
##sudo adduser $(whoami) docker
##
## a more secure solution may be to create a user especially to run the
## docker crontab only, who is a member of the docker group. To do this,
##
##sudo adduser --disabled-password --disabled-login --ingroup docker docker
## however the specifics may vary from distribution to distribution.
dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
if [ -f "${dir}/config.sh" ]; then
. "${dir}/config.sh"
fi
if [ -z $port ]; then
port="8090"
fi
if [ -z $i2p_www_branch ]; then
i2p_www_branch=master
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" || exit
cd "$DIR" || exit
git pull origin $i2p_www_branch
docker build $i2p_www_docker_build_args -t mirror.i2p.www$suffix .
docker rm -f mirror.i2p.www$suffix
docker run -it $i2p_www_docker_run_args --env DEV:on --name mirror.i2p.www$suffix --net=host --volume $(pwd)/env:/env mirror.i2p.www$suffix ./runserver.py
docker logs -f mirror.i2p.www$suffix

View File

@ -1,2 +1,7 @@
export venv_dir="env"
export venv="`which virtualenv-2.7 || which virtualenv`"
export spec=""
export venv="`which virtualenv-2.7`"
if [ x"$venv" = x ]; then
export venv="`which virtualenv`"
export spec="-p 2.7"
fi

View File

@ -22,8 +22,9 @@ except ImportError:
###########
# Constants
CURRENT_I2P_VERSION = '1.5.0'
CURRENT_I2P_FIREFOX_PROFILE_VERSION = '1.05.0'
CURRENT_I2P_VERSION = '2.5.2'
CURRENT_I2P_FIREFOX_PROFILE_VERSION = '2.5.2'
CURRENT_I2P_OSX_VERSION = '1.9.0'
CANONICAL_DOMAIN = 'geti2p.net'
@ -48,6 +49,7 @@ SUPPORTED_LANGS = [
'zh_TW',
'el',
'he',
'hu',
'it',
'ja',
'ko',
@ -75,6 +77,7 @@ SUPPORTED_LANG_NAMES = {
'fr': u'Français',
'el': u'Greek Ελληνικά',
'he': u'Hebrew עברית',
'hu': u'Hungarian',
'it': u'Italiano',
'ja': u'Japanese 日本語',
'ko': u'Korean 한국말',

View File

@ -139,13 +139,12 @@ tunnels.conf
[SSH-SERVER]
type = server
host = 127.0.0.1
port = 22
inbound.length = 1
outbound.length = 1
inbound.quantity = 5
outbound.quantity = 5
inbound.backupQuantity = 2
outbound.backupQuantity = 2
i2cp.reduceOnIdle = true
keys = ssh-in.dat
@ -294,10 +293,8 @@ adjust it for your performance/anonymity needs.
outbound.length = 1
inbound.quantity = 5
outbound.quantity = 5
inbound.backupQuantity = 2
outbound.backupQuantity = 2
i2cp.dontPublishLeaseSet = true
destination = bubfjkl2l46pevgnh7yicm2e7rkld4jrgpmruw2ueqn5fa4ag6eq.b32.I2P
destination = thisshouldbethebase32ofthesshservertunnelabovebefore.b32.i2p
keys = ssh-in.dat
{% trans -%}Restart the I2P router on the client{%- endtrans %}

View File

@ -1,5 +1,5 @@
===========================================================
{% trans -%}20 Years of Privacy: A brief History of I2P{%- endtrans %}
{% trans -%}20 Years of Privacy: A Brief History of I2P{%- endtrans %}
===========================================================
.. meta::

View File

@ -0,0 +1,61 @@
=============================================================
{% trans -%}I2P Jpackages get their First Update{%- endtrans %}
=============================================================
.. meta::
:author: idk
:date: 2021-11-02
:category: general
:excerpt: {% trans %}New, easier-to-install packages reach a new milestone{% endtrans %}
{% trans -%}
A few months ago we released new packages which we hoped would help with onboarding new
people to the I2P network by making the installation and configuration of I2P easier for
more people. We removed dozens of steps from the installation process by switching from
an external JVM to a Jpackage, built standard packages for target operating systems, and
signed them in a way the operating system would recognize to keep the user secure. Since
then, the jpackage routers have reached a new milestone, they are about to recieve their
first incremental updates. These updates will replace the JDK 16 jpackage with an updated
JDK 17 jpackage and provide fixes for some small bugs which we caught after the release.
{%- endtrans %}
{% trans -%}
Updates common to Mac OS and Windows
{%- endtrans %}
------------------------------------
{% trans -%}
All jpackaged I2P installers recieve the following updates:
* Update the jpackaged I2P router to 1.5.1 which is built with JDK 17
Please update as soon as possible.
{%- endtrans %}
{% trans -%}
I2P Windows Jpackage Updates
{%- endtrans %}
----------------------------
{% trans -%}
Windows only packages recieve the following updates:
* Updates I2P in Private Browsing, NoScript browser extensions
* Begins to phase out HTTPS everywhere on new Firefox releases
* Updates launcher script to `fix post NSIS launch issue on some architectures <https://i2pgit.org/i2p-hackers/i2p.firefox/-/issues/9>`_
For a full list of changes see the `changelog.txt in i2p.firefox <https://i2pgit.org/i2p-hackers/i2p.firefox/>`_
{%- endtrans %}
{% trans -%}
I2P Mac OS Jpackage Updates
{%- endtrans %}
---------------------------
{% trans -%}
Mac OS only packages recieve the following updates:
* No Mac-Specific changes. Mac OS is updated to build with JDK 17.
For a summary of development see the `checkins in i2p-jpackage-mac <https://i2pgit.org/i2p-hackers/i2p-jpackage-mac>`_
{%- endtrans %}

View File

@ -0,0 +1,83 @@
===========================================
{% trans -%}1.6.1 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2021-11-29
:category: release
:excerpt: {% trans %}1.6.1 enables new tunnel build messages{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
Note: 1.6.1 is the current release. 1.6.0 was tagged but not released.
{%- endtrans %}
{% trans -%}
This release completes the rollout of two major protocol updates developed in 2021.
The transition to X25519 encryption for routers is accelerated, and we expect almost all routers to be rekeyed by the end of the year.
Short tunnel build messages are enabled for a significant bandwidth reduction.
{%- endtrans %}
{% trans -%}
We added a theme selection panel to the new install wizard.
We've improved SSU performance and fixed an issue with SSU peer test messages.
The tunnel build Bloom filter was adjusted to reduce memory usage.
We have enhanced support for non-Java plugins.
{%- endtrans %}
{% trans -%}
In other news, we are making excellent progress on the design of our new UDP transport SSU2 and expect to start implementation early next year.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Console: Add theme selection to new-install wizard{% endtrans %}
- Jetty 9.3.30.v20211001
- {% trans %}Router: Increase probability of rekey to X25519{% endtrans %}
- {% trans %}SSU: Performance improvements{% endtrans %}
- {% trans %}SSU: Improve security of peer test{% endtrans %}
- Tomcat 9.0.54
- {% trans %}Tunnels: Enable sending new short build messages{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}i2ptunnel: Fix encryption type selection logic{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Improve support for non-Java plugins{% endtrans %}
- {% trans %}Router: Reduce tunnel build Bloom filter memory usage{% endtrans %}
- {% trans %}Updates: More changes to support bundled updaters{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=1.6.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
c5d5757d0cc1f4ce0cf2a663c35ca173d0cfe4ef0f38ac50b1be116787b03c87 i2pinstall_1.6.1_windows.exe
2ae90f28d51b84796079430bde53589e1c2117125d5fb7bb5c036c4e1ad1eb80 i2pinstall_1.6.1.jar
719606c4cb510de4fe74f24bbfa53911a70531821fc1ee79a29e3d96eaa16733 i2psource_1.6.1.tar.bz2
90ac2eb6a0207a7614568129e4f8927b9e3765a533033600b9a1f5a53779134d i2pupdate_1.6.1.zip
5fe7982cc1499872864a022507d0850627448d62ef65e0a7b5c172144a04368d i2pupdate.su3

View File

@ -0,0 +1,35 @@
==============================================
{% trans -%}I2P is not affected by the log4j vulnerability{%- endtrans %}
==============================================
.. meta::
:author: idk, zzz
:date: 2021-12-11
:category: security
:excerpt: {% trans %}I2P doesn't use log4j and is therefore unaffected by CVE-2021-44228{% endtrans %}
{% trans -%}
I2P is not affected by the log4j 0-Day vulnerability which was published
yesterday, CVE-2021-44228. I2P doesn't use log4j for logging, however we also
needed to review our dependencies for log4j usage, especially jetty. This
review has not revealed any vulnerabilities.
{%- endtrans %}
{% trans -%}
It was also important to check all of our plugins. Plugins may bring in their
own logging systems, including log4j. We found that most plugins also do not use
log4j, and those that do did not use a vulnerable version of log4j.
{%- endtrans %}
{% trans -%}
We haven't found any dependency, plugin or app that's vulnerable.
{%- endtrans %}
{% trans -%}
We bundle a log4j.properties file with jetty for plugins that introduce log4j. This
file only has an effect on plugins which use log4j logging internally. We have
checked in the recommended mitigation to the log4j.properties file. Plugins which
enable log4j will run with the vulnerable feature disabled. As we cannot find any
usage of log4j 2.x anywhere, we have no plans to do an emergency release at this
time.
{%- endtrans %}

View File

@ -0,0 +1,201 @@
============================================================
{% trans -%}Meet Your Maintainer: StormyCloud{%- endtrans %}
============================================================
.. meta::
:author: sadie
:date: 2022-09-07
:category: general
:excerpt: {% trans %}An interview with the maintainers of the StormyCloud Outproxy{% endtrans %}
{% trans -%}
A conversation with StormyCloud Inc.
{%- endtrans %}
====================================
{% trans -%}
With the most recent `I2P Java
release <https://geti2p.net/en/blog/post/2022/08/22/1.9.0-Release>`__,
the existing outproxy, false.i2p was replaced with the new StormyCloud
outproxy for new I2P installs. For people who are updating their router,
changing over to the Stormycloud service can be done quickly.
{%- endtrans %}
{% trans -%}
In your Hidden Services Manager, change both Outproxies and SSL
Outproxies to exit.stormycloud.i2p and click on the save button at the
bottom of the page.
{%- endtrans %}
|outproxystormy| **{% trans -%}Who is StormyCloud Inc?{%- endtrans %}**
**Mission of StormyCloud Inc.**
{% trans -%}
To defend Internet access as a universal human right. By doing so, the
group protects users electronic privacy and builds community by
fostering unrestricted access to information and thus the free exchange
of ideas across borders. This is essential because the Internet is the
most powerful tool available for making a positive difference in the
world.
{%- endtrans %}
**{% trans -%}Vision Statement{%- endtrans %}**
{% trans -%}
To become a pioneer in providing free and open Internet to everyone in
the universe because Internet access is a basic human right
`(https://stormycloud.org/about-us/) <https://stormycloud.org/about-us/>`__
{%- endtrans %}
{% trans -%}
I met with Dustin to say hello, and to talk more about privacy, the need
for services like StormyCloud, and what drew the company to I2P.
{%- endtrans %}
**{% trans -%}What was the inspiration behind starting StormyCloud?{%- endtrans %}**
{% trans -%}
It was late 2021, I was on the /r/tor subreddit. There was a person who
had responded in a thread about how to use Tor who talked about how they
relied on Tor in order to stay in contact with their family. Their
family lived in the United States, but at the time they resided in a
country where internet access was very restricted. They needed to be
very cautious about who they communicated with and what they said. For
these reasons, they relied on Tor. I thought about how I can communicate
with people without fear or restrictions and that it should be the same
for everyone.
{%- endtrans %}
{% trans -%}
The goal of StormyCloud is to help as many people as we can to do that.
{%- endtrans %}
**{% trans -%}What have been some of the challenges of getting StormyCloud
started?{%- endtrans %}**
{% trans -%}
The cost — it is ungodly expensive. We went the data centre route since
the scale of what we are doing is not something that can be done on a
home network. There are equipment expenses and reoccurring hosting
costs.
{%- endtrans %}
{% trans -%}
In regard to setting up the non-profit, we followed in Emerald Onions
path and utilized some of their documents and lessons learned. The Tor
community has many resources available that are very helpful.
{%- endtrans %}
**{% trans -%}How has the response been to your services?{%- endtrans %}**
{% trans -%}
In July we served 1.5 billion DNS requests over all of our services.
People appreciate that there is no logging being done. The data is just
not there, and people like that.
{%- endtrans %}
**{% trans -%}What is an outproxy?{%- endtrans %}**
{% trans -%}
An outproxy is similar to Tors exit nodes, it allows for clearnet
(normal internet traffic) to be relayed through the I2P network. In
other words, it allows I2P users to access the internet through the
safety of the I2P network.
{%- endtrans %}
**{% trans -%}What is special about the StormyCloud I2P Outproxy?{%- endtrans %}**
{% trans -%}
To start with we are multi-homed which means we have several servers
serving outproxy traffic. This ensures the service is always available
to the community. All the logs on our servers are wiped every 15
minutes. This ensures both law enforcement and ourselves do not have
access to any data. We support visiting Tor onion links though the
outproxy, and our outproxy is pretty fast.
{%- endtrans %}
**{% trans -%}How do you define privacy? What are some of the issues you see with
overreach and data handling?{%- endtrans %}**
{% trans -%}
Privacy is freedom from unauthorized access. Transparency is important,
such as opting in — the example being GDPR requirements.
{%- endtrans %}
{% trans -%}
There are big companies hoarding data that is being used for
`warrantless access to location
data. <https://www.eff.org/deeplinks/2022/08/fog-revealed-guided-tour-how-cops-can-browse-your-location-data>`__
There is overreach of tech companies into what people think is, and
should be private, like photos or messages.
{%- endtrans %}
{% trans -%}
It is important to keep doing outreach about how to keep your
communication safe, and what tools or apps will help a person do so. The
way that we interact with all of the information out there is important
as well. We need to trust but verify.
{%- endtrans %}
**{% trans -%}How does I2P fit into StormyClouds Mission and Vision Statement?{%- endtrans %}**
{% trans -%}
I2P is an open source project, and what it offers aligns with the
mission of StormyCloud Inc. I2P provides a layer of privacy and
protection for traffic and communication, and the project believes that
everybody has a right to privacy.
{%- endtrans %}
{% trans -%}
We became aware of I2P in early 2022 when talking to people in the Tor
community, and liked what the project was doing. It seemed similar to
Tor.
{%- endtrans %}
{% trans -%}
During our introduction to I2P and its capabilities, we saw the need for
a reliable outproxy. We had really great support from people in the I2P
community to create and start providing the outproxy service.
{%- endtrans %}
**{% trans -%}I am always curious about first impressions and what resources we can
provide or improve on for people who are getting started with I2P. What
can you tell me about your experience and suggestions for onboarding?{%- endtrans %}**
{% trans -%}
Make it easy to replicate or understand for people with limited IT
knowledge or knowledge of I2P. Using the router, or even using email on
I2P should be easy for everybody.
{%- endtrans %}
**{% trans -%}Conclusion{%- endtrans %}**
{% trans -%}
The need for awareness about surveilling what should be private in our
online lives is ongoing. Collecting any data should be consensual , and
privacy should be implicit.
{%- endtrans %}
{% trans -%}
Where we cannot trust that our traffic or communication will not be
observed without consent, we thankfully have access to networks that
will by-design anonymize traffic and hide our locations.
{%- endtrans %}
{% trans -%}
Thank you to StormyCloud and everyone who provides outproxies or nodes
for Tor and I2P so that people can access the internet more safely when
they need to. I look forward to more people bridging the capabilities of
these complementary networks to create a more robust privacy ecosystem
for everyone.
{%- endtrans %}
{% trans -%}
Learn more about StormyCloud Inc.s services https://stormycloud.org/
and help support their work by making a donation
https://stormycloud.org/donate/.
{%- endtrans %}
.. |outproxystormy| image:: https://user-images.githubusercontent.com/50714166/188997993-465b6a5a-52a0-40f0-bdff-68ca2b6c97ba.png

View File

@ -0,0 +1,27 @@
====================================================================
{% trans -%}Windows Easy-Install Bundle 1.9.5 Release{%- endtrans %}
====================================================================
.. meta::
:author: idk
:date: 2022-09-07
:category: release
:excerpt: {% trans %}Windows Easy-Install Bundle 1.9.5{% endtrans %}
{% trans -%}
Bug Fixing release for Windows 11 users
{%- endtrans %}
=======================================
{% trans -%}
This point release includes a bug fix in the included I2P router, which resolves
a highly obscure bug where the context clock is out of sync with the clock in
use by the File System, resulting in a router which is unable to read the current
state of it's own NetDB. Although this bug has only been observed on Windows 11
so far, it is highly recommended that all users update to the new build.
{%- endtrans %}
{% trans -%}
This release also features faster startup and times improved stability in the profile
manager.
{%- endtrans %}

View File

@ -0,0 +1,106 @@
{% trans -%}
==================================
A Reminder to be Safe as I2P Grows
==================================
{%- endtrans %}
.. meta::
:author: idk
:date: 2022-09-26
:category: general
:excerpt: {% trans %}A Reminder to be Safe as I2P Grows{% endtrans %}
{% trans -%}
A Reminder to be Safe as I2P Grows
{%- endtrans %}
==================================
{% trans -%}
It is an an exciting time for The Invisible Internet Project (I2P).
We are completing our migration to modern cryptography across all of our transports, ( Java and C++), and we have recently gained a high-capacity and professional outproxy service, and there are more applications integrating I2P based functionality than ever.
The network is poised to grow, so now is a good time to remind everyone to be smart and be safe when obtaining I2P and I2P-related software.
We welcome new applications, implementations, and forks with new ideas, and the power of the network comes from its openness to participation by all I2P users.
In fact, we dont like to call you users, we like to use the word “Participants” because each of you helps the network, in your own way by contributing content, developing applications, or simply routing traffic and helping other participants find peers.
{%- endtrans %}
{% trans -%}
You are the network, and we want you to be safe.
{%- endtrans %}
{% trans -%}
We have become aware of attempts to impersonate I2Ps presence on the web and social media.
To avoid offering momentum to these campaigns, we will not mention the actors affiliated with them, However, in order to help you recognize these campaigns should you encounter them in the wild, we are documenting their tactics:
{%- endtrans %}
- Copying text directly from the I2P Web Site without acknowledging our license requirements in a way that may suggest endorsement.
- Involvement or promotion of an Initial Coin Offering, or ICO
- Crypto-Scam like language
- Graphics that have nothing to do with the textual content
- Click-farming behavior, sites that appear to have content but which instead link to other sites
- Attempts to get the user to register for non-I2P chat servers. We come to you or you come to us, we will not ask you to meet us at a third-party service unless you already use it(Note that this is not always true for other forks and projects, but it is true of geti2p.net).
- The use of bot networks to amplify any message on social media. I2P(geti2p.net) does not use bots for social media advertising.
{% trans -%}
These campaigns have had the side-effect of “shadow-banning” some legitimate I2P-related discussion on Twitter and possibly other social media.
{%- endtrans %}
{% trans -%}Our Sites{%- endtrans %}
---------
{% trans -%}
We have official sites where people may obtain the I2P software safely:
{%- endtrans %}
- `{% trans -%}Official Website - i2p.net{%- endtrans %}
<https://i2p.net>`__
- `{% trans -%}Official Website - geti2p.net{%- endtrans %}
<https://geti2p.net>`__
- `{% trans -%}Official Gitlab - i2pgit.org{%- endtrans %}
<https://i2pgit.org>`__
- `{% trans -%}Official Debian Repository - deb.i2p2.de{%- endtrans %}
<https://deb.i2p2.de>`__
- `{% trans -%}Official Debian Repository - deb.i2p2.no{%- endtrans %}
<https://deb.i2p2.no>`__
- `{% trans -%}Official Forums - i2pforum.net{%- endtrans %}
<https://i2pforum.net>`__
{% trans -%}Invisible Internet Project Forums, Blogs and Social Media{%- endtrans %}
---------------------------------------------------------
{% trans -%}Hosted by the project{%- endtrans %}
~~~~~~~~~~~~~~~~~~~~~
- `{% trans -%}I2P Forums{%- endtrans %} <https://i2pforum.net>`__ - `{% trans -%}I2P{%- endtrans %}
Mirror <https://i2pforum.i2p>`__
- irc: `#i2p-dev` on Irc2P(`127.0.0.1:6668` in a standard I2P installation)
{% trans -%}Hosted by Others{%- endtrans %}
~~~~~~~~~~~~~~~~
{% trans -%}
These services are hosted by third-parties, sometimes corporations, where we participate in order to provide a social media outreach presence to I2P users who choose to participate in them.
We will never ask you to participate in these unless you already have an account with them, prior to interacting with us.
{%- endtrans %}
- `{% trans -%}Launchpad{%- endtrans %} : https://launchpad.net/i2p <https://launchpad.net/i2p>`__
- `{% trans -%}Github{%- endtrans %} : https://github.com/i2p <https://github.com/i2p>`__
- `{% trans -%}Twitter{%- endtrans %} : https://twitter.com/GetI2P <https://twitter.com/GetI2P>`__
- `{% trans -%}Reddit{%- endtrans %} :
https://www.reddit.com/r/i2p/ <https://www.reddit.com/r/i2p/>`__
- `{% trans -%}Mastodon{%- endtrans %}:
https://mastodon.social/@i2p <https://mastodon.social/@i2p>`__
- `{% trans -%}Medium{%- endtrans %}: https://i2p.medium.com/ <https://i2p.medium.com/>`__
{% trans -%}Forks, Apps, and Third-Party Implementations are Not Evil.{%- endtrans %}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% trans -%}
This post attempts to provide ways of vetting the source for obtaining the Java I2P package represented by the source code contained in https://i2pgit.org/i2p-hackers/i2p.i2p and https://github.com/i2p/i2p.i2p, and which is available for download from the web site https://geti2p.net/.
It is not intended to pass judgement on third-party forks, downstream projects, embedders, packagers, people experimenting in laboratories, or people who just disagree with us.
You are all valued members of our community who are trying to protect, and not compromise, the privacy of others.
Since we are aware of attempts to impersonate I2P project community members, you may wish to review the download, verification, and installation procedures which you recommend to your users in order to document your official sources and known mirrors.
{%- endtrans %}
{% trans -%}
Authors Note: An earlier version of this blog post contained the TLS fingerprint of each of the services operated by the I2P Project.
These were removed when a certificate renewal caused the fingerprints to become inaccurate.
{%- endtrans %}

View File

@ -0,0 +1,347 @@
{% trans -%}
==================================
Meet your Maintainer: DivaExchange
==================================
{%- endtrans %}
.. meta::
:author: sadie
:date: 2022-09-26
:category: general
:excerpt: {% trans %}A conversation with DivaExchange{% endtrans %}
{% trans -%}
*In this second installment of Meet Your Maintainer, I reached out to
Konrad from DIVA.EXCHANGE to talk about DIVAs research and services.
DIVA.EXCHANGE is developing software with the goal of providing free
banking technology for everyone. It is secure without a central
infrastructure, and based on blockchain and I2P technology.*
{%- endtrans %}
**{% trans -%}What got you interested in I2P?{%- endtrans %}**
{% trans -%}
About 10 years ago I had a presentation for “Technologieforum Zug” - a
very local technology network for business guys. I was introducing I2P
and Tor as overlay networks to them - to show them that other
interesting things exist out there.
{%- endtrans %}
{% trans -%}
I was always very much interested in cryptography related technology. In
general I can say that my core interests were and still are: networks,
freedom and privacy on both a technical and social level, interesting
algos, like HashCash between 2000 and 2010, which was a very well
working Proof-of-Work algo created at Universities in the UK in the late
90s.
{%- endtrans %}
{% trans -%}
I2P fascinated me because it is really carefully done - from the
architecture to the implementation in Java and C++. Personally I prefer
de-coupled and small programs doing one thing. Hence I was pretty
fascinated by the C++ version, I2Pd, which is lean, fast and without
dependencies. It works very well for me.
{%- endtrans %}
**{% trans -%}What are the qualities in its technical capacity that aligned with
your own work or interests?{%- endtrans %}**
{% trans -%}
I adore craftsmanship. Thats art. And I2P is modern craftsmanship. I2P
creates values for end users values which cant be bought: autonomy,
liberty and serenity.
{%- endtrans %}
{% trans -%}
I2P fascinates me because its agnostic. Anyone can run anything on I2P
as long as it talks TCP or UDP - and can handle some latency. Really:
“the network is the computer” and the communication is truly private
according to the current state of knowledge.
{%- endtrans %}
**{% trans -%}Who is DIVA for?{%- endtrans %}**
{% trans -%}
DIVA gets actively developed and therefore the project is for
researchers, software developers, communicators (writers, illustrators…)
and for people who want to learn really new stuff in the area of
distributed technology.
{%- endtrans %}
{% trans -%}
Once DIVA grows up - please dont ask me when - DIVA will be a fully
distributed, self-hosted bank for everyone.
{%- endtrans %}
**{% trans -%}Can you tell me about what DIVA does?{%- endtrans %}**
{% trans -%}
As said, DIVA will be a fully distributed, self-hosted bank for
everyone. “Banking” means: savings, payments, investments, loans - so
all that stuff everybody is doing everyday. Please note in this context:
DIVA works without any central infrastructure and DIVA will never - as
long as I have something to say - be a coin or token. There cant be any
central business model involved. If a transaction creates fees because a
node of the distributed infrastructure did some work, then these fees
remain at the node which did the work.
{%- endtrans %}
{% trans -%}
Why a “bank”? Because financial liberty and autonomy is key to live a
good and peaceful life and to be able to make all those smaller and
larger daily decisions in freedom. Therefore people shall own their
small and secure technology components to do whatever they like to do
without being nudged.
{%- endtrans %}
{% trans -%}
Well, say hello to DIVA, based on I2P.
{%- endtrans %}
**{% trans -%}What are your upcoming goals? What are your stretch goals?{%- endtrans %}**
{% trans -%}
There is a very close goal: understanding the impact of SSU2 which has
been lately implemented in I2P. This is a technical goal for the next
few weeks.
{%- endtrans %}
{% trans -%}
Then, probably this year: some cryptocurrency transactions using DIVA on
testnets. Please dont forget: DIVA is a research project and people
shall be motivated to do their own stuff with DIVA - the way they need
it. We dont run any infrastructure or alike for others except some
transparent test networks to increase the knowledge and wisdom of
everyone. Its recommended to stay in touch with DIVA via social
networks
(`twitter.com/@DigitalValueX <http://twitter.com/@DigitalValueX>`__) or
chats to be inspired what to do with DIVA.
{%- endtrans %}
{% trans -%}
I also want to touch an important part for the I2P community: DIVA is
based on divachain - which is then based on I2P. Divachain is a very
generic fully distributed storage layer. So, just as an example: if some
I2P developer believes that a fully distributed, trustless DNS would be
a great idea - well, thats yet another use case of divachain. Fully
distributed - no trust needed - all anonymous.
{%- endtrans %}
**{% trans -%}What are some of the other services and contributions you are
responsible for?{%- endtrans %}**
{% trans -%}
DIVA.EXCHANGE - which is the open association developing DIVA - runs a
reseed server for I2P since a few years. So probably almost every I2P
user got somehow in touch with us in the past. Just a note: the
DIVA.EXCHANGE reseed server is also available as .onion service - so I2P
bootstrapping can be done via the tor network - which is, at least from
my perspective, an additional protection layer while entering the
network.
{%- endtrans %}
{% trans -%}
DIVA has also created an I2P SAM library. So developers can create any
modern application based on I2P. Its on github and getting more and
more popular:
`github.com/diva-exchange/i2p-sam/ <http://github.com/diva-exchange/i2p-sam/>`__.
Its complete, well documented and offers lots of examples.
{%- endtrans %}
**{% trans -%}What are some of the priorities you think that anyone who wants to
contribute to the I2P network should consider?{%- endtrans %}**
{% trans -%}
Run your I2P node. Take a look at the different flavours, like Docker
versions of I2Pd, or other installs available for multiple operating
systems. There are several flavours available and its important to be
comfortable with the local installation and configuration.
{%- endtrans %}
{% trans -%}
Then: think about your skills - networking skills, programming skills,
communication skills? I2P offers lots of interesting challenges: people
with networking skills might want to run a reseed server - they are very
important to the network. Programmers might help with the Go, C++ or
Java version of I2P. And communicators are always needed: talking about
I2P from an objective and realistic perspective is helping a lot. Every
little bit is great.
{%- endtrans %}
{% trans -%}
Last but not least: if you are a researcher or student - please get in
touch with us at DIVA.EXCHANGE or the I2P team - research work is
important for I2P.
{%- endtrans %}
**{% trans -%}Where do you see the conversation and outlook on tools like I2P now?{%- endtrans %}**
{% trans -%}
Probably I have to say something about the outlook: I2P is important to
everyone. I hope that the I2P community - developers, communicators,
etc. - remains motivated by the few which deeply appreciate their hard
work on truly challenging technology.
{%- endtrans %}
{% trans -%}
I hope that more and more developers see the benefit to develop software
based on I2P. Because this would create more use cases for end users.
Then I also hope, that the core I2P programs remain simple and become
maybe even more de-coupled. Let me make an example what I mean with
“de-coupled”: user interfaces probably should not be baked into
applications by developers - because there are front end designers which
do have great knowledge and years of experience. Developers should just
create an API, like a unix or websocket or a REST interface, so that
other services can use the program the way they want it. This makes
developers and end users happy.
{%- endtrans %}
**{% trans -%}Can you tell me a bit about your own I2P workflow? What are your own
use cases?{%- endtrans %}**
{% trans -%}
I am a developer, tester and researcher. So I need all my stuff in
containers to remain flexible. I2Pd is running in 1..n containers on
multiple systems to serve stuff like: feeding reseed requests, serving
the diva.i2p test website, running parts of the DIVA I2P test network -
see testnet.diva.exchange and I also have containers to serve my local
browsers as a combined I2P and Tor proxy.
{%- endtrans %}
**{% trans -%}How can the I2P community support your work?{%- endtrans %}**
{% trans -%}
We are on social media, like
`twitter.com/@DigitalValueX <http://twitter.com/@DigitalValueX>`__ - so
follow us there. Additionally we would love to see even more involvement
on `github.com/diva-exchange <http://github.com/diva-exchange>`__ - it
already got more and more attention in the past months. Thanks a lot for
that!
{%- endtrans %}
**{% trans -%}Glossary Of Key Terms{%- endtrans %}**
**{% trans -%}I2P Terms{%- endtrans %}**
**{% trans -%}Reseed Host{%- endtrans %}**
{% trans -%}
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 arent contactable.
{%- endtrans %}
{% trans -%}
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.
{%- endtrans %}
**{% trans -%}Node/Peer{%- endtrans %}**
{% trans -%}
A node or peer is part of a network of computers sharing resources. When
you download and install I2P, you participate in routing traffic for
others. Every person using I2P is a node or peer. In some cases. people
can supply more bandwidth or resources than others to the network.
However, peer diversity is important and the more people who use I2P,
the stronger the network becomes. When it comes to setting up your node,
you can customize and configure your connection and workflow with the
I2P network.
{%- endtrans %}
**I2Pd (I2Pdaemon)**
{% trans -%}
I2Pd is a C++ implementation of the I2P protocol is differs from the I2P
Java software in the following ways:
{%- endtrans %}
{% trans -%}
*Java I2P has built-in applications for torrents, e-mail and so on. i2pd
is just a router which you can use with other software through I2CP
interface.* *i2pd does not require Java. Its written in C++.* *i2pd
consumes less memory and CPU.* *i2pd can be compiled everywhere gcc or
clang presented (including Raspberry and routers).* *i2pd has some major
optimizations for faster cryptography which leads to less consumption of
processor time and energy.*
{%- endtrans %}
{% trans -%}
Citation: https://i2pd.readthedocs.io/en/latest/user-guide/FAQ/ Site:
https://i2pd.website/
{%- endtrans %}
{% trans -%}
In terms of the differences or benefits of using either the C++ or Java
version of I2P, the question often comes up. Recently, idk responded to
this question on the I2P subreddit. Ultimately, it depends on a persons
own use case or desired workflow.
{%- endtrans %}
{% trans -%}
*Easy-Install Bundle is the best way to use I2P on Windows for people
just getting started. It will automatically get you from starting the
router to successfully browsing, every time. However, it doesnt
register as a Windows service, so its not as good to use as a 24/7
transit node yet. It contains everything you need to browse, but its
designed around using I2P interactively and not running services,
necessarily.*
{%- endtrans %}
{% trans -%}
*i2pd on the other hand is very light and efficient and is designed
expressly to run as a service. Its great at being a 24/7 transit node,
especially if you install it on your router, or on a Linux server
somewhere. Its got less tools built-in though, so if you want to
torrent or browse, you will need to add those tools externally.*
{%- endtrans %}
**{% trans -%}Diva Terms{%- endtrans %}**
{% trans -%}
Konrad has provided insight into of some of the terms used during the
conversation.
{%- endtrans %}
**{% trans -%}Bank for Everyone{%- endtrans %}**
{% trans -%}
The possibility to run locally installed software which is able to do
everything a well-known bank can: send and receive payments for
anything, give and receive loans, manage investments, etc. Such banking
software shall neither be depending on any central software components
nor supervised or censored by central components. Its run and managed
by its owner only with all its benefits and reliabilities. The network
(see “Blockchain” and “Consensus”) tries to make sure that no network
participant (a user running his own bank) is able to cheat.
{%- endtrans %}
**{% trans -%}Blockchain{%- endtrans %}**
{% trans -%}
A piece of software which is able to reliably store arbitrary data.
Copies of the software and the storage space is distributed within a
network of any size where the network participants do not necessarily
trust each other (or maybe not even know each other). A synonym of
“blockchain” is “Distributed Layer Technology (DLT)”. A blockchain has
nothing to do with “coins” or “tokens”. These are just blockchain based
applications. Blockchain is a base technology which mainly solves the
problem of “trust & abuse” within a network.
{%- endtrans %}
**{% trans -%}Consensus{%- endtrans %}**
{% trans -%}
In a distributed system the majority of the participants need to agree
on the state of data (the “truth, as defined by the majority” - from a
data perspective). This is a continuous process driven by locally
installed software and this is called consensus. There are multiple
valid consensus algorithms available. Bottom line: all consensus
algorithms cost something: CPU cycles, communication capacity etc. - in
short: a bunch of data sets is the input and a single reliable, fully
distributed data set valid for the majority in the network is the
output.
{%- endtrans %}

View File

@ -0,0 +1,173 @@
===============================================
{% trans -%}Year in Review: 2021{%- endtrans %}
===============================================
.. meta::
:author: Sadie
:date: 2021-12-29
:category: general
:excerpt: {% trans %}I2P Turns 20, Faster Crypto and A Growing Network{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}Development Highlights{%- endtrans %}
#################################################
{% trans -%}
The 0.9.49 release began the migration to the new, faster ECIES-X25519
encryption for routers. It took many years of work on the specifications and
protocols for new encryption, and this release, new installs and a very small
percentage of existing installs (randomly selected at restart) began using the
new encryption. This is the first time that the default encryption type has
ever been changed, so the full migration would take place over several
releases in order to minimize any issues.
{%- endtrans %}
{% trans -%}Full release notes{%- endtrans %}: https://geti2p.net/en/blog/post/2021/02/17/0.9.49-Release
{% trans -%}
0.9.50 enabled DNS over HTTPS for reseeding to protect users from passive DNS
snooping. Additionally, work was done to protect the network from possible
malicious and buggy routers, and numerous fixes and improvements for IPv6
addresses, including new UPnP support were completed.
{%- endtrans %}
{% trans -%}Full release notes{%- endtrans %}: https://geti2p.net/en/blog/post/2021/05/17/0.9.50-Release
{% trans -%}
In recognition of almost 20 years of work to provide anonymity and security,
the team decided to go straight from 0.9.50 to 1.5.0. The 1.5.0 release
finished support for new build messages (proposal 157), and finished
implementation of smaller tunnel build messages to reduce bandwidth. The
transition of the networks routers to X25519 encryption continued.
{%- endtrans %}
{% trans -%}Full release notes{%- endtrans %}: https://geti2p.net/en/blog/post/2021/08/23/1.5.0-Release
{% trans -%}
The rollout of two major protocol updates reached completed in 1.6.1. Almost
all routers will be rekeyed by the end of the year. Also, short tunnel build
messages were enabled for a significant bandwidth reduction. Progress on the
design of the new UDP transport SSU2 began, and is expected to start
implementation early next year.
{%- endtrans %}
{% trans -%}Full release notes{%- endtrans %}: https://geti2p.net/en/blog/post/2021/11/29/1.6.0-Release
{% trans -%}Easier Installs: JPackage{%- endtrans %}
****************************************************
{% trans -%}
With upwards of 30 steps required to install both the I2P software and Java,
the process for new user onboarding has not been historically easy. Unfamiliar
and unintuitive, it was a process that has created issues for usability for
many years.
{%- endtrans %}
{% trans -%}
However, in recent Java versions, a new option emerged that had the potential
to solve this issue for the Java software. The tool is called “Jpackage” and
would allow for the creation of a Jpackage powered I2P Router.
{%- endtrans %}
{% trans -%}
We removed dozens of steps from the installation process by switching from an
external JVM to a Jpackage, built standard packages for target operating systems,
and signed them in a way the operating system would recognize to keep the user
secure. Since then, the jpackage routers have reached a new milestone, they have
recieved their first incremental updates. These updates will replace the JDK 16
jpackage with an updated JDK 17 jpackage and provide fixes for some small bugs
which we caught after the release.
{%- endtrans %}
{% trans -%}Improving I2P Adoption and Onboarding using Jpackage, I2P-Zero{%- endtrans %}: https://geti2p.net/en/blog/post/2021/09/15/i2p-jpackages
{% trans -%}JPackages Get their First Update{%- endtrans %}: https://geti2p.net/en/blog/post/2021/11/2/i2p-jpackage-1.5.1
{% trans -%}Bitcoin Core added Support for I2P{%- endtrans %}
*************************************************************
{% trans -%}
Bitcoin-over-I2P nodes can now fully interact with the rest of the Bitcoin nodes,
using the help of nodes that operate within both I2P and the clearnet.
{%- endtrans %}
{% trans -%}Read the full blog post{%- endtrans %}: https://geti2p.net/en/blog/post/2021/09/18/i2p-bitcoin
{% trans -%}I2P Usability Lab{%- endtrans %}
********************************************
{% trans -%}
This year, the I2P Usability Lab was created. The focus will be on user research,
product development and tooling to support adoption. Additionally, better focus on
localization efforts, protocol bridge building within the privacy community and
sustainability considerations will be part of the ongoing effort to bring I2P to
more people.
{%- endtrans %}
{% trans -%}New User Onboarding Research{%- endtrans %}
*******************************************************
{% trans -%}
In 2020 the I2P UX team worked with Simply Secure on a usability sprint to assess
user interaction with the I2P website. Many changes were applied, however, feedback
has indicated that there are still issues with some aspects of new user onboarding.
{%- endtrans %}
{% trans -%}
We have expanded our team thanks to the BASICS project (Building Analytical and
Support Infrastructure for Critical Security tools), and not only revisiting the
new user onboarding, but we are also expanding the scope to include onboarding for
developers and researchers. The goal will be to present an improved information
architecture.
{%- endtrans %}
{% trans -%}
This year we focused on the massive overhaul of the new user onboarding for the
download and browser configuration workflow and language. New wireframes for the
I2P website have been created, and new information architecture put in place. This
has been done in order to better support new users, maintainers, application
developers, I2P core contributors, and researchers. This work will continue into
2022 as documentation is refined and the site changes are implemented.
{%- endtrans %}
{% trans -%}Read the full UX review here:{%- endtrans %} https://i2p.medium.com/i2p-ux-research-d2567aefd275
{% trans -%}Forum on internet Freedom in Africa 2021{%- endtrans %}
*******************************************************************
{% trans -%}
Working with our partners in Africa, the Invisible Internet Project was invited
to participate in both a panel discussion, as well as work with a group of
journalists to explore what privacy and security mean to them. The goal for the
outcome from this opportunity was to understand what establishes trust, the
concept of privacy and what it means, and egin to evaluate I2P and its tooling
through this lens.
{%- endtrans %}
{% trans -%}
We saw that adoption results from efficiency, ease of use, and empowerment. All
of these things result in a person not just wanting to use a privacy option, but to
feel like they are actually taking control of their privacy. This is one of the
most important aspects we have encountered during the past year when talking with
new users: the emotional aspect of interacting with technology. Telling a person
that something can technically provide a solution is one part of adoption. Providing
a person with something that they can use with confidence is the other.
Meeting people where they are and asking about who they are ensures that we are
creating for real needs and for the most people possible.
{%- endtrans %}
{% trans -%}Read the entire blog post here{%- endtrans %}: https://i2p.medium.com/i2p-usability-lab-b2098bf27d4d
{% trans -%}
Thank you to everyone who contributes to building the Invisible Internet!
{%- endtrans %}
{% trans -%}
This post originally appeared on Sadie's blog. https://i2p.medium.com/4b926a488919
Copied with permission.
{%- endtrans %}

View File

@ -0,0 +1,386 @@
===========================================
{% trans -%}SSU2 Transport{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2022-10-11
:category: development
:excerpt: {% trans %}SSU2 Transport{% endtrans %}
{% trans %}Overview{% endtrans %}
------------------------------------
{% trans -%}
I2P has used a censorship-resistant UDP transport protocol "SSU" since 2005.
We've had few, if any, reports of SSU being blocked in 17 years.
However, by today's standards of security, blocking resistance,
and performance, we can do better. Much better.
{%- endtrans %}
{% trans link1="https://i2pd.xyz/" -%}
That's why, together with the `i2pd project <{{ link1 }}>`_, we have created and implemented "SSU2",
a modern UDP protocol designed to the highest standards of security and blocking resistance.
This protocol will replace SSU.
{%- endtrans %}
{% trans -%}
We have combined industry-standard encryption with the best
features of UDP protocols WireGuard and QUIC, together with the
censorship resistance features of our TCP protocol "NTCP2".
SSU2 may be one of the most secure transport protocols ever designed.
{%- endtrans %}
{% trans link1="/spec/proposals/159", link2="/en/docs/transport/ssu", link3="https://en.wikipedia.org/wiki/ElGamal_encryption" -%}
The Java I2P and i2pd teams are finishing the `SSU2 transport <{{ link1 }}>`_ and we will enable it for all routers in the next release.
This completes our decade-long plan to upgrade all the cryptography from the original
Java I2P implementation dating back to 2003.
SSU2 will replace `SSU <{{ link2 }}>`_, our sole remaining use of `ElGamal <{{ link3 }}>`_ cryptography.
{%- endtrans %}
- Signature types and ECDSA signatures (0.9.8, 2013)
- Ed25519 signatures and leasesets (0.9.15, 2014)
- Ed25519 routers (0.9.22, 2015)
- Destination encryption types and X25519 leasesets (0.9.46, 2020)
- Router encryption types and X25519 routers (0.9.49, 2021)
{% trans link1="https://noiseprotocol.org/" -%}
After the transition to SSU2,
we will have migrated all our authenticated and encrypted protocols to standard `Noise Protocol <{{ link1 }}>`_ handshakes:
{%- endtrans %}
- `NTCP2 <{{ spec_url("ntcp2") }}>`_ (0.9.36, 2018)
- `{% trans %}ECIES-X25519-Ratchet end-to-end protocol{% endtrans %} <{{ spec_url("ecies") }}>`_ (0.9.46, 2020)
- `{% trans %}ECIES-X25519 tunnel build messages{% endtrans %} <{{ spec_url("tunnel-creation-ecies") }}>`_ (1.5.0, 2021)
- `SSU2 <{{ proposal_url("159") }}>`_ (2.0.0, 2022)
{% trans -%}
All I2P Noise protocols use the following standard cryptographic algorithms:
{%- endtrans %}
- `X25519 <https://en.wikipedia.org/wiki/Curve25519>`_
- `ChaCha20/Poly1305 AEAD <https://www.rfc-editor.org/rfc/rfc8439.html>`_
- `SHA-256 <https://en.wikipedia.org/wiki/SHA-2>`_
{% trans %}Goals{% endtrans %}
------------------------------------
- {% trans %}Upgrade the asymmetric cryptography to the much faster X25519{% endtrans %}
- {% trans %}Use standard symmetric authenticated encryption ChaCha20/Poly1305{% endtrans %}
- {% trans %}Improve the obfuscation and blocking resistance features of SSU{% endtrans %}
- {% trans %}Improve the resistance to spoofed addresses by adapting strategies from QUIC{% endtrans %}
- {% trans %}Improved handshake CPU efficiency{% endtrans %}
- {% trans %}Improved bandwidth efficiency via smaller handshakes and acknowledgements{% endtrans %}
- {% trans %}Improve the security of the peer test and relay features of SSU{% endtrans %}
- {% trans %}Improve the handling of peer IP and port changes by adapting the "connection migration" feature of QUIC{% endtrans %}
- {% trans %}Move away from heuristic code for packet handling to documented, algorithmic processing{% endtrans %}
- {% trans %}Support a gradual network transition from SSU to SSU2{% endtrans %}
- {% trans %}Easy extensibility using the block concept from NTCP2{% endtrans %}
{% trans %}Design{% endtrans %}
------------------------------------
{% trans -%}
I2P uses multiple layers of encryption to protect traffic from attackers.
The lowest layer is the transport protocol layer, used for point-to-point links between two routers.
We currently have two transport protocols:
NTCP2, a modern TCP protocol introduced in 2018,
and SSU, a UDP protocol developed in 2005.
{%- endtrans %}
{% trans link1="/spec/i2np" -%}
SSU2, like previous I2P transport protocols, is not a general-purpose pipe for data.
Its primary task is to securely deliver I2P's low-level `I2NP messages <{{ link1 }}>`_
from one router to the next.
Each of these point-to-point connections comprises one hop in an I2P tunnel.
Higher-layer I2P protocols run over these point-to-point connections
to deliver garlic messages end-to-end between I2P's destinations.
{%- endtrans %}
{% trans -%}
Designing a UDP transport presents unique and complex challenges not present in TCP protocols.
A UDP protocol must handle security issues caused by address spoofing,
and must implement its own congestion control.
Additionally, all messages must be fragmented to fit within the maximum packet size (MTU)
of the network path, and reassembled by the receiver.
{%- endtrans %}
{% trans -%}
We first relied heavily on our previous experience with our NTCP2, SSU, and streaming protocols.
Then, we carefully reviewed and borrowed heavily from two recently-developed UDP protocols:
{%- endtrans %}
- QUIC (`RFC 9000 <https://www.rfc-editor.org/rfc/rfc9000.html>`_, `RFC 9001 <https://www.rfc-editor.org/rfc/rfc9001.html>`_, `RFC 9002 <https://www.rfc-editor.org/rfc/rfc9002.html>`_)
- `WireGuard <https://www.wireguard.com/protocol/>`_
{% trans -%}
Protocol classification and blocking by adversarial on-path attackers such
as nation-state firewalls is not an explicit part of the threat model for those protocols.
However, it is an important part of I2P's threat model, as our mission is to
provide an anonymous and censorship-resistant communications system to at-risk users around the world.
Therefore, much of our design work involved combining the lessons learned from
NTCP2 and SSU with the features and security supported by QUIC and WireGuard.
{%- endtrans %}
{% trans -%}
Unlike QUIC, I2P transport protocols are peer-to-peer, with no defined server/client relationship.
Identities and public keys are published in I2P's network database,
and the handshake must authenticate participants to those identities.
{%- endtrans %}
{% trans -%}
A complete summary of the SSU2 design is beyond the scope of this article.
However, we highlight several features of the protocol below,
emphasizing the challenges of UDP protocol design and threat models.
{%- endtrans %}
{% trans %}DoS Resistance{% endtrans %}
`````````````````````````````````````````````````
{% trans -%}
UDP protocols are especially vulnerable to Denial of Service (DoS) attacks.
By sending a large amount of packets with spoofed source addresses to a victim,
an attacker can induce the victim to consume large amounts of CPU and bandwidth to respond.
In SSU2, we adapt the token concept from QUIC and WireGuard.
When a router receives a connection request without a valid token,
it does not perform an expensive cryptographic DH operation.
It simply responds with small message containing a valid token using inexpensive cryptographic operations.
If the initiator was not spoofing his address, he will receive the token and the handshake may proceed normally.
This prevents any traffic amplification attacks using spoofed addresses.
{%- endtrans %}
{% trans %}Header Encryption{% endtrans %}
`````````````````````````````````````````````````
{% trans -%}
SSU2's packet headers are similar to WireGuard, and are encrypted in a manner similar to that in QUIC.
{%- endtrans %}
{% trans -%}
Header encryption is vitally important to prevent traffic classification, protocol identification, and censorship.
Headers also contain information that would make it easier for attackers to interfere with
or even decrypt packet contents.
While nation-state firewalls are mostly focused on classification and possible disruption of TCP traffic,
we anticipate that their UDP capabilities will increase to meet the challenges of
new UDP protocols such as QUIC and WireGuard.
Ensuring that SSU2 headers are adequately obfuscated and/or encrypted was the first task we addressed.
{%- endtrans %}
{% trans link1="https://eprint.iacr.org/2019/624.pdf" -%}
Headers are encrypted using a header protection scheme by XORing with data calculated from known keys,
using ChaCha20, similar to QUIC RFC-9001_ and `Nonces are Noticed <{{ link1 }}>`_.
This ensures that the encrypted headers will appear to be random, without any distinguishable pattern.
{%- endtrans %}
{% trans link1="https://eprint.iacr.org/2019/624.pdf" -%}
Unlike the QUIC RFC-9001_ header protection scheme, all parts of all headers, including destination and source connection IDs, are encrypted.
QUIC RFC-9001_ and `Nonces are Noticed <{{ link1 }}>`_ are primarily focused on encrypting the "critical" part of the header, i.e. the packet number (ChaCha20 nonce).
While encrypting the session ID makes incoming packet classification a little more complex, it makes some attacks more difficult.
{%- endtrans %}
{% trans -%}
Our threat model assumes that censorship firewalls do not have real-time access to I2P's network database.
Headers are encrypted with known keys published in the network database or calculated later.
In the handshake phase, header encryption is for traffic classification resistance only,
as the decryption key is public and the key and nonces are reused.
Header encryption in this phase is effectively just obfuscation.
Note that the header encryption is also used to obfuscate the X25519 ephemeral keys in the handshake,
for additional protection.
{%- endtrans %}
{% trans -%}
In the data phase, only the session ID field is encrypted with a key from the network database.
The critical nonce field is encrypted with a key derived from the handshake,
so it may not be decrypted even by a party with access to the network database.
{%- endtrans %}
{% trans %}Packet Numbering, ACKS, and Retransmission{% endtrans %}
```````````````````````````````````````````````````````````````````````
{% trans link1="/en/docs/api/streaming" -%}
SSU2 contains several improvements over SSU for security and efficiency.
The packet number is the AEAD nonce, and each packet number is only used once.
Acknowledgements (ACKs) are for packet numbers, not I2NP message numbers or fragments.
ACKs are sent in a very efficient, compact format adapted from QUIC.
An immediate-ack request mechanism is supported, similar to SSU.
Congestion control, windowing, timers, and retransmission strategies are not fully specified,
to allow for implementation flexibility and improvements,
but general guidance is taken from the RFCs for TCP.
Additional algorithms for timers are adapted from I2P's `streaming protocol <{{ link1 }}>`_ and SSU implementations.
{%- endtrans %}
{% trans %}Connection Migration{% endtrans %}
`````````````````````````````````````````````````
{% trans -%}
UDP protocols are susceptible to breakage from peer port and IP changes
caused by NAT rebinding, IPv6 temporary address changes, and mobile device address changes.
Previous SSU implementations attempted to handle some of these cases with complex and brittle heuristics.
SSU2 provides a formal, documented process to detect and validate peer
address changes and migrate connections to the peer's new address without data loss.
It prevents migration caused by packet injection or modification by attackers.
The protocol to implement connection migration is adapted and simplified from QUIC.
{%- endtrans %}
{% trans %}Peer Test and Relay{% endtrans %}
`````````````````````````````````````````````````
{% trans -%}
SSU provides two important services in addition to the transport of I2NP messages.
First, it supports Peer Test, which is a cooperative scheme to determine local IP
and detect the presence of network address translation (NAT) and firewall devices.
This detection is used to update router state, share that state with other transports,
and publish current address and state in I2P's network database.
Second, it supports Relaying, in which routers cooperate to traverse firewalls
so that all routers may accept incoming connections.
These two services are essentially sub-protocols within the SSU transport.
{%- endtrans %}
{% trans -%}
SSU2 updates the security and reliability of these services by
enhancing them to add more response codes, encryption, authentication,
and restrictions to the design and implementation.
{%- endtrans %}
{% trans %}Performance{% endtrans %}
--------------------------------------------
{% trans -%}
The I2P network is a complex mix of diverse routers.
There are two primary implementations running all over the world on
hardware ranging from high-performance data center computers to
Raspberry Pis and Android phones.
Routers use both TCP and UDP transports.
While the SSU2 improvements are significant, we do not expect them
to be apparent to the user, either locally or in end-to-end transfer speeds.
End-to-end transfers depend on the performance of 13 other routers
and 14 point-to-point transport links, each of which could be
SSU2, NTCP2, or SSU.
{%- endtrans %}
{% trans -%}
In the live network, latency and packet loss vary widely.
Even in a test setup, performance depends on configured latency and packet loss.
The i2pd project reports that maximum transfer rates for SSU2 were over 3 times
faster than SSU in some tests. However, they completely redesigned their
SSU code for SSU2 as their previous implementation was rather poor.
The Java I2P project does not expect that their SSU2 implementation will be any faster than SSU.
{%- endtrans %}
{% trans -%}
Very low-end platforms such as Raspberry Pis and OpenWRT may see substantial improvements
from the elimination of SSU.
ElGamal is extremely slow and limits performance on those platforms.
{%- endtrans %}
{% trans -%}
SSU2 data phase encryption uses ChaCha20/Poly1305, compared to AES with a MD5 HMAC for SSU.
Both are very fast and the change is not expected to measurably affect performance.
{%- endtrans %}
{% trans -%}
Here are some highlights of the estimated improvements for SSU2 vs. SSU:
{%- endtrans %}
- {% trans %}40% reduction in total handshake packet size{% endtrans %}
- {% trans %}50% or more reduction in handshake CPU{% endtrans %}
- {% trans %}90% or more reduction in ACK overhead{% endtrans %}
- {% trans %}50% reduction in packet fragmentation{% endtrans %}
- {% trans %}10% reduction in data phase overhead{% endtrans %}
{% trans %}Transition Plan{% endtrans %}
--------------------------------------------
{% trans -%}
I2P strives to maintain backward compatibility, both to ensure network stability,
and to allow older routers to continue to be useful and secure.
However, there are limits, because compatibility increases code complexity
and maintenance requirements.
{%- endtrans %}
{% trans -%}
The Java I2P and i2pd projects will both enable SSU2 by default in their next releases (2.0.0 and 2.44.0) in late November 2022.
However, they have different plans for disabling SSU.
I2pd will disable SSU immediately, because SSU2 is a vast improvement over their SSU implementation.
Java I2P plans to disable SSU in mid-2023, to support a gradual transition
and give older routers time to upgrade.
Because Java I2P release 0.9.36 and i2pd release 2.20.0 (2018) were the first to support NTCP2,
routers older than that will not be able to connect to i2pd routers 2.44.0 or higher,
as they have no compatible transports.
{%- endtrans %}
{% trans %}Summary{% endtrans %}
------------------------------------
{% trans -%}
The founders of I2P had to make several choices for cryptographic algorithms and protocols.
Some of those choices were better than others, but twenty years later, most are showing their age.
Of course, we knew this was coming, and we've spent the last decade planning and implementing cryptographic upgrades.
As the old saying goes, upgrading things while maintaining backward compatibility
and avoiding a "flag day" is quite challenging, like changing the tires on the bus while it's rolling down the road.
{%- endtrans %}
{% trans -%}
SSU2 was the last and most complex protocol to develop in our long upgrade path.
UDP has a very challenging set of assumptions and threat model.
We first designed and rolled out three other flavors of Noise protocols,
and gained experience and deeper understanding of the security and protocol design issues.
Finally, we had to research and fully understand other modern UDP protocols - WireGuard and QUIC.
While the authors of those protocols didn't solve all of our problems for us,
their documentation of the UDP threat models and their designed countermeasures gave us the
confidence that we too would be able to complete our task.
We thank them as well as the creators of all the cryptography we rely on to keep our users safe.
{%- endtrans %}
{% trans -%}
Expect SSU2 to be enabled in the i2pd and Java I2P releases scheduled for late November 2022.
If the update goes well, nobody will notice anything different at all.
The performance benefits, while significant, will probably not be measurable for most people.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to the new release when it's available.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
.. _RFC-9000: https://www.rfc-editor.org/rfc/rfc9000.html
.. _RFC-9001: https://www.rfc-editor.org/rfc/rfc9001.html
.. _RFC-9002: https://www.rfc-editor.org/rfc/rfc9002.html

View File

@ -0,0 +1,87 @@
===========================================
{% trans -%}2.0.0 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2022-11-21
:category: release
:excerpt: {% trans %}2.0.0 enables SSU2{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
I2P release 2.0.0 enables our new UDP transport SSU2 for all users, after completion of minor features, testing, and numerous bug fixes.
{%- endtrans %}
{% trans -%}
We also have fixes all over, including for the installer, network database, adding to the private address book, the Windows browser launcher, and IPv6 UPnP.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}i2ptunnel: Support SHA-256 digest proxy authentication (RFC 7616){% endtrans %}
- {% trans %}SSU2: Connection migration{% endtrans %}
- {% trans %}SSU2: Immediate acks{% endtrans %}
- {% trans %}SSU2: Enable by default{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}i2ptunnel: Fix IRC USER line filtering{% endtrans %}
- {% trans %}Installer: Fix path for Windows service, caused local eepsite to be broken{% endtrans %}
- {% trans %}Installer: Fix error on Windows when username contains a space{% endtrans %}
- {% trans %}NetDB: Database store message handling fixes{% endtrans %}
- {% trans %}NetDB: Fix reseeding when clock is skewed{% endtrans %}
- {% trans %}Router: Deadlock fix{% endtrans %}
- {% trans %}SSU2: Fix packets exceeding MTU{% endtrans %}
- {% trans %}SSU2: Fix ping packets less than minimum size{% endtrans %}
- {% trans %}SSU2: Fix handling of termination acks{% endtrans %}
- {% trans %}SusiDNS: Fix adding entry to empty address book{% endtrans %}
- {% trans %}SusiMail: Fix dark theme button icons{% endtrans %}
- {% trans %}UPnP: IPv6 fix{% endtrans %}
- {% trans %}Windows: Fix launching preferred browser at startup{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Deadlock detector improvements{% endtrans %}
- {% trans %}Debian: Change dependency from libservlet3.1-java to libjsp-api-java and libservlet-api-java{% endtrans %}
- {% trans %}i2psnark: Increase max pieces to 64K{% endtrans %}
- {% trans %}i2psnark: Add links to additional instances in the console{% endtrans %}
- {% trans %}Option to compress router logs{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.0.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
df3cf4d7fc6c3ed06c7b9de5c8c7b9c692295ecddb0d780e31fc23107e045e5e i2pinstall_2.0.0_windows.exe
b9fe281f28971de674f35cba8c483037bf8ac2d96578cb34f5ee627239d03890 i2pinstall_2.0.0.jar
1d50831e72a8f139cc43d5584c19ca48580d72f1894837689bf644c299df9099 i2psource_2.0.0.tar.bz2
053864a774470df66517826e10026787dc7a90ba871e6aded018d962ca3c068a i2pupdate_2.0.0.zip
c221a9aadac400697cc79a2202130d766359518aab565ad6e99d64f29b92ff83 i2pupdate.su3

View File

@ -0,0 +1,34 @@
==========================================================================================
{% trans -%}Easy Install 2.0.0 for Windows, OSX delayed by 1 Month{%- endtrans %}
==========================================================================================
.. meta::
:author: idk
:date: 2022-11-23
:category: release
:excerpt: {% trans %}Bugfixes, Stability/Compatibility Improvements and 2.0.0{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans %}
The I2P Easy-Install bundle for Windows has been released.
In this release, support has been added for most major browsers, including all major Firefox(Gecko) and Chromium forks.
Compatibility with external I2P Service installs and un-bundled I2P user installs has been improved.
The Easy-Install bundle can now detect other I2P routers and prompt the user to launch them instead, if they already have I2P.
The browser extensions have been updated to the latest versions.
The Easy-Install now has access to `i2p.plugins.firefox`'s usability mode via the `-usability` command-line flag.
The default mode is the "Strict" mode where Javascript is disabled by NoScript.
In usability mode, Javascript is restricted by JShelter.
For more details, see the profile manager repository at i2pgit.org.
{% endtrans %}
{% trans %}
It is recommended that you update to this release for the best security, privacy, and performance, and to help the network.
{% endtrans %}
{% trans %}
Due to the departure of the developer/maintainer, the Easy-Install Bundle for OSX will be delayed by a month while we work out the maintainership.
{% endtrans %}

View File

@ -0,0 +1,111 @@
===========================================
{% trans -%}1.7.0 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2022-02-21
:category: release
:excerpt: {% trans %}1.7.0 with reliability and performance improvements{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
The 1.7.0 release contains several performance and reliability improvements.
{%- endtrans %}
{% trans -%}
There are now popup messages in the system tray, for those platforms that support it.
i2psnark has a new torrent editor.
The NTCP2 transport now uses much less CPU.
{%- endtrans %}
{% trans -%}
The long-deprecated BOB interface is removed for new installs.
It will continue to work in existing installs, except for Debian packages.
Any remaining users of BOB applications should ask the developers to convert to the SAMv3 protocol.
{%- endtrans %}
{% trans -%}
We know that since our 1.6.1 release, network reliability has steadily deteriorated.
We were aware of the problem soon after the release, but it took us almost two months to find the cause.
We eventually identified it as a bug in i2pd 2.40.0,
and the fix will be in their 2.41.0 release coming out about the same time as this release.
Along the way, we've made several changes on the Java I2P side to improve the
robustness of network database lookups and stores, and avoid poorly-performing peers in tunnel peer selection.
This should help the network be more robust even in the presence of buggy or malicious routers.
Additionally, we're starting a joint program to test pre-release i2pd and Java I2P routers
together in an isolated test network, so we can find more problems before the releases, not after.
{%- endtrans %}
{% trans -%}
In other news, we continue to make great progress on the design of our new UDP transport "SSU2" (proposal 159)
and have started implementation.
SSU2 will bring substantial performance and security improvements.
It will also allow us to finally replace our last usage of the very slow ElGamal encryption,
completing a full cryptography upgrade that started about 9 years ago.
We expect to start joint testing with i2pd soon, and roll it out to the network later this year.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}BOB: Remove{% endtrans %}
- {% trans %}i2psnark: New torrent editor{% endtrans %}
- {% trans %}i2psnark standalone: Fixes and improvements{% endtrans %}
- {% trans %}i2ptunnel: Support IRCv3 message tags{% endtrans %}
- {% trans %}NetDB: Lookup/store reliability improvements{% endtrans %}
- {% trans %}System tray: Add popup messages{% endtrans %}
- {% trans %}Transport: NTCP2 performance improvements{% endtrans %}
- {% trans %}Transport: NTCP2 clock skew handling improvements{% endtrans %}
- {% trans %}Transport: Use priority in SSU sender queue{% endtrans %}
- {% trans %}Tunnels: Remove outbound tunnel when can't connect to first hop{% endtrans %}
- {% trans %}Tunnels: Fallback to exploratory for building after repeated build failure{% endtrans %}
- {% trans %}Tunnels: Enable tunnel testing by default{% endtrans %}
- {% trans %}Tunnels: Use tunnel builds as a tunnel test{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Plugins: Fixes for webapps named different from the plugin{% endtrans %}
- {% trans %}Reseed: Fixes for IPv6-only{% endtrans %}
- {% trans %}Router: Fix rare deadlock at startup{% endtrans %}
- {% trans %}Tunnels: Restore IP restriction tests{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}API version{% endtrans %}: 0.9.53
- {% trans %}i2pcontrol: Improved state mapping{% endtrans %}
- {% trans %}i2ptunnel: Refactor UDP support{% endtrans %}
- {% trans %}Plugins: Fixes for webapps{% endtrans %}
- {% trans %}Router: Workarounds for i2pd 2.40.0 SSU bug{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=1.7.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
a2206e2578e88aa08294b68df2c9dad4f9301a94dc3d00bfccfe4517555e226c i2pinstall_1.7.0_windows.exe
23b80dd09bf4bb53edfde8e802bf0e428d89062f1232b3cdfeca04fccdbeb685 i2pinstall_1.7.0.jar
aa53591e89eacc3491ab472dc4df998780fb6747eea3b97ecb7a9f81ff2c9a5e i2psource_1.7.0.tar.bz2
fcfd2e3685de8c0b79b2018638821c64411c66c61ab84d2bf74c149358c96dba i2pupdate_1.7.0.zip
d8110d77efb9712d69b622df03b7c9cd7f492b516b71914efb6019d31541e771 i2pupdate.su3

View File

@ -0,0 +1,31 @@
===========================================
{% trans -%}Jpackage Update for Java CVE-2022-21449{%- endtrans %}
===========================================
.. meta::
:author: idk
:date: 2022-04-21
:category: release
:excerpt: {% trans %}Jpackage bundles released with fixes for Java CVE-2022-21449{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
New I2P Easy-Install bundles have been generated using the latest release of the
Java Virtual Machine which contains a fix for CVE-2022-21449
"Psychic Signatures." It is recommended that users of the easy-install bundles
update as soon as possible. Current OSX users will recieve updates automatically,
Windows users should download the installer from our downloads page and run the
installer normally.
{%- endtrans %}
{% trans -%}
The I2P router on Linux uses the Java Virtual Machine configured by the host
system. Users on those platforms should downgrade to a stable Java version below
Java 14 in order to mitigate the vulnerability until updates are released by
the package maintainers. Other users using an external JVM should update the JVM
to a fixed version as soon as possible.
{%- endtrans %}

View File

@ -0,0 +1,95 @@
===========================================
{% trans -%}1.8.0 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2022-05-23
:category: release
:excerpt: {% trans %}1.8.0 with bug fixes{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
This release includes bug fixes in i2psnark,
the router, I2CP, and UPnP.
Router fixes address bugs in soft restart, IPv6, SSU peer testing,
network database stores, and tunnel building.
Router family handling and Sybil classification have also been
significantly improved.
{%- endtrans %}
{% trans -%}
Together with i2pd, we are developing our new UDP transport, SSU2.
SSU2 will bring substantial performance and security improvements.
It will also allow us to finally replace our last usage of the very slow ElGamal encryption,
completing the full cryptography upgrade we started about 9 years ago.
This release contains a preliminary implementation which is disabled by default.
If you wish to participate in testing, please look for current information
on zzz.i2p.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}SSU2: Preliminary implementation{% endtrans %}
- Tomcat 9.0.62
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Crypto: Fix handling of EdDSA certs with official OID{% endtrans %}
- {% trans %}I2CP: Fix external connections when session ID is 0{% endtrans %}
- {% trans %}I2PSnark: Fix size calculation causing tracker errors{% endtrans %}
- {% trans %}I2PSnark standalone: More fixes and improvements{% endtrans %}
- {% trans %}Router: Family fixes and improvements{% endtrans %}
- {% trans %}Router: Fix database store logic{% endtrans %}
- {% trans %}Router: Fix invalid store and rekeying at startup{% endtrans %}
- {% trans %}Router: Don't use he.net addresses for GeoIP{% endtrans %}
- {% trans %}Router: Soft restart fixes{% endtrans %}
- {% trans %}SSU: Peer test fixes{% endtrans %}
- {% trans %}SSU: Publish empty IPv6 address when missing introducers{% endtrans %}
- {% trans %}SSU: Reduce ack delay to improve performance{% endtrans %}
- {% trans %}Transport: Fix UPnP deadlock{% endtrans %}
- {% trans %}Tunnels: Don't build client tunnels shorter than minimum length{% endtrans %}
- {% trans %}UPnP: IPv6 fixes{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}API version{% endtrans %}: 0.9.54
- {% trans %}Console: Setup wizard redesign{% endtrans %}
- {% trans %}i2psnark: Load system mime types if available{% endtrans %}
- {% trans %}I2PSnark standalone: Add system tray{% endtrans %}
- {% trans %}Router: Reduce build reply timeout so we will retry faster{% endtrans %}
- {% trans %}Router: Avoid Sybil penalty for trusted large families{% endtrans %}
- {% trans %}Source: Remove BOB{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=1.8.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
738b7608d7f2c6433dcde8a1cbd7ea025d281e90b45c8695385004625a4c88d1 i2pinstall_1.8.0_windows.exe
ee49cad06fd73e75ed25eaab342f8167e447b901205ee8593a31b5a599d892af i2pinstall_1.8.0.jar
525f2ad3267f130b81296b3dd24102fdcf2adf098d54272da4e1be4abd87df04 i2psource_1.8.0.tar.bz2
446ac94969163bce514aca6bb408cb72d1b8d9bd65fe22e773ec3bcad142db21 i2pupdate_1.8.0.zip
3379fe757eecbf20688ee37685fe52f15ac04fd59e891c6a059a33d519c4ff19 i2pupdate.su3

View File

@ -0,0 +1,87 @@
===========================================
{% trans -%}1.9.0 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2022-08-22
:category: release
:excerpt: {% trans %}1.9.0 with SSU2{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
We have spent the last three months working on our new UDP transport protocol "SSU2"
with a small number of volunteer testers.
This release completes the implementation, including relay and peer testing.
We are enabling it by default for Android and ARM platforms, and a small percentage of other routers at random.
This will allow us to do much more testing in the next three months, finish the connection migration feature,
and fix any remaining issues.
We plan to enable it for everyone in the next release scheduled for November.
No manual configuration is necessary.
Of course, there's the usual collection of bug fixes in this release as well.
We also added an automatic deadlock detector that has already found a rare deadlock that is now fixed.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Add deadlock detector{% endtrans %}
- {% trans %}Periodically send our RI to connected peers{% endtrans %}
- {% trans %}SSU MTU/PMTU improvements and fixes{% endtrans %}
- {% trans %}SSU2 base protocol fixes and improvements{% endtrans %}
- {% trans %}SSU2 peer test and relay implementation{% endtrans %}
- {% trans %}SSU2 published address fixes{% endtrans %}
- {% trans %}SSU2: Enable for Android, ARM, and a small portion of others at random{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Clock: Fix deadlock after clock shift{% endtrans %}
- {% trans %}Debian: Apparmor profile fixes{% endtrans %}
- {% trans %}Don't allow family key errors to crash router{% endtrans %}
- {% trans %}Fix EC family key loading on Android{% endtrans %}
- {% trans %}Fix EdDSA key loading on Java 15+{% endtrans %}
- {% trans %}i2psnark: Fix DHT not restarting after router restart{% endtrans %}
- {% trans %}OSX: Prevent hangs at shutdown after dock right-click quit{% endtrans %}
- {% trans %}SSU: Fix publishing of MTU in addresses without IPs{% endtrans %}
- {% trans %}SSU: Fix rare HMAC NPE{% endtrans %}
- {% trans %}SusiDNS CSS fixes{% endtrans %}
- {% trans %}Transport: Improve processing after message delivery failure{% endtrans %}
- {% trans %}UPnP: Don't briefly bind to all addresses at startup{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Set outproxy to exit.stormycloud.i2p (new installs only){% endtrans %}
- {% trans %}Disable SSU introductions on Android{% endtrans %}
- {% trans %}API version: 0.9.55{% endtrans %}
- {% trans %}New translation: Spanish (Argentina){% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=1.9.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
fdb2e471fadfda33589697536180df966ec165ab59a0d9c8a623491cc2c8eae3 i2pinstall_1.9.0_windows.exe
124a1d917dec1f75dc17b5a062704d5abe259b874655c595a9d8f5fd9494eafd i2pinstall_1.9.0.jar
57f61815098c35593d7ede305f98b9015c4c613c72231ad084e6806a3e2aa371 i2psource_1.9.0.tar.bz2
31b8798c7fa75242ed09f671028b85e6acc9d5d9d0a132138debf4cdfbb08f21 i2pupdate_1.9.0.zip
7959f1189c50fa8968e72023f614b610016c1d544a16315f05ea6ad4b18677bc i2pupdate.su3

View File

@ -0,0 +1,43 @@
====================================================================
{% trans -%}Windows Easy-Install Bundle 1.9.0 Release{%- endtrans %}
====================================================================
.. meta::
:author: idk
:date: 2022-08-28
:category: release
:excerpt: {% trans %}Windows Easy-Install Bundle 1.9.0 - Major Stability/Compatibility Improvements{% endtrans %}
{% trans -%}
This update includes the new 1.9.0 router and major quality-of-life improvements for bundle users
{%- endtrans %}
=================================================================================================
{% trans -%}
This release includes the new I2P 1.9.0 router and is based on Java 18.02.1.
{%- endtrans %}
{% trans -%}
The old batch scripts have been phased out in favor of a more flexible and stable solution in the jpackage itself.
This should fix all bugs related to path-finding and path-quoting which were present in the batch scripts. After
you upgrade, the batch scripts can be safely deleted. They will be removed by the installer in the next update.
{%- endtrans %}
{% trans -%}
A sub-project for managing browsing tools has been started: i2p.plugins.firefox which has extensive capabilities
for configuring I2P browsers automatically and stably on many platforms. This was used to replace the batch
scripts but also functions as a cross-platform I2P Browser management tool. Contributions are welcome
here: http://git.idk.i2p/idk/i2p.plugins.firefox at the source repository.
{%- endtrans %}
{% trans -%}
This release improves compatibility with externally-running I2P routers such as those provided by the IzPack
installer and by third-party router implementations such as i2pd. By improving external router discovery it
requires less of a system's resources, improves start-up time, and prevents resource conflicts from occurring.
{%- endtrans %}
{% trans -%}
Besides that, the profile has been updated to the latest version of the Arkenfox profile. I2P in Private
Browsing and NoScript have both been updated. The profile has been restructured in order to allow for
evaluating different configurations for different threat models.
{%- endtrans %}

View File

@ -0,0 +1,30 @@
===========================================
{% trans -%}Apple Silicon Easy Install{%- endtrans %}
===========================================
.. meta::
:author: zlatinb
:date: 2022-08-03
:category: beta
:excerpt: {% trans %}Easy Install bundle BETA for Apple Silicon Macs available{% endtrans %}
{% trans -%}
We are pleased to offer an Easy Install BETA bundle for Mac OS running on Apple Silicon hardware. You can download it here:
{%- endtrans %}
`{% trans %}I2P Mac OS Easy Install bundles{% endtrans %}`__
__ https://geti2p.net/en/download/mac
**{% trans -%}Speed{%- endtrans %}**
{% trans -%}In our internal benchmarks the cryptographic operations are between 2 and 2.5 times faster than when running the Intel bundle under Rosetta.{%- endtrans %}
**{% trans -%}Known Issues{%- endtrans %}**
- {% trans -%}Quitting I2P by right-clicking on the dock icon causes I2P to freeze and a "Force Quit" is necessary. This issue will be fixed for the 1.9 release.{%- endtrans %}
- {% trans -%}If you already had an Intel bundle installed on your Mac, you need to modify some settings to prevent in-network updates from reverting you to an Intel bundle. Please see the instructions on the download page.{%- endtrans %}
**{% trans -%}Thank you for testing!{%- endtrans %}**

View File

@ -0,0 +1,70 @@
=================================================
{% trans -%}How to Switch to the StormyCloud Outproxy Service{%- endtrans %}
=================================================
.. meta::
:author: idk
:date: 2022-08-04
:category: general
:excerpt: {% trans %}How to Switch to the StormyCloud Outproxy Service{% endtrans %}
{% trans -%}
How to Switch to the StormyCloud Outproxy Service
{%- endtrans %}
=================================================
**{% trans %}A New, Professional Outproxy{% endtrans %}**
{% trans -%}
For years, I2P has been served by a single default outproxy, `false.i2p`
whose reliability has been degrading. Although several competitors
have emerged to take up some of the slack, they are mostly unable to
volunteer to serve the clients of an entire I2P implementation by
default. However, StormyCloud, a professional, non-profit organization
which runs Tor exit nodes, has started a new, professional outproxy
service which has been tested by members of the I2P community and which
will become the new default outproxy in the upcoming release.
{%- endtrans %}
**{% trans %}Who are StormyCloud{% endtrans %}**
In their own words, StormyCloud is:
{% trans -%}
Mission of StormyCloud Inc
To defend Internet access as a universal human right. By doing so, the group protects users electronic privacy and builds community by fostering unrestricted access to information and thus the free exchange of ideas across borders. This is essential because the Internet is the most powerful tool available for making a positive difference in the world.
{%- endtrans %}
{% trans -%}
Hardware
We own all of our hardware and currently colocate at a Tier 4 data center. As of now have a 10GBps uplink with the option to upgrade to 40GBps without the need for much change. We have our own ASN and IP space (IPv4 & IPv6).
{%- endtrans %}
{% trans -%}
To learn more about StormyCloud visit their `web site
<https://www.stormycloud.org/>`_.
{%- endtrans %}
{% trans -%}
Or, visit them on `I2P
<http://stormycloud.i2p/>`_.
{%- endtrans %}
**{% trans %}Switching to the StormyCloud Outproxy on I2P{% endtrans %}**
{% trans -%}
To switch to the StormyCloud outproxy *today* you can visit `the Hidden Services Manager
<http://127.0.0.1:7657/i2ptunnel/edit?tunnel=0>`_. Once you're there, you should change
the value of **Outproxies** and **SSL Outproxies** to `exit.stormycloud.i2p`. Once you
have done this, scroll down to the bottom of the page and click on the "Save" button.
{%- endtrans %}
.. class:: screenshot
.. image:: /_static/images/stormycloudscreenshot.png
**{% trans %}Thanks to StormyCloud{% endtrans %}**
{% trans -%}
We would like to thank StormyCloud for volunteering to provide high-quality outproxy
services to the I2P network.
{%- endtrans %}

View File

@ -0,0 +1,111 @@
===========================================
{% trans -%}2.1.0 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2023-01-09
:category: release
:excerpt: {% trans %}2.1.0 with SSU2 and congestion fixes{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
We have learned several things since our 2.0.0 release in November.
As routers have updated to that release, the network has gone from about 1% to over 60% support for our new SSU2 transport protocol.
First, we have confirmed that SSU2 is a solid, well designed, and secure protocol.
Second, however, we have found and fixed numerous minor or rarely-triggered bugs in the implementation of the protocol.
Cumulatively, the effects of these bugs have reduced the performance of the network.
{%- endtrans %}
{% trans -%}
Also, we are aware of increased tunnel count and reduced tunnel build success rate in the network,
possibly triggered by Bitcoin's new I2P transient address feature,
but made worse by our SSU2 bugs and other congestion control problems.
We are working with Bitcoin and other non-Bitcoin projects to reduce I2P network demands.
We have improved our algorithms to reduce network load during times of congestion.
We are also collaborating with i2pd to develop common congestion control strategies.
{%- endtrans %}
{% trans -%}
Therefore, we have accelerated this release by about six weeks, to get the fixes out to everybody.
i2pd released their version 2.45.0 last week and the early results are encouraging.
New protocols, and distributed networks, are difficult to develop.
Congestion can arrive with little warning and with little clue of the cause.
Thank you for your patience as we have diagnosed and hopefully fixed the problems.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release. The best way to
maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Console: New status and banned peers tabs on /peers{% endtrans %}
- {% trans %}i2ptunnel: Add torsocks support{% endtrans %}
- {% trans %}i2ptunnel: Add SOCKS tunnel conversion to CONNECT outproxy{% endtrans %}
- {% trans %}i2ptunnel: Add SOCKS outproxy port configuration{% endtrans %}
- {% trans %}i2ptunnel: Update encryption type defaults{% endtrans %}
- {% trans %}Router: Improved congestion detection and handling{% endtrans %}
- {% trans %}Router: Use compressible padding for destinations and router infos (proposal 161){% endtrans %}
- {% trans %}SSU: Redesign symmetric NAT detection{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Console: Fix configuration for Argentinian Spanish{% endtrans %}
- {% trans %}Crypto: Fix LS2 encrypted leasesets, broken since 1.8.0{% endtrans %}
- {% trans %}i2psnark: Avoid OOM starting large number of torrents{% endtrans %}
- {% trans %}i2ptunnel: Numerous SOCKS tunnel fixes{% endtrans %}
- {% trans %}NTCP: Fix rare termination NPE{% endtrans %}
- {% trans %}Profiles: Fix profile load stopping after hitting corrupt file{% endtrans %}
- {% trans %}Router: Clock skew handling fixes and improvements{% endtrans %}
- {% trans %}SSU: Don't publish IPv4 address when configured for IPv6-only{% endtrans %}
- {% trans %}SSU: Fix handling of banned peers{% endtrans %}
- {% trans %}SSU2: Peer Test fixes and improvements{% endtrans %}
- {% trans %}SSU2: Termination fixes and improvements{% endtrans %}
- {% trans %}SSU2: Token and handshake fixes and improvements{% endtrans %}
- {% trans %}SSU2: Fix rare packet handling NPE{% endtrans %}
- {% trans %}SSU2: Fix rare termination IAE{% endtrans %}
- {% trans %}SSU2: Fix retransmission of session confirmed{% endtrans %}
- {% trans %}SSU2: Fix attempted connection to ourselves as an introducer{% endtrans %}
- {% trans %}UPnP: Catch rare assertion error{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Console: Add leaseset lookup to advanced search form{% endtrans %}
- {% trans %}i2psnark: Add partial Dutch translation{% endtrans %}
- {% trans %}i2ptunnel: Allow IRCv3 ACCOUNT and CHGHOST through filter{% endtrans %}
- {% trans %}SSU2: Preliminary support for disabling SSU1{% endtrans %}
- {% trans %}Sybil: Add IPv6 address tests{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.1.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
88e0d49090341f5bfa30299c3fa549c365da57a074ef694cf8201666687e583a i2pinstall_2.1.0_windows.exe
153c7988e7a9f0c2affd1e001d554e2519dd439c08bd7c024643b749db1308c1 i2pinstall_2.1.0.jar
83098c1277204c5569284b32b37ef137656b27bfe15ef903eca2da7c269288d1 i2psource_2.1.0.tar.bz2
54cf3f146f3a630fc2486f79f24c9cfc59d4c9974df0c4479251624fa7bc12a1 i2pupdate_2.1.0.zip
28a6a2f95ba9a613a040976e6d30e6662fc90241f08607f2ce43c6332b9f71bf i2pupdate.su3

View File

@ -0,0 +1,41 @@
=============================================================
{% trans -%}Windows Easy-Install 2.1.0 Release{%- endtrans %}
=============================================================
.. meta::
:author: idk
:date: 2023-01-13
:category: release
:excerpt: {% trans %}Windows Easy-Install Bundle 2.1.0 released to improve stability, performance.{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
The I2P Easy-Install bundle for Windows version 2.1.0 has been released.
As usual, this release includes an updated version of the I2P Router.
This release of I2P provides improved strategies for dealing with network congestion.
These should improve performance, connectivity, and secure the long-term health of the I2P network.
{%- endtrans %}
{% trans -%}
This release features mostly under-the-hood improvements to the browser profile launcher.
Compatibility with Tor Browser Bundle has been improved by enabling TBB configuration through environment variables.
The Firefox profile has been updated, an the base versions of the extensions have been updated.
Improvements have been made throughout the codebase and the deployment process.
{%- endtrans %}
{% trans -%}
Unfortunately, this release is still an unsigned .exe installer.
Please verify the checksum of the installer before using it.
The updates, on the other hand are signed by my I2P signing keys and therefore safe.
{%- endtrans %}
{% trans -%}
This release was compiled with OpenJDK 19.
It uses i2p.plugins.firefox version 1.0.7 as a library for launching the browser.
It uses i2p.i2p version 2.1.0 as an I2P router, and to provide applications.
As always it is recommended that you update to the latest version of the I2P router at your earliest convenient opportunity.
{%- endtrans %}

View File

@ -0,0 +1,64 @@
{% trans -%}
=======================================
Update on Mac Easy Install Notarization
=======================================
{%- endtrans %}
.. meta::
:author: idk,sadie
:date: 2023-01-31
:category: release
:excerpt: {% trans %}Easy Install Bundle for Mac is stalled{% endtrans %}
{% trans -%}
The I2P Easy-Install Bundle for Mac has been experiencing stalled updates for the past 2 releases due to the departure of its maintainer.
It is recommended that users of the Easy-Install bundle for Mac switch to the classic java-style installer which was recently restored to the download page.
1.9.0 has known security issues and is not suitable for hosting services or any long-term use. Users are advised to migrate away as soon as possible.
Advanced users of the Easy-Install bundle may work around this by compiling the bundle from source and self-signing the software.
{%- endtrans %}
{% trans -%}The Notarization Process For MacOS{%- endtrans %}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% trans -%}
There are many steps in the process of distributing an application to Apple users.
In order to distribute an application as a .dmg securely, the application must pass a notarization process.
In order to submit an application for notarization, a developer must sign the application using a set of certificates that includes one for code signing, and one for signing the application itself.
This signing must take place at specific points during the build process, before the final .dmg bundle which is distributed to the end users can be created.
{%- endtrans %}
{% trans -%}
I2P Java is a complex application, and because of this it is a process of trial and error to match the types of code used in the application to Apple's certificates, and where the signing takes place to produce a valid timestamp.
It is due to this complexity that existing documentation for developers is falling short of helping the team understand the correct combination of factors that will result in successful notarization.
{%- endtrans %}
{% trans -%}
These difficulties leave the timeline for completing this process difficult to predict.
We won't know we're done until we are able to clean up the build environment and follow the process end-to-end.
The good news is that we are down to only 4 errors during the notarization process from more than 50 during the first attempt and can reasonably predict that it will be competed before or in time for the next release in April.
{%- endtrans %}
{% trans -%}Options for New macOS I2P Installs and Updates{%- endtrans %}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% trans -%}
New I2P participants can still download the Easy Installer for the macOS 1.9.0 software.
I hope to have a release ready near the end of April.
Updates to the latest version will become available as soon as notarization is successful.
{%- endtrans %}
{% trans -%}
The classic install options is also available.
This will require downloading Java and the I2P software via the .jar based installer.
{%- endtrans %}
`{% trans -%}Jar Install Instructions are available here.{%- endtrans %} <https://geti2p.net/en/download/macos>`_
{% trans -%}
Easy-Install users can update to that latest version using a locally-produced development build.
{%- endtrans %}
`{% trans -%}Easy-Install Build Instructions are available here.{%- endtrans %} <https://i2pgit.org/i2p-hackers/i2p-jpackage-mac/-/blob/master/BUILD.md>`_
{% trans -%}
There is also the option to uninstall the software, remove the I2P configuration directory and reinstall I2P using the .jar installer.
{%- endtrans %}

View File

@ -0,0 +1,23 @@
{% trans -%}
==========================================
About the recent Denial of Service attacks
==========================================
{%- endtrans %}
.. meta::
:author: idk,sadie
:date: 2023-02-09
:category: release
:excerpt: {% trans %}I2P remains intact with impaired performance{% endtrans %}
{% trans -%}
The I2P network is currently being affected by a Denial of Service attack.
The floodfill function of the network has been affected, resulting in responses being disrupted and tunnel build success rates dropping.
Participants in the network have experienced difficulties connecting to I2P sites and using I2P services.
Mitigation strategies are being investigated and implemented gradually.
{%- endtrans %}
{% trans -%}
While the attack has degraded performance, the network remains intact and usable.
Java I2P routers appear to be handling the issues better than i2pd routers for now.
Various mitigations should begin to appear in dev builds of both Java and C++ routers in the next week.
{%- endtrans %}

View File

@ -0,0 +1,14 @@
{% trans -%}
=================
I2P Release 2.2.0
=================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-03-13
:category: release
:excerpt: {% trans %}Moved Post{% endtrans %}
{% trans -%}
`This blog post has been moved here </en/blog/post/2023/03/13/new_release_2.2.0>`_
{%- endtrans %}

View File

@ -0,0 +1,89 @@
{% trans -%}
=================
I2P Release 2.2.0
=================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-03-13
:category: release
:excerpt: {% trans %}DDoS Mitigations, New Release Maintainer{% endtrans %}
{% trans -%}
We have elected to move forward the 2.2.0 release date, which will be occurring today, March 13, 2023.
This release includes a changes across the NetDB, Floodfill, and Peer-Selection components which improve the ability of the router to survive DDOS attacks.
The attacks are likely to continue, but the improvements to these systems will help to mitigate the risk of DDOS attacks by helping the router identify and de-prioritize routers that appear malicious.
{%- endtrans %}
{% trans -%}
This release also adds replay protection to the Streaming subsystem, which prevents an attacker who can capture an encrypted packet from being able to re-use it by sending it to unintended recipients.
This is a backward-compatible change, so older routers will still be able to use the streaming capabilities of newer routers.
This issue was discovered and fixed internally, by the I2P development team, and is not related to the DDOS attacks.
We have never encountered a replayed streaming packet in the wild and do not believe a streaming replay attack has ever taken place against the I2P network at this time.
{%- endtrans %}
{% trans -%}
As you may have noticed, these release notes and the release itself have been signed by idk, and not zzz.
zzz has chosen to step away from the project and his responsibilities are being taken on by other team members.
As such, the project is working on replacing the network statistics infrastructure and moving the development forum to i2pforum.i2p.
We thank zzz for providing these services for such a long time.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**DETAILS**
*Changes*
- {% trans %}i2psnark: New search feature{% endtrans %}
- {% trans %}i2psnark: New max files per torrent config{% endtrans %}
- {% trans %}NetDB: Expiration improvements{% endtrans %}
- {% trans %}NetDB: More restrictions on lookups and exploration{% endtrans %}
- {% trans %}NetDB: Store handling improvements{% endtrans %}
- {% trans %}NTCP2: Banning improvements{% endtrans %}
- {% trans %}Profiles: Adjust capacity estimates{% endtrans %}
- {% trans %}Profiles: Expiration improvements{% endtrans %}
- {% trans %}Router: Initial support for congestion caps (proposal 162){% endtrans %}
- {% trans %}Transports: Add inbound connection limiting{% endtrans %}
- {% trans %}Tunnels: Refactor and improve peer selection{% endtrans %}
- {% trans %}Tunnels: Improve handling of "probabalistic" rejections{% endtrans %}
- {% trans %}Tunnels: Reduce usage of unreachable and floodfill routers{% endtrans %}
*Bug Fixes*
- {% trans %}Docker: Fix graphs not displaying{% endtrans %}
- {% trans %}i2psnark: Fix torrents with '#' in the name{% endtrans %}
- {% trans %}i2psnark standalone: Fix running from outside directory{% endtrans %}
- {% trans %}i2psnark standalone: Remove "Start I2P" menu item from systray{% endtrans %}
- {% trans %}i2ptunnel: Fix typo in HTTPS outproxy hostname{% endtrans %}
- {% trans %}i2ptunnel: Interrupt tunnel build if stop button clicked{% endtrans %}
- {% trans %}i2ptunnel: Return error message to IRC, HTTP, and SOCKS clients on failure to build tunnels{% endtrans %}
- {% trans %}NTCP2: Ensure an IPv6 address is published when firewalled and IPv4 is not{% endtrans %}
- {% trans %}Ratchet: Don't bundle wrong leaseset with ack{% endtrans %}
- {% trans %}Router: Fixes for symmetric NAT errors on 'full cone' NAT{% endtrans %}
- {% trans %}SAM: Interrupt tunnel build if client times out{% endtrans %}
- {% trans %}SSU2: Fix rare peer test NPE{% endtrans %}
- {% trans %}Sybil: Don't blame i2pd publishing ::1{% endtrans %}
- {% trans %}Sybil: Memory usage and priority reduction{% endtrans %}
- {% trans %}Transports: More IP checks{% endtrans %}
*Other*
- {% trans %}Blocklist efficiency improvements{% endtrans %}
- {% trans %}Bundles: Identify Win and Mac bundles in version info{% endtrans %}
- {% trans %}Console: Identify service installs, revision, and build time in version info{% endtrans %}
- {% trans %}Console: NetDB search form and tunnels page improvements (advanced only){% endtrans %}
- {% trans %}Router: Reduce stats memory usage{% endtrans %}
- {% trans %}Tunnels: Reduce "grace period"{% endtrans %}
- {% trans %}Translation updates{% endtrans %}
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.0

View File

@ -0,0 +1,67 @@
{% trans -%}
=================
I2P Release 2.3.0
=================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-06-25
:category: release
:excerpt: {% trans %}I2P 2.3.0: Security Fixes, Tweakable Blocklists{% endtrans %}
{% trans -%}
This release contains fixes for CVE-2023-36325.
CVE-2023-36325 is a context-confusion bug which occurred in the bloom filter.
An attacker crafts an I2NP message containing a unique messageID, and sends that messageID to a client.
The message, after passing through the bloom filter, is not allowed to be re-used in a second message.
The attacker then sends the same message directly to the router.
The router passes the message to the bloom filter, and is dropped.
This leaks the information that the messageID has been seen before, giving the attacker a strong reason to believe that the router is hosting the client.
This has been fixed by separting the bloom filter's functionality into different contexts based on whether a message came down a client tunnel, an exploratory tunnel, was sent to the router directly.
Under normal circumstances, this attack takes several days to perform successfully and may be confounded by several factors such as routers restarting during the attack phase and sensitivity to false-positives.
Users of Java I2P are recommended to update immediately to avoid the attack.
{%- endtrans %}
{% trans -%}
In the course of fixing this context confusion bug, we have revised some of our strategies to code defensively, against these types of leaks.
This includes tweaks to the netDb, the rate-limiting mechanisms, and the behavior of floodfill routers.
{%- endtrans %}
{% trans -%}
This release adds not_bob as a second default hosts provider, and adds `notbob.i2p <http://notbob.i2p>`_ and `ramble.i2p <http://ramble.i2p>`_ to the console homepage.
{%- endtrans %}
{% trans -%}
This release also contains a tweakable blocklist.
Blocklisting is semi-permanent, each blocked IP address is normally blocked until the router is restarted.
Users who observe explosive blocklist growth during sybil attacks may opt-in to shorter timeouts by configuring the blocklist to expire entries at an interval.
This feature is off-by-default and is only recommended for advanced users at this time.
{%- endtrans %}
{% trans -%}
This release also includes an API for plugins to modify with the Desktop GUI(DTG).
It is now possible to add menu items to the system tray, enabling more intuitive launching of plugins which use native application interfaces.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**DETAILS**
*Changes*
- {% trans %}netDb: Throttle bursts of netDB lookups{% endtrans %}
- {% trans %}Sybil/Blocklist: Allow users to override blocklist expiration with an interval{% endtrans %}
- {% trans %}DTG: Provide an API for extending DTG with a plugin{% endtrans %}
- {% trans %}Addressbook: add notbob's main addressbook to the default subscriptions.{% endtrans %}
- {% trans %}Console: Add Ramble and notbob to console homepage{% endtrans %}
*Bug Fixes*
- {% trans %}Fix replay attack: CVE-2023-36325{% endtrans %}
- {% trans %}Implement handling of multihomed routers in the netDb{% endtrans %}
- {% trans %}Fully copy new leaseSets when a leaseSet recievedAsPublished overwrites a leaseSet recievedAsReply{% endtrans %}
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.3.0

View File

@ -0,0 +1,45 @@
{% trans -%}
=======================================
Easy-Install for Windows 2.3.0 Released
=======================================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-07-10
:category: release
:excerpt: {% trans %}Easy-Install for Windows 2.3.0 Released{% endtrans %}
{% trans -%}
The I2P Easy-Install bundle for Windows version 2.3.0 has now been released.
As usual, this release includes an updated version of the I2P router.
This extends to security issues which affect people hosting services on the network.
{%- endtrans %}
{% trans -%}
This will be the last release of the Easy-Install bundle which will be incompatible with the I2P Desktop GUI.
It has been updated to include new versions of all included webextensions.
A longstanding bug in I2P in Private Browsing which makes it incompatible with custom themes has been fixed.
Users are still advised to *not* install custom themes.
Snark tabs are not automatically pinned to the top of the tab order in Firefox.
Except for using alternate cookieStores, Snark tabs now behave as normal browser tabs.
{%- endtrans %}
{% trans -%}
**Unfortunately, this release is still an unsigned `.exe` installer.**
Please verify the checksum of the installer before using it.
**The updates, on the other hand** are signed by my I2P signing keys and therefore safe.
{%- endtrans %}
{% trans -%}
This release was compiled with OpenJDK 20.
It uses i2p.plugins.firefox version 1.1.0 as a library for launching the browser.
It uses i2p.i2p version 2.3.0 as an I2P router, and to provide applications.
As always it is recommended that you update to the latest version of the I2P router at your earliest convenient opportunity.
{%- endtrans %}
- `Easy-Install Bundle Source <http://git.idk.i2p/i2p-hackers/i2p.firefox/-/tree/i2p-firefox-2.3.0>`_
- `Router Source <http://git.idk.i2p/i2p-hackers/i2p.i2p/-/tree/i2p-2.3.0>`_
- `Profile Manager Source <http://git.idk.i2p/i2p-hackers/i2p.plugins.firefox/-/tree/1.1.0>`_

View File

@ -0,0 +1,103 @@
{% trans -%}
=================================================================
I2P 2.4.0 Release with Congestion and NetDB Security improvements
=================================================================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-12-18
:category: release
:excerpt: {% trans %}{% endtrans %}
{% trans -%}
Update details
{%- endtrans %}
============================================
{% trans -%}
This release, I2P 2.4.0, continues our effort to improve the security and stability of the I2P network.
It contains significant improvements to the Network Database, an essential structure within the I2P network used for disovering your peers.
{%- endtrans %}
{% trans -%}
The congestion handling changes will improve network stability by giving routers the ability to relieve congested peers by avoiding them.
This will help the network limit the effect of tunnel spam.
It will also help the network heal during and after DDoS attacks.
{%- endtrans %}
{% trans -%}
The NetDb changes also help secure individual routers and the applications that use them.
Routers can now defend against attackers by separating the NetDB into multiple "Sub-DB's" which we use to prevent information leaks between applications and the router.
This also improves the information available to Java routers about their NetDB activity and simplifies our support for multihoming applications.
{%- endtrans %}
{% trans -%}
Also included are a number of bug fixes and enhancements across the I2PSnark and SusiMail applications.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}i2psnark: Uncomment and fix local torrent file picker{% endtrans %}
- {% trans %}NetDB: Lookup handler/throttler fixes{% endtrans %}
- {% trans %}Router: Restructure netDb to isolate data recieved as a client from data recieved as a router{% endtrans %}
- {% trans %}Router: Implement handling and penalties for congestion caps{% endtrans %}
- {% trans %}Router: Temporarily ban routers publishing in the future{% endtrans %}
- {% trans %}Transports: Disable SSU 1{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Addressbook: Workaround for i2p-projekt.i2p etag bug (Gitlab #454){% endtrans %}
- {% trans %}Console: Clear out "proxy must be running" status after success{% endtrans %}
- {% trans %}Console: Don't lose tabs in log messages{% endtrans %}
- {% trans %}Console: Fix sidebar not immediately showing results of manual update check{% endtrans %}
- {% trans %}Console: Fix visibility of radio/checkboxes (light theme){% endtrans %}
- {% trans %}Console: Prevent overflow of sidebar status{% endtrans %}
- {% trans %}Debian: Change JRE dependency order (Gitlab #443, Debian #1024461){% endtrans %}
- {% trans %}i2psnark: Increase comment bucket size to reduce duplicates{% endtrans %}
- {% trans %}i2psnark: Prevent start-all from within search results erroring (Gitlab #445){% endtrans %}
- {% trans %}i2ptunnel: Exempt tunnel name from XSS filter (Gitlab #467){% endtrans %}
- {% trans %}i2ptunnel: Fix gzip footer check in GunzipOutputStream (Gitlab #458){% endtrans %}
- {% trans %}i2ptunnel: Remove nonstandard Proxy-Connection headers (Gitlab #452){% endtrans %}
- {% trans %}NTCP2: Fix updating address on transition to firewalled (Gitlab #435){% endtrans %}
- {% trans %}SAM: Fix accept after soft restart (Gitlab #399){% endtrans %}
- {% trans %}SAM: Reset incoming socket if no subsession is matched (Gitlab #456){% endtrans %}
- {% trans %}SSU2: Fix uncaught IAE caused by itags with zero values (Gitlab #415){% endtrans %}
- {% trans %}SSU2: Prevent rare IAE in peer test timer (Gitlab #433){% endtrans %}
- {% trans %}Susimail: Dark theme fixes{% endtrans %}
- {% trans %}Susimail: Fix binary content-encoding{% endtrans %}
- {% trans %}Susimail: Fix incorrect "previous" icons{% endtrans %}
- {% trans %}Susimail: Fix setting encoding for attachments{% endtrans %}
- {% trans %}Susimail: Flush output to fix truncated mails{% endtrans %}
- {% trans %}Sybil: Don't ban NAT64 addresses{% endtrans %}
- {% trans %}Transport: Fix NPE during soft restart (Gitlab #437){% endtrans %}
- {% trans %}UPnP: Fix handing of multiple IGDs{% endtrans %}
- {% trans %}UPnP: Fix missing port in Host header causing failures on libupnp-based devices{% endtrans %}
**{% trans %}Other{% endtrans %}**
- API 0.9.61
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.4.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
d08db62457d4106ca0e36df3487bdf6731cbb81045b824a003cde38c7e1dfa27 i2pinstall_2.4.0_windows.exe
ef5f3d0629fec292aae15d027f1ecb3cc7f2432a99a5f7738803b453eaad9cad i2pinstall_2.4.0.jar
30ef8afcad0fffafd94d30ac307f86b5a6b318e2c1f44a023005841a1fcd077c i2psource_2.4.0.tar.bz2
97be217bf07319a50b6496f932700c3f3c0cceeaf1e0643260d38c9e6e139b53 i2pupdate_2.4.0.zip
8f4a17a8cbadb2eabeb527a36389fd266a4bbcfd9d634fa4f20281f48c486e11 i2pupdate.su3

View File

@ -0,0 +1,40 @@
{% trans -%}
=================
I2P Release 2.2.1
=================
{%- endtrans %}
.. meta::
:author: idk
:date: 2023-04-12
:category: release
:excerpt: {% trans %}Packaging Fixes{% endtrans %}
{% trans -%}
After the I2P 2.2.0 release, which was moved forward to accelerate mitigations for the DDOS attacks, we learned about a few developing issues which made it necessary to build and release new packages.
This release fixes an issue within Ubuntu Lunar and Debian Sid where the router console was inaccessible using an updated version of the jakarta package.
Docker packages were not reading arguments correctly, resulting in inaccessible configuration files.
This issue has also been resolved.
The docker container is now also compatible with Podman.
{%- endtrans %}
{% trans -%}
This release syncs translations with transifex and updates the GeoIP database.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**DETAILS**
*Changes*
- {% trans %}Fix missing Java options in docker/rootfs/startapp.sh{% endtrans %}
- {% trans %}Detect when running in Podman instead of regular Docker{% endtrans %}
- {% trans %}Update Tor Browser User-Agent String{% endtrans %}
- {% trans %}Update local GeoIP database{% endtrans %}
- {% trans %}Remove invalid signing keys from old installs{% endtrans %}
- {% trans %}Update Tomcat version in Ubuntu Lunar and Debian Sid{% endtrans %}
Full list of fixed bugs: http://git.idk.i2p/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.2.1

View File

@ -0,0 +1,84 @@
{% trans -%}
========================================
Many Masks, One Mind: Securing the NetDB
========================================
{%- endtrans %}
.. meta::
:author: idk
:date: 2024-03-29
:category: development
:excerpt: {% trans %}Many Masks, One Mind: Securing the NetDB{% endtrans %}
{% trans -%}
Author's note: the attacks referred to in this article are not possible against current versions of I2P.
{%- endtrans %}
{% trans -%}
As a self-organizing peer-to-peer network, I2P relies on the routers participating in the network to have a way to share information about what is on the network and how to reach it.
I2P routers achieve this information sharing using the NetDB, a DHT based on Kademlia but modified to work for I2P.
The NetDB needs to share two main kinds of entries, "RouterInfos" which peers will use to communicate with other routers directly, and "LeaseSets" which other peers will use to communicate with I2P clients through anonymous tunnels.
Routers are frequently commmunicating NetDB entries with eachother, either by sending the information to a router or client, or requesting information from a router or client.
This means that the entries can arrive directly or indirectly, anonymously or non-anonymously, depending on the needs of the network and the capabilities of the client.
However, as an anonymizing network, it is also important that it remain impossible for information sent anonymously to be requested back non-anonymously.
It is also important and for information sent non-anonymously to be impossible to request back anonymously.
If it becomes possible for either of those situations to occur, then a linking attack may be carried out which allows an attacker to determine if a clients and routers are sharing a common view of the NetDB.
If it can be reliably determined that the 2 targets share a common view of the NetDB, then there's a very good chance they are on the same router, weakening the target's anonymity drastically.
Because there are so few anonymizing networks, and I2P is the only one where the routing table is shared via the operation of a DHT, this class of attack is all but unique to I2P and its resolution is important to I2P's success.
{%- endtrans %}
{% trans -%}
Consider the following scenario: There is an I2P router hosting an I2P client.
The router publishes a RouterInfo, and the I2P client publishes its LeaseSet.
Because they are both published in the NetDB, other I2P routers can query the NetDB to discover how to communicate with them.
This is normal and essential to the operation of an overlay network of the type implemented by I2P.
An attacker runs an I2P router and queries the NetDB for the target RouterInfo and the target LeaseSet.
It then crafts a new LeaseSet which is unique and and potentially even fake, and sends it down a tunnel to the LeaseSet for the client it is targeting for attack.
The client processes the crafted LeaseSet and adds it to its own NetDB.
The attacker then requests the crafted LeaseSet back directly, from the router, using the RouterInfo it got from the NetDB.
If the crafted LeaseSet is received back as a reply, then the attacker can conclude that the target client and the target router share a common view of the NetDB.
{%- endtrans %}
{% trans -%}
That is a simple example of a NetDB deanonymization attack class which relies on adding an entry into another person's NetDB with one identity, and then requesting it back out with another identity.
In this case, the identities in question are the "router" and the "client" identity.
However, client-to-client linking, which is less damaging, is also possible in some designs.
Designing a defense against this class of attack requires giving the router a way of determining whether or not it is safe to communicate a piece of information with a potential identity.
{%- endtrans %}
{% trans -%}
So how should we think about this problem?
What we're dealing with here, really, has to do with the linkability of different "identities" on the network.
The possibility of linking is created because all these identities share a common datastructure which "remembers" who it has communicated with, and who has communicated with it.
It also "remembers" how that communication occurred.
{%- endtrans %}
{% trans -%}
For a moment, we should imagine ourselves as an attacker.
Imagine if you were trying to discover the identity of a master of disguise.
You know for sure you have seen his real face, and you know for sure that you regularly communicate with one of his disguises.
How would you go about establishing that the disguise identity and the real identity belong to the same person?
I might tell the disguised person a secret.
If the non-disguised person responds by using the secret information, then I can determine that the non-disguised person knows the secret.
Under the assumption that the disguised person did not communicate the secret to anyone else, then I can assume that the non-disguised person and the disguised person are in fact, the same person.
No matter how many masks the master of disguise wears, he has but one mind.
{%- endtrans %}
{% trans -%}
In order to successfully protect the identities of I2P clients, I2P needs to be able to perform as a better master of disguise than the one described above.
It needs to be able to "remember" several important pieces of information about how it has participated in the NetDB and respond appropriately based on those details.
It must be able to recall:
{%- endtrans %}
* {% trans -%}Whether a NetDB Entry was received directly, or received down a client tunnel{%- endtrans %}
* {% trans -%}Whether a NetDB Entry was sent by a peer in response to our lookup, or sent unsolicited{%- endtrans %}
* {% trans -%}Which NetDB Entry was received down Which client Tunnel{%- endtrans %}
* {% trans -%}Multiple versions of the same entry for different client tunnels{%- endtrans %}
{% trans -%}
Structurally, the most understandable and reliable way to handle this pattern is to use "Sub-DBs."
Sub-DB's are miniature NetDB's which serve to help the NetDB organize entries without losing track.
Every client gets a Sub-DB for its own use, and the router itself gets a fully-fledged NetDB.
Using Sub-DB's, we give our master of disguise a rolodex of secrets organized by who shared those secrets with him.
When a request is sent to a client, it only looks for entries which have been communicated to the client, and when a request is sent to a router, only the router-wide NetDB is used.
By doing things this way, we resolve not only the simplest form of the attack, but also undermine the potency of the entire attack class.
{%- endtrans %}

View File

@ -0,0 +1,93 @@
{% trans -%}
=====================
New Release I2P 2.5.0
=====================
{%- endtrans %}
.. meta::
:author: idk
:date: 2024-04-08
:category: release
:excerpt: {% trans %}I2P 2.5.0 release{% endtrans %}
{% trans -%}
This release, I2P 2.5.0, provides more user-facing improvements than the 2.4.0 release, which was focused on implementing the NetDB isolation strategy.
{%- endtrans %}
{% trans -%}
New features have been added to I2PSnark like the ability to search through torrents.
Bugs have been fixed to improve compatibility with other I2P torrent clients like BiglyBT and qBittorrent.
We would like to thank all of the developers who have worked with libtorrent and qBittorrent to enable and improve their I2P support.
New features have also been added to SusiMail including support for Markdown formatting in emails and the ability to drag-and-drop attachments into emails.
Tunnels created with the Hidden Services manager now support "Keepalive" which improves performance and compatibility with web technologies, enabling more sophisticated I2P sites.
{%- endtrans %}
{% trans -%}
During this release we also made several tweaks to the NetDB to improve its resilience to spam and to improve the router's ability to reject suspicious messages.
This was part of an effort to "audit" the implementation of "Sub-DB isolation" defenses from the 2.4.0 release.
This investigation uncovered one minor isolation-piercing event which we repaired.
This issue was discovered and fixed internally by the I2P team.
{%- endtrans %}
{% trans -%}
During this release several improvements were made to the process of releasing our downstream distributions for Android and Windows.
This should result in improved delivery and availability for these downstream products.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}I2PTunnel: Implement support for Keepalive/Server-side Persistence{% endtrans %}
- {% trans %}Susimail: Add markdown support for formatted plain-text content{% endtrans %}
- {% trans %}Susimail: Add HTML Email support{% endtrans %}
- {% trans %}I2PSnark: Add search capability{% endtrans %}
- {% trans %}I2PSnark: Preserve private=0 in torrent files{% endtrans %}
- {% trans %}Data: Store compressed RI and LS{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Susimail: Fix handling of forwarded mail with attachments{% endtrans %}
- {% trans %}Susimail: Fix handling of forwarded mail with unspecified encoding{% endtrans %}
- {% trans %}Susimail: Fix forwarding of HTML-only email{% endtrans %}
- {% trans %}Susimail: Bugfixes in presentation of encoded attachmments, mail body{% endtrans %}
- {% trans %}I2PSnark: Handle data directory changes{% endtrans %}
- {% trans %}SSU2: Cancel peer test if Charlie does not have B cap{% endtrans %}
- {% trans %}SSU2: Treat peer test result as unknown if Charlie is unreachable{% endtrans %}
- {% trans %}Router: Filter additional garlic-wrapped messages{% endtrans %}
- {% trans %}I2CP: Prevent loopback messages to same session{% endtrans %}
- {% trans %}NetDB: Resolve Exploratory/Router isolation-piercing event{% endtrans %}
**{% trans %}Other{% endtrans %}**
- API 0.9.62
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.5.0
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
i2pinstall_2.5.0-0.jar - 61d3720accc6935f255611680b08ba1a414d32daa00d052017630c2424c30069
i2pinstall_2.5.0-0_windows.exe - a0d84c519f3c35874a9f661b9f40220e5a1d29716166c682e2bd1ee15ff83f33
i2pinstall_2.5.0.jar - 61d3720accc6935f255611680b08ba1a414d32daa00d052017630c2424c30069
i2pinstall_2.5.0.jar.sig - c8a6d79909d06ac6bca23d8e890765c6e6ed21a535f7529e0708797fdaf9fc1b
i2pinstall_2.5.0_windows.exe - 762b9d672dfff0baccd46f970deb5a2621358d1e2dfc0dd85a78aecda3623ac6
i2pinstall_2.5.0_windows.exe.sig - 103a1bd155110514fe9ae075243cc66e2fef866353165b2c806248e15925e957
i2psource_2.5.0.tar.bz2 - 6bda9aff7daa468cbf6ddf141c670140de4d1db145329645a90c22c1e5c7bc01
i2psource_2.5.0.tar.bz2.sig - a1d0ea6f2051ed0643bc2c0207a2cf594f2b2bc4303ac49cd6a43baaf0558f62
i2pupdate-2.5.0.su3 - 7bcfc3df3a14a0b9313b9a0fe20e56db75267d5afcfd8a3203fbfcfac46deae4
i2pupdate-2.5.0.su3.torrent - a7dd76348bf404d84a67bda8b009d54cc08748c036988dbe78bff6ca6928950c
i2pupdate.su3 - 7bcfc3df3a14a0b9313b9a0fe20e56db75267d5afcfd8a3203fbfcfac46deae4
i2pupdate.zip - d0a4cfe6cb587e0ffabcfb6012682f400a38ee87f23fa90f8a18f25e77b742d8
i2pupdate_2.5.0.zip - d0a4cfe6cb587e0ffabcfb6012682f400a38ee87f23fa90f8a18f25e77b742d8
i2pupdate_2.5.0.zip.sig - 411eb4ca31e2984dae4c943136411e8ee85435f59749391edefec07509cfd5af

View File

@ -0,0 +1,21 @@
{% trans -%}
==============
Stormy Weather
==============
{%- endtrans %}
.. meta::
:author: idk
:date: 2024-04-25
:category: release
:excerpt: {% trans %}Stormy Weather{% endtrans %}
{% trans -%}
The I2P network is currently under a Denial-of-Service attack.
This attack affects I2P and i2pd but in different ways and is having a serious effect on network health.
Reachability of I2P sites is badly degraded.
{%- endtrans %}
{% trans -%}
If you are hosting a service inside I2P and it is hosted on a Floodfill router, you should consider multihoming the service on a Floodfill-disabled router to improve reachability.
Other mitigations are being discussed but a long-term, backward-compatible solution is still being worked on.
{%- endtrans %}

View File

@ -0,0 +1,60 @@
{% trans -%}
=====================
New Release I2P 2.5.1
=====================
{%- endtrans %}
.. meta::
:author: idk
:date: 2024-05-06
:category: release
:excerpt: {% trans %}I2P 2.5.1 Release{% endtrans %}
{% trans -%}
I2P 2.5.1 is being released to address Denial-of-Service Attacks affecting the I2P network and services.
With this release we disable the IP-based parts of the Sybil attack detection tool which were targeted to amplify the effect and duration of the attack.
This should help the network return to normal operation.
Those of you who have disabled the Sybil attack detection tool may safely re-enable it.
Adjustments to other subsystems to improve RouterInfo validation and peer selection have also been made.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Susimail: Add search box{% endtrans %}
- {% trans %}Susimail: UI Improvements{% endtrans %}
- {% trans %}NetDB: Don't lookup RI if on banlist{% endtrans %}
- {% trans %}Tomcat: update to 9.0.88{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}Sybil: Disable IP-Closeness Checks in Sybil Attack Analysis Tool{% endtrans %}
- {% trans %}Profiles: Don't update last heard from if tunnel fails{% endtrans %}
- {% trans %}NetDB: Improve validation of RI's before storing, sending RI's{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.5.1
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
1b0c1a12e64bd6dabd894a297b7bfd60ebe218a9177086f27367b8d4f1e30ab9 i2pinstall_2.5.1-0.jar
f9b2038cc6376a7b67a7cbc6ff07046b0a5f6146658dfb910ca4532c81263177 i2pinstall_2.5.1-0_windows.exe
1b0c1a12e64bd6dabd894a297b7bfd60ebe218a9177086f27367b8d4f1e30ab9 i2pinstall_2.5.1.jar
d0150a4f7abcdc85cddae277fa951c2ee76ccc7403d98cd255791ac752a7e36b i2pinstall_2.5.1.jar.sig
f9b2038cc6376a7b67a7cbc6ff07046b0a5f6146658dfb910ca4532c81263177 i2pinstall_2.5.1_windows.exe
4bc7e59ee0036389a0f76fc76b2303eeae62bf6eaaf608c9939226febf9ddeae i2psource_2.5.1.tar.bz2
251293c39c333bd7d8ad01235ef15bccf15df1b72dd18917de06cdb212b7801f i2psource_2.5.1.tar.bz2.sig
163b7fe3e9941bd412bad1b80f34e2a8cd1ade2e77cbe4cfb58eca42f3ca4b62 i2pupdate-2.5.1.su3
461b5fe51d2d953ba798eee867e434b4bf234911418c0dd5560b558f755f6657 i2pupdate-2.5.1.su3.torrent
a4db0e6a9ee56df2d9bb2b12d9eb3a04501aeeac83773817f62565e632d88228 i2pupdate_2.5.1.zip
c592bc6d1ffcc988f021bbd30ea6e5063f31bb5175846be96c5c2724294bd99b i2pupdate_2.5.1.zip.sig
163b7fe3e9941bd412bad1b80f34e2a8cd1ade2e77cbe4cfb58eca42f3ca4b62 i2pupdate.su3
a4db0e6a9ee56df2d9bb2b12d9eb3a04501aeeac83773817f62565e632d88228 i2pupdate.zip

View File

@ -0,0 +1,50 @@
===========================================
{% trans -%}2.5.2 Release{%- endtrans %}
===========================================
.. meta::
:author: zzz
:date: 2024-05-15
:category: release
:excerpt: {% trans %}2.5.2 Release with HTTP fix{% endtrans %}
{% trans -%}
I2P 2.5.2 is released to fix a bug introduced in 2.5.0 causing truncation of some HTTP content.
{%- endtrans %}
{% trans -%}
As usual, we recommend that you update to this release.
The best way to maintain security and help the network is to run the latest release.
{%- endtrans %}
**{% trans %}RELEASE DETAILS{% endtrans %}**
**{% trans %}Changes{% endtrans %}**
- {% trans %}Console: Update rrd4j to 3.9.1-preview{% endtrans %}
- {% trans %}Router: Publish G cap if symmetric natted{% endtrans %}
**{% trans %}Bug Fixes{% endtrans %}**
- {% trans %}i2ptunnel: Fix bug causing truncation of some HTTP content{% endtrans %}
- {% trans %}i2ptunnel: Fix custom option form width (light theme){% endtrans %}
- {% trans %}Tunnels: Fix selection of peers with expired RIs{% endtrans %}
**{% trans %}Other{% endtrans %}**
- {% trans %}Translation updates{% endtrans %}
`{% trans %}Full list of fixed bugs{% endtrans %}`__
__ http://{{ i2pconv('git.idk.i2p') }}/i2p-hackers/i2p.i2p/-/issues?scope=all&state=closed&milestone_title=2.5.2
**{% trans %}SHA256 Checksums:{% endtrans %}**
::
1aa1ac29620886a7d744424318287c67dc9ead488e6ab434848597ee9db7ce18 i2pinstall_2.5.2_windows.exe
751f48cfb380c8796bd645621b149114d55f32cd4330784cb287be9413b02569 i2pinstall_2.5.2.jar
f23d0746d72a55cccbd17f40762e491ae1b42cdf55d7e73404d213a84985ca73 i2psource_2.5.2.tar.bz2
adba8b7512d27a44ed876ec4beb39a82ebb34dc243ec024aff289e91823fc0c7 i2pupdate_2.5.2.zip
0d1d09d3d8199ea1a2ea983f5023125449ea55e93e20f5fbf1b7ad9e466bb6fc i2pupdate.su3

View File

@ -24,24 +24,106 @@ index page). The following metadata is used:
- **excerpt**: Summary of the post (generally the same as the first line for
translation purposes). Required, it is displayed on the blog index.
Please use the following standard categories:
- android
- beta
- community
- conferences
- development
- general
- news
- release
- security
How to use the blog
-------------------
1. Create a directory path matching the date of the blog post, e.g.
'mkdir -p 2014/01/01'
'mkdir -p 2014/01/01'. Day and month directories MUST be two digits!
2. Create a file in that directory with suffix '.rst'. The name of the file and
the directory path will together be the URL that the post will be visible at
e.g. '2014/01/01/Happy-New-Year.rst' -> '/lang/blog/post/2014/01/01/Happy-New-Year'
e.g. '2014/01/01/Happy-New-Year.rst' -> '/lang/blog/post/2014/01/01/Happy-New-Year'.
Use - for spaces in the file name.
3. Write the blog post in reStructuredText format, taking note of the custom
format notes above.
Translations
-------------
Write your post so it may be easily translated.
Inside {% trans -%}...{%- endtrans %} blocks, put line breaks after long sentences
or phrases. Do not put line breaks at random places.
Links
-------------
The goal is to keep as much formatting out of the tagged string as possible,
so that the translators are less likely to inadvertently break the formatting,
and we can change the link later without breaking translations.
This also allows us to use macros for converting to .i2p links.
External links:
For full untranslated link text:
`QUIC <https://www.rfc-editor.org/rfc/rfc9000.html>`_
For full translated link text:
`{% trans %}I2P Mac OS Easy Install bundles{% endtrans %}`__
__ https://geti2p.net/en/download/mac
or:
`{% trans %}I2P Mac OS Easy Install bundles{% endtrans %} <https://geti2p.net/en/download/mac>`_
For partial translated link text:
{% trans link1="https://...", link2="..." -%}
Blah blah `link text <{{ link1 }}>`_ more text.
<%- endtrans %>
Internal links:
As above but use, e.g.
`NTCP2 <{{spec_url("ntcp2")}}>`_
`SSU2 <{{proposal_url("159")}}>`_
This does not work: {% trans link1="{{spec_url('i2np')}}" -%}
Multiple links to the same thing:
{% trans -%}
Blah blah RFC-9001_
and RFC-9001_ again.
<%- endtrans %>
.. _RFC-9001: https://www.rfc-editor.org/rfc/rfc9001.html
RST guide: https://docutils.sourceforge.io/docs/user/rst/quickref.html#hyperlink-targets
Writing draft posts
-------------------
To write a draft post, create the file with the suffix '.draft.rst'. Post files
with this suffix will be visible at their post URL, but will not be shown in
the blog index. To publish the draft post, change the filename to remove the
'.draft' in the suffix (e.g. mtn mv foo.draft.rst foo.rst).
'.draft' in the suffix (e.g. git mv foo.draft.rst foo.rst).
Review your formatting before checking in with the linux tool rst2html.
This will not process translation blocks, of course.
After checking in the draft, navigate to it in your browser and verify
the formatting is correct, including translation blocks.
Creating shortlinks
-------------------

View File

@ -67,7 +67,8 @@ def get_blog_slugs(num=0):
# walk over all directories/files
for v in os.walk(BLOG_DIR):
# iterate over all files
slugbase = os.path.relpath(v[0], BLOG_DIR)
slugbase = slug_base_datevalidate(os.path.relpath(v[0], BLOG_DIR))
for f in v[2]:
# ignore all non-.rst files and drafts
if not f.endswith('.rst') or f.endswith('.draft.rst'):
@ -79,7 +80,39 @@ def get_blog_slugs(num=0):
return slugs[:num]
return slugs
# reads a date and if it finds a one-digit representation of a day or month,
# lengthens it to two
def slug_base_datevalidate(slugbase):
parts = slugbase.split('/')
slugParts = []
for p in parts:
slugParts.append(datevalidate(p))
return "/".join(slugParts)
# turns a one-digit date unit into a two-digit date unit
def datevalidate(slugfrag):
if len(str(slugfrag)) == 1:
return "0"+str(slugfrag)
else:
return str(slugfrag)
# turns a two-digit date unit into a one-digit date unit
def dedatevalidate(slugfrag):
if len(str(slugfrag)) == 2:
return str(slugfrag).lstrip("0")
else:
return str(slugfrag)
# reverses slug_base_datevalidate
def slug_base_dedatevalidate(slugbase):
parts = slugbase.split('/')
slugParts = []
for p in parts:
slugParts.append(dedatevalidate(p))
return "/".join(slugParts)
def get_date_from_slug(slug):
slug = slug_base_datevalidate(slug)
parts = slug.split('/')
return "%s-%s-%s" % (parts[0], parts[1], parts[2])
@ -96,12 +129,19 @@ def render_blog_post(slug):
# check for drafts
path = safe_join(BLOG_DIR, slug + ".draft.rst")
if not os.path.exists(path):
abort(404)
slug = slug_base_dedatevalidate(slug)
path = safe_join(BLOG_DIR, slug+".rst")
if not os.path.exists(path):
path = safe_join(BLOG_DIR, slug + ".draft.rst")
if not os.path.exists(path):
abort(404)
# read file
with codecs.open(path, encoding='utf-8') as fd:
content = fd.read()
#print(content)
# render the post with Jinja2 to handle URLs etc.
rendered_content = render_template_string(content)

View File

@ -7,31 +7,32 @@ from random import randint
from i2p2www import CURRENT_I2P_VERSION, MIRRORS_FILE
#DEFAULT_MIRROR = {
# "net": "clearnet",
# "protocol": "https",
# "domain": "files.i2p-projekt.de",
# "path": "/%(version)s/%(file)s",
# "org": "i2p-projekt",
# "country": "de",
#}
DEFAULT_MIRROR = {
"net": "clearnet",
"protocol": "https",
"domain": "download.i2p2.de",
"path": "/releases/%(version)s/%(file)s",
"org": "sigterm.no",
"org_url": "https://download.i2p2.de",
"country": "no",
"net": "clearnet",
"protocol": "https",
"domain": "files.i2p-projekt.de",
"path": "/%(version)s/%(file)s",
"org": "i2p-projekt",
"org_url": "https://files.i2p-projekt.de",
"country": "de",
}
#{
# 'net': 'clearnet',
# 'protocol': 'https',
# 'domain': 'download.i2p2.de',
# 'org': 'sigterm.no',
# 'country': 'no',
#DEFAULT_MIRROR = {
# "net": "clearnet",
# "protocol": "https",
# "domain": "download.i2p2.no",
# "path": "/releases/%(version)s/%(file)s",
# "org": "sigterm.no",
# "org_url": "https://download.i2p2.no",
# "country": "no",
#}
#DEFAULT_MIRROR= {
# 'net': 'clearnet',
# 'protocol': 'https',
# 'domain': 'download.i2p2.no',
# 'org': 'sigterm.no',
# 'country': 'no',
#}
DEFAULT_I2P_MIRROR = {
@ -89,6 +90,10 @@ def downloads_debian():
def downloads_windows():
return render_template('downloads/windows.html')
# MacOS-specific page
def downloads_macos():
return render_template('downloads/macos.html')
# AIO-Windows-specific page
def downloads_easyinstall():
# TODO: read mirror list or list of available files

View File

@ -23,6 +23,7 @@ LEGACY_FUNCTIONS_MAP={
'easyinstall': {'function': 'downloads_easyinstall', 'params': {}},
'nsis': {'function': 'downloads_easyinstall', 'params': {}},
'windows': {'function': 'downloads_windows', 'params': {}},
'macos': {'function': 'downloads_macos', 'params': {}},
'download': {'function': 'downloads_list', 'params': {}},
'installation': {'function': 'downloads_list', 'params': {}},
'meetings': {'function': 'meetings_index', 'params': {}},

View File

@ -54,6 +54,7 @@ def get_meetings_ids(num=0):
# iterate over all files
for f in v[2]:
# ignore all non-.rst files
print("Meeting file found", f)
if not f.endswith('.rst'):
continue
try:

View File

@ -1,5 +1,5 @@
I2P dev meeting, Jun 1, 2021 @ 20:00 UTC
========================================
I2P dev meeting, June 1, 2021 @ 20:00 UTC
=========================================
Quick recap
-----------

View File

@ -1,5 +1,5 @@
I2P dev meeting, Jul 6, 2021 @ 20:00 UTC
========================================
I2P dev meeting, July 6, 2021 @ 20:00 UTC
=========================================
Quick recap
-----------

View File

@ -1,5 +1,5 @@
I2P dev meeting, Aug 3, 2021 @ 20:00 UTC
========================================
I2P dev meeting, August 3, 2021 @ 20:00 UTC
===========================================
Quick recap
-----------

View File

@ -1,5 +1,5 @@
I2P dev meeting, Sept 7, 2021 @ 20:00 UTC
=========================================
I2P dev meeting, September 7, 2021 @ 20:00 UTC
==============================================
Quick recap
-----------

View File

@ -0,0 +1,74 @@
(04:00:04 PM) eyedeekay: Hi everyone welcome to the community meeting
(04:00:04 PM) eyedeekay: 1) Hi
(04:00:04 PM) eyedeekay: 2) Remaining 0.9.50/1.5.0 items
(04:00:04 PM) eyedeekay: 3) Jpackage Distributions
(04:00:04 PM) eyedeekay: 4) 1.6.0 Development Status
(04:00:15 PM) mode (-m ) by zzz
(04:00:16 PM) eyedeekay: 1) Hi who is here today?
(04:00:24 PM) zlatinb: hi
(04:00:24 PM) zzz: here
(04:00:48 PM) eyedeekay: Hi zzz, hi zlatinb
(04:01:30 PM) eyedeekay: 2) Remaining 0.9.50/1.5.0 items
(04:02:21 PM) eyedeekay: It's the same story here as last meeting, we currently cannot reach mhatta, and our debian main packages are therefore not updated
(04:02:55 PM) eyedeekay: The official recommendation for installing I2P on Debian and Ubuntu will be changing in the next release to use our own .deb repository/PPA
(04:03:26 PM) eyedeekay: We're also updating the instructions to reflect some recommendations which will make usage of our repository more secure
(04:03:52 PM) eyedeekay: In the new setup, our .deb package signing keys will only be valid for our packages, instead of across all packages
(04:04:04 PM) eyedeekay: Current deb/ubuntu users will not need to change anything
(04:05:04 PM) eyedeekay: That's all I have for 2) anything from anyone else?
(04:05:23 PM) T3s|4: eyedeekay: ^all noted, and I am also present
(04:06:21 PM) eyedeekay: Thanks T3s|4
(04:06:21 PM) eyedeekay: Timeout 1m for 2)
(04:07:36 PM) eyedeekay: OK 3) Jpackage Distributions
(04:08:02 PM) zlatinb: I have two items for this topic, both not good
(04:08:18 PM) eyedeekay: OK maybe you should start us off then
(04:08:42 PM) zlatinb: 3.1 - the Mac DMG was not deployed properly to the sigterm.no mirror and I discovered it two weeks after release
(04:09:11 PM) zlatinb: which is a major fail, we need to understand why it happened and how can we prevent it in future
(04:09:30 PM) zlatinb: 3.2 - I just tried the windows AIO on a fresh windows 10 VM with just Firefox installed, and the .bat couldn't launch the I2P.exe
(04:09:50 PM) zlatinb: launching I2P.exe manually worked fine, but something in the connection between the two failed
(04:09:50 PM) zzz: what is AIO?
(04:09:55 PM) eyedeekay: Easy-Install
(04:09:56 PM) zlatinb: All-In-One
(04:10:17 PM) zlatinb: EOT
(04:11:42 PM) eyedeekay: The sigterm.no fail was partly my fault, I've resolved the issue there which had to do with the way I used to do mirror-syncing.
(04:12:13 PM) eyedeekay: Re the Windows bundle, that should definitely not be the case, not good. I'll follow up with it on i2p.firefox as soon as the meeting is over, thanks for bringing it to my attention.
(04:12:50 PM) zlatinb: ok, happy to help debug in any way
(04:14:54 PM) eyedeekay: OK on my side I'm testing the changes to i2p.newsxml for us to do updates with, should be ready to review this week, there are some minor changes to the instructions for running the news server I'll need to go over with ech but we're already in communication about that
(04:16:03 PM) zzz: 3.3 re: bundles for OSX, I recommend we advertise that they are untested on ARM Macs, that performance is unknown, and we should solicit testers
(04:16:17 PM) eyedeekay: Yes agreed, I can make that change to the web site tonight
(04:16:19 PM) zzz: and from that, decide when to start making ARM builds
(04:17:17 PM) eyedeekay: Will do
(04:17:20 PM) zzz: note that Java 17 in theory supports OSX ARm native, but I don't know if any of the openjdk-type sites have the JRE builds yet
(04:18:26 PM) zzz: EOT, thx
(04:18:38 PM) zlatinb: building for Mac aarch64 needs to happen on Mac aarch64 because jpackage
(04:18:55 PM) zlatinb: so that means I need to get an ARM Mac at some point
(04:19:12 PM) zlatinb: or someone else needs to get an Apple dev account
(04:19:31 PM) zlatinb: eot
(04:20:35 PM) eyedeekay: My Mac is also x86_64 unfortunately or I'd offer to do it
(04:21:17 PM) eyedeekay: Anything else for 3)?
(04:22:19 PM) eyedeekay: OK then 4) is 1.6.0 Development Status
(04:25:17 PM) eyedeekay: zzz's been keeping us up to date with his developments and status here: http://zzz.i2p/topics/3170-1-6-0-release-summary
(04:25:20 PM) eyedeekay: 6 weeks in, approx. 7 weeks to go
(04:25:40 PM) eyedeekay: One of my two big planned changes for the router console isn't likely to go in, X-I2P-Locations in the HTTP proxy
(04:26:10 PM) eyedeekay: The other, managing fork-and-forget plugins are going to be ready this week
(04:27:10 PM) eyedeekay: Work on SSU2 continues in #LS2
(04:27:10 PM) eyedeekay: zlatinb and zzz have also been identifying and debugging performance issues in SSU1
(04:27:26 PM) eyedeekay: Anything to add zzz, zlatinb
(04:27:28 PM) eyedeekay: ?
(04:28:07 PM) zzz: so far there's not a lot of big things in this release
(04:28:21 PM) zzz: very small diff as of now
(04:28:50 PM) zzz: let's get any other big changes in soon
(04:29:36 PM) eyedeekay: I'm not letting anything big or drastic go past this weekend for me. If I can't get it done by Monday I'll stick to small stuff.
(04:29:40 PM) zzz: should be on track for a late Nov. release
(04:30:43 PM) zzz: eot
(04:30:45 PM) zzz: oh, also awaiting a post-EOL Jetty 9.3.30 release with some CVE backports. They've tagged it but not posted the builds yet, that's typical for them
(04:31:43 PM) eyedeekay: If they wait to long to post the builds would it require delaying the release?
(04:32:37 PM) zzz: should only be a week or so. if for some reason they don't do it, we can just take their patches
(04:33:02 PM) eyedeekay: OK, thanks for clarifying
(04:33:35 PM) eyedeekay: Is there anything else for 4) and if not, is there anything anyone else would like to discuss while we're here?
(04:35:03 PM) eyedeekay: Timeout 1m
(04:35:04 PM) zzz: if anybody with a registered nick wants voice, let me know before I click the 'm' button. sorry for the inconvenience
(04:37:10 PM) eyedeekay: OK everybody thanks for coming to the meeting
(04:37:10 PM) eyedeekay: See you around IRC and at the meeting next month
(04:37:20 PM) eyedeekay: I've got some website updates to make
(04:37:59 PM) eyedeekay: Please note zzz's ^ statement about voice on the IRC server
(04:40:00 PM) eyedeekay: Oh one other thing, I'm going to be out-of-town Thursday and Friday, I'll be working offline those days. Message idk_afk if I'm not online and I will see it by the evening

View File

@ -0,0 +1,12 @@
I2P dev meeting, October 5, 2021 @ 20:00 UTC
============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb,
T3s|4

View File

@ -0,0 +1,74 @@
(04:00:16 PM) eyedeekay: Hi everybody, welcome to the November 2 Community Meeting
(04:00:16 PM) eyedeekay: 1) Hi
(04:00:16 PM) eyedeekay: 2) 1.6.0 Development Status / Upcoming Release
(04:00:16 PM) eyedeekay: 3) mac/win jpackage beta status, user test reports, in-net 17.0.2 update status, plans for 1.6.0 update ?
(04:00:35 PM) zzz: hi
(04:00:38 PM) zlatinb: hi
(04:00:55 PM) eyedeekay: Hi zzz, zlatinb
(04:01:25 PM) eyedeekay: 2) 1.6.0 Development Status / Upcoming Release
(04:02:25 PM) eyedeekay: Release thread is here: http://zzz.i2p/topics/3170-1-6-0-release-summary and we still haven't picked a date, I should have replied on that thread, do we want to do that here?
(04:02:43 PM) zzz: yes please
(04:03:18 PM) zzz: 3 weeks from now would be 13 weeks. +/- 1 week ok with me also
(04:03:19 PM) eyedeekay: OK then in my case I am in favor of the week of the 29th, after US Thanksgiving
(04:04:12 PM) zlatinb: I'm afk from my main workstation until early Dec, so can't build or sign jpackage installers. But I can still give an OTP for the signtool as that's on my phone.
(04:05:34 PM) zzz: ok, so tentatively the week of the 28th then? eche|off eche|on any objections?
(04:07:30 PM) eyedeekay: Week of the 28th sounds good to me for now.
(04:08:34 PM) eyedeekay: Anything else for topic 2)?
(04:08:45 PM) zzz: yeah, quick status
(04:09:02 PM) zzz: looking like a fairly modest release as measured by amount of changes
(04:09:27 PM) zzz: some SSU speedups are perhaps the headline
(04:09:48 PM) zzz: zlatinb, if you have time to squeeze in the unit test deprecation fixes that would be good
(04:09:52 PM) zzz: EOT
(04:10:02 PM) eyedeekay: Thanks zzz
(04:10:28 PM) zlatinb: yeah, no promises on the unit test :)
(04:10:42 PM) eyedeekay: 3) mac/win jpackage beta status, user test reports, in-net 17.0.2 update status, plans for 1.6.0 update?
(04:12:18 PM) zlatinb: I assume that is jdk 17.0.1, there's no 17.0.2 out yet afaik
(04:12:21 PM) zzz: yeah I added that item just to give you two a chance to give the community an update
(04:12:32 PM) eyedeekay: zlatinb and I discussed it a few days ago and evaluated the prospect of doing an OpenJDK 17 update for the jpackage installs
(04:12:43 PM) zzz: ignore any typos :)
(04:13:36 PM) Ryemantis__ is now known as Ryemantis_
(04:14:08 PM) eyedeekay: Right now we're prepared to do in-network updates of the jpackage installs but we are going to wait for the main release to do our jpackage releases which will update to either 17.0.1 or 17.0.2
(04:14:55 PM) zlatinb: 17.0.2 isn't due until mid-january, so we should definitely have a 1.6.0 jpackage release
(04:15:32 PM) zlatinb: my view is that I would really like to do a dry-run of the in-network update process to shake out any insects, but that needs to happen in the next 7 days cause I'm afk afterwards
(04:16:03 PM) zlatinb: to summarize, the following needs to happen:
(04:16:12 PM) zzz: eyedeekay, that wasn't very clear... you're 'prepared' but you're not going to do it, you're going to wait?
(04:16:28 PM) zlatinb: 1. update of the i2p.newsxml repo to produce entries.html per platform
(04:16:50 PM) zlatinb: 2. Make sure idk and ech's news http servers can serve the new news.su3 files
(04:17:17 PM) zlatinb: 3. branch i2p.i2p from the i2p-1.5.0 tag, bump CoreVersion/RouterVersion, tag i2p-1.5.1
(04:17:27 PM) zlatinb: 4. build jpackage installers, sign/notarize as necessary
(04:17:47 PM) zlatinb: 5. build new entries.html with new release.json
(04:17:50 PM) zlatinb: 6. deploy
(04:17:51 PM) zlatinb: eot
(04:18:03 PM) zlatinb: so I don't know if that can happen in 7 days, but it would be very nice if it could
(04:19:10 PM) eyedeekay: By prepared I mean the i2p.newsxml changes produce valid feeds that can be used to distribute in network updates and they work on my lighttpd news setup
(04:20:00 PM) eyedeekay: I need to add platform-specific entries.html support, right now everybody gets all the news but a different torrent
(04:20:38 PM) zzz: even bigger picture, since it's beta, is it going well, are you getting downloads and/or complaints?
(04:21:16 PM) zlatinb: downloads - ~25/day for mac, ~100/day for windows according to matomo
(04:21:44 PM) eyedeekay: No major complaints, there was an issue with detecting the path to the installed package depending on architecture and whether windows was installed which affects some fraction of the Windows users but *only* when the launcher is run from the installer
(04:22:03 PM) eyedeekay: So after the installer is run the bug goes away, and it's fixed in the new version
(04:22:11 PM) eyedeekay: Well, will be
(04:22:15 PM) zzz: great
(04:22:21 PM) eyedeekay: That's the thing zab reported last month
(04:22:40 PM) eyedeekay: *installed or updated from an earlier edition
(04:24:34 PM) Ryemantis_: Hi everyone. Just wanted to also quickly check in and apologize for being quite the last few weeks. October was a very busy month for me and also had a hardware failure mixed in. After this week I should have some time to get my workstation back together and continue work on Android I2P. Currently working on LiveData, Remote-starting I2P, and UPnP fix. Will also update on the forums once I am back at
(04:24:35 PM) Ryemantis_: it. Please let me know too if anything else needs more immediate attention.
(04:25:04 PM) eyedeekay: Excellent to hear from you Ryemantis_ and welcome to the meeting
(04:25:28 PM) eyedeekay: Thanks for the update on what you're working on, hardware failures and life happen to all of us
(04:27:01 PM) eyedeekay: So back to 3) for a moment, for right now it's incumbent on me to add support for entries.html in data/platform/branch/entries.html instead of only in data/entries.html so we can have platform-specific newsfeeds
(04:27:13 PM) Ryemantis_: Definitely appreciate the understanding and thank you all for you hard work
(04:28:23 PM) eyedeekay: As opposed to one feed where everybody gets everybody's news
(04:29:00 PM) eyedeekay: After that, we can start at step 3. in zlatinb's description
(04:29:37 PM) eyedeekay: Anything for 3)?
(04:30:20 PM) zlatinb: no I think that captures everything
(04:30:46 PM) eyedeekay: Cool anything else for the meeting zzz zlatinb Ryemantis_ ?
(04:31:04 PM) zzz: nope
(04:31:30 PM) Ryemantis_: nope
(04:31:49 PM) zlatinb: yeah quick one - next meeting is it on the 1st?
(04:31:54 PM) ***zlatinb checks calendar
(04:32:12 PM) eyedeekay: I think the 7th zlatinb
(04:32:20 PM) zlatinb: ok nvm then
(04:32:33 PM) eyedeekay: The first is a Wednesday by my calendar
(04:33:28 PM) eyedeekay: Oh right that reminds me, DST. I've always scheduled the meetings on UTC, but does anyone want to adjust the time of the meeting for DST?
(04:33:36 PM) zzz has changed the topic to: 1.5.0-4 | Tag freeze Wed. Nov. 17
(04:35:30 PM) eyedeekay: I'll take that as a no then. Unless someone brings it up in a forum thread, meetings will continue to be scheduled at the same time UTC
(04:36:05 PM) eyedeekay: Thanks everybody for coming to the meeting, I'll post the logs in a few minutes.

View File

@ -0,0 +1,12 @@
I2P dev meeting, November 2, 2021 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb,
Ryemantis_

View File

@ -0,0 +1,75 @@
(03:00:21 PM) eyedeekay: Hi everybody, welcome to the December 7 meeting
(03:00:28 PM) eyedeekay: 1) Hi
(03:00:28 PM) eyedeekay: 2) 1.6.1 Release Status
(03:00:28 PM) eyedeekay: 3) jpackage Update Status
(03:00:28 PM) eyedeekay: 4) Monero Integrations
(03:00:28 PM) eyedeekay: 5) New SAM Library
(03:00:37 PM) zzz: hi
(03:00:41 PM) zlatinb: hi
(03:01:05 PM) eyedeekay: Hi zzz, hi zlatinb
(03:01:12 PM) eyedeekay: Anybody else here today?
(03:01:16 PM) mode (-m ) by zzz
(03:01:31 PM) eyedeekay: 2) 1.6.1 release status
(03:02:32 PM) eyedeekay: Release 1.6.1 is available, the torrent is live, as are Debian/Ubuntu/Launchpad, Maven, GPlay, and our F-Droid
(03:03:10 PM) eyedeekay: F-Droid's repository is still out of date, one of my tasks this week is to get our app working with their auto-build system again
(03:04:01 PM) eyedeekay: Debian's repositories, as far as we know, aren't going to recieve our updates at this time, people who are using Debian packages should switch to deb.i2p2.de or deb.i2p2.no
(03:05:18 PM) eyedeekay: The DMG bundle built by zlatinb has also been updated to 1.6.1 and is available on the mirrors and as an update
(03:06:01 PM) eyedeekay: The exe bundle built by me is going to be up today, I had planned to do it yesterday but got bogged down in Windows updates so I'll do it this evening.
(03:06:40 PM) eyedeekay: According to stats.i2p about 20% of the network has updated
(03:06:47 PM) eyedeekay: Anything to add zzz, zlatinb?
(03:09:13 PM) eyedeekay: Hello?
(03:11:26 PM) eyedeekay: OK I'm back
(03:11:40 PM) eyedeekay: (03:06:40 PM) eyedeekay: According to stats.i2p about 20% of the network has updated
(03:11:40 PM) eyedeekay: (03:06:47 PM) eyedeekay: Anything to add zzz, zlatinb?
(03:11:50 PM) zzz: yes
(03:12:05 PM) zzz: no sign of a biglybt update yet, hopefully that will come soon
(03:12:10 PM) zzz: no user complaints yet
(03:12:26 PM) zzz: echelon had trouble with a 1.6.1-2 dev build but we don't know why
(03:13:03 PM) zzz: also, users of any i2p package version (current or older) may have a problem due to changing jetty9 dependencies
(03:13:24 PM) zzz: if so, sudo apt install libservlet3.1-java manually
(03:14:44 PM) zlatinb: re biglybt I heard from Parg earlier today regarding an unrelated matter so he is ok.
(03:15:52 PM) zzz: may also affect bleeding-edge ubuntu jammy, not sure
(03:15:52 PM) zzz: eot
(03:16:12 PM) zlatinb: eot
(03:16:22 PM) zzz: I mean debian/ubuntu package
(03:16:22 PM) zzz: eot2
(03:16:22 PM) zzz: this is on debian sid and maybe jammy only
(03:16:22 PM) zzz: eot3
(03:16:22 PM) zzz: will give him a few more days and then bug him
(03:16:31 PM) eyedeekay: Thanks zzz, the package/dependency thing will probably bubble up on Reddit if it's a problem
(03:16:58 PM) eyedeekay: I run sid on the day-to-day basis and haven't hit this one so far
(03:17:01 PM) zzz: ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997213
(03:18:40 PM) eyedeekay: 3) jpackage Update Status
(03:19:36 PM) eyedeekay: Partly covered this one already, zlatinb's dmg packages are up on the mirrors and listed on the site
(03:20:29 PM) eyedeekay: I had some updates I needed to do to my Windows laptop so didn't get the exe builds done last night, got it out for after the meeting
(03:21:08 PM) eyedeekay: I've flipped my news server over to publish zlatinb's new packages
(03:21:59 PM) eyedeekay: I haven't heard from any users so far
(03:22:27 PM) zlatinb: The dmg jpackage is at this point well-streamlined. We did an end-to-end test of the in-network update with 1.5.0->1.5.1 and that worked (but from the second try)
(03:23:02 PM) zlatinb: 1 person has downloaded the torrent according to snark
(03:23:27 PM) zlatinb: not much else to report on the mac jpackage, it basically works
(03:23:28 PM) zlatinb: eot
(03:24:04 PM) eyedeekay: Thanks zlatinb
(03:24:41 PM) eyedeekay: 4) Monero Integrations
(03:25:55 PM) eyedeekay: There was some renewed interest in getting Monero-over-I2P working automatically in the GUI wallets(like Feather in particular) over the thanksgiving holiday
(03:26:38 PM) eyedeekay: We're doing some design mockups and analysis of the tradeoffs of different configurations over here:
(03:26:39 PM) eyedeekay: https://github.com/monero-project/monero-gui/issues/2274
(03:27:15 PM) eyedeekay: They're interested in adopting several things from us, including eventually our model for distributing software updates in-network
(03:27:53 PM) eyedeekay: If anybody wants to participate in that discussion we're having it there mostly, and also on the Monero Matrix channel
(03:28:06 PM) eyedeekay: Monero-Community
(03:28:20 PM) eyedeekay: EOT
(03:29:05 PM) eyedeekay: 5) New SAM library
(03:29:14 PM) zzz: cool, I assume they've already looked at what bitcoin did for the low-level address protocols
(03:29:17 PM) zzz: eot
(03:30:31 PM) eyedeekay: Yes they have
(03:31:24 PM) eyedeekay: The other cool thing that happened last week is the folks at diva.exchange have created a new SAM library for node.js/javascript in general
(03:32:02 PM) eyedeekay: It's much more thoroughly and recently documented than the old one which is now unmaintained
(03:32:07 PM) eyedeekay: Source is here: https://codeberg.org/diva.exchange/i2p-sam
(03:32:23 PM) eyedeekay: NPM package is here https://www.npmjs.com/package/@diva.exchange/i2p-sam
(03:33:00 PM) eyedeekay: Given how popular node is I'm giving it a bit of a signal boost, seems like everybody writes their webapps in node these days
(03:33:15 PM) eyedeekay: eot
(03:34:21 PM) eyedeekay: Anything else for the meeting?
(03:35:13 PM) zlatinb: not from me
(03:36:01 PM) eyedeekay: timeout 1,
(03:36:04 PM) eyedeekay: 1m
(03:37:03 PM) eyedeekay: OK then thanks zzz, zlatinb, next meeting will be Jan 4, 2022
(03:37:03 PM) eyedeekay: I will post the logs shortly

View File

@ -0,0 +1,11 @@
I2P dev meeting, December 7, 2021 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,104 @@
(03:00:39 PM) eyedeekay: Hi everyone and welcome to the January 4, 2022 meeting
(03:00:39 PM) eyedeekay: 1. Hi
(03:00:39 PM) eyedeekay: 2. Meeh services/Outproxy requirements http://zzz.i2p/topics/3218-meeh-services-going-down-soon
(03:00:39 PM) eyedeekay: 3. Promoting Mac DMG JPackage to stable https://geti2p.net/en/download/mac
(03:00:39 PM) eyedeekay: 4. NetDB research (Sim/Model) http://zzz.i2p/topics/3227-netdb-simulator-proposal
(03:01:13 PM) zlatinb: hi
(03:01:23 PM) zzz: hello
(03:01:55 PM) eyedeekay: Hi zzz, zlatinb, anybody else here today?
(03:02:20 PM) eyedeekay: Outproxy operators?
(03:02:59 PM) eyedeekay: OK then on to 1, they can chime in if they want :)
(03:03:38 PM) eyedeekay: So we're losing all of meeh's non-static services, for us that's mostly trac, which we've already replaced, and false.i2p, the default outproxy
(03:04:07 PM) eyedeekay: Neither have worked well for a long time, but not having an outproxy tends to have a bad UX so we need to replace it
(03:04:59 PM) eyedeekay: We discussed some options last week, one of which was finding a new volunteer-run outproxy to make it the default.
(03:06:30 PM) eyedeekay: If that is to happen, then we'll need it to meet some basic requirements. Obviously a privacy policy is important.
(03:06:30 PM) eyedeekay: If they aren't passing everything to Tor directly, we'll also need a description of what filtering, if any, occurs
(03:07:34 PM) eyedeekay: Other options are to run one ourselves, which is of limited appeal at best, another is local SOCKS support, which requires a local SOCKS proxy to be available.
(03:08:07 PM) eyedeekay: If anyone wants to volunteer to be an outproxy, the place to reach out is at zzz's forum
(03:09:05 PM) zzz: right
(03:09:12 PM) eyedeekay: I have not been able to get statistics about false.i2p usage from meeh yet. EOT
(03:09:40 PM) zzz: first of all we want to be very careful not to publicly recommend an alternate or set a new default without approval, as that might impose a large burden, financial or otherwise
(03:10:06 PM) zzz: as a tiny baby step, we're looking to get alternates registered on stats.i2p and get approval to add them to our default hosts.txt
(03:10:16 PM) zzz: as that at least makes it easier for people to configure and use them
(03:10:55 PM) zzz: we have approval for that step for two outproxies, however only one is currently registered on stats.i2p
(03:11:05 PM) zzz: so I'm awaiting for that second registration
(03:11:05 PM) zzz: eot
(03:11:35 PM) eyedeekay: Thanks zzz, I'll remind him btw
(03:11:47 PM) dr|z3d: I've had some preliminary discussions with you, zzz, and on that basis I think it should be fairly clear that I'm not interested in offering an official service. Informal is fine, but nothing official.
(03:12:52 PM) zzz: thanks for making it clear, and also thanks for your time and expertise in thoes discussions
(03:12:59 PM) dr|z3d: I'm also of the view that a single outproxy is doomed to failure the moment it becomes official.
(03:14:13 PM) eyedeekay: Certainly can see why that would be the case. Anything else on 1?
(03:14:28 PM) zzz: perhaps. it certainly requires adequate capacity and competent administration
(03:14:29 PM) zzz: eot
(03:14:59 PM) eyedeekay: 3. Promoting Mac DMG Jpackage to stable
(03:15:15 PM) eyedeekay: s/1/2/
(03:15:42 PM) eyedeekay: So this topic was added by zlatinb, take it away
(03:16:21 PM) zlatinb: thanks. Basically, the non-DMG (jar) package is not notarized and the last 2 (or 3?) versions of Mac OS refuse to execute it unless the user changes some advanced settings
(03:16:52 PM) zlatinb: at the same time, the DMG jpackage has been very stable and in-net updates have been tested end-to-end
(03:17:10 PM) zlatinb: so I propose we make it the default mac download and get rid of the .jar option altogether
(03:17:55 PM) zlatinb: since we already have a nice /mac page dedicated to the package, I suggest we keep that, removing the BETA modifier
(03:18:14 PM) zlatinb: and on the Mac div in /download, just have a link to the /mac page, nothing else
(03:18:19 PM) zlatinb: eot
(03:19:22 PM) eyedeekay: I support it.
(03:20:42 PM) eyedeekay: Do we need to wait for release or just do it now?
(03:21:51 PM) anonymousmaybe is now known as Irc2PGuest95343
(03:22:35 PM) mode (+ao zzz zzz) by ChanServ
(03:22:37 PM) zlatinb: no need to wait for a release
(03:22:54 PM) zzz: did you see my 3 questions before I dropped?
(03:23:01 PM) eyedeekay: No I missed them
(03:23:03 PM) zlatinb: no, sorry, pls repost
(03:23:11 PM) zzz: I'll ask a few easy questions:
(03:23:15 PM) zzz: 1) The user base is sufficient that we are confident it's been well-tested?
(03:23:17 PM) zzz: 2) The release process is documented and in theory somebody else could build it if they had the right keys?
(03:23:20 PM) zzz: 3) We're confident we have the resources to continue maintaining it and doing releases?
(03:23:23 PM) zzz: eot
(03:24:08 PM) zlatinb: 1) - according to matomo it gets 20-25 downloads a day. We've had users of M1 Macs report that it works as expected. No negative reports at all
(03:24:28 PM) eyedeekay: 2) and 3) IMO the answers are definitely yes. I can build everything up to the notary part and can teach someone else to
(03:24:53 PM) zlatinb: 2) is yes but requires de-anoning because Apple Inc.
(03:24:54 PM) eyedeekay: So with zlatinb and I there are at least 2 people who know how to build it
(03:25:08 PM) zzz: 2) but it is _documented_ ?
(03:25:33 PM) zlatinb: yes, step by step incl. the notary process in the README.md
(03:25:41 PM) zzz: super
(03:26:16 PM) zzz: 1) does "working" include the update process? have we seen the torrent swarm actually fire off when the news updates?
(03:26:29 PM) zlatinb: http://git.idk.i2p/i2p-hackers/i2p-jpackage-mac
(03:26:43 PM) zzz: (because I think the windows version hasn't actually been seen to work yet)
(03:27:26 PM) zlatinb: 1) yes, the swarm picks up, it's quite small but it's there. I've seen it both at the 1.5.1 and 1.6.1 releases
(03:27:49 PM) zzz: ok great, thanks for the answers, no objections
(03:28:14 PM) eyedeekay: Cool I'll make the site changes tonight after I post the meeting logs
(03:28:26 PM) zlatinb: awesome thanks!
(03:29:05 PM) eyedeekay: Re: Windows, yes but appears it's an issue in the config file I shipped and not the updater itself
(03:29:05 PM) eyedeekay: So Windows needs 1 more manual update to work with automatic updates, which I think I might have known ahead of time but forgot
(03:30:07 PM) eyedeekay: 4. NetDB research (Sim/Model) http://zzz.i2p/topics/3227-netdb-simulator-proposal
(03:30:44 PM) eyedeekay: Also zlatinb's topic, let us know what you're thinking
(03:31:28 PM) zlatinb: So, in the last two weeks or so there has been a noticeable deterioration in the accessibility of sites like zzz.i2p, postman, event major.acetone.i2p... basically sites I know are up
(03:31:57 PM) zlatinb: I've done some debugging and had situations where the LS of zzz.i2p gets fetched fine, but then the RI of the IBGW must be failing to fetch
(03:32:03 PM) zlatinb: (I'm speculating here ofc)
(03:32:47 PM) zlatinb: in a nutshell, there are many unknowns in the functioning of the NetDB and we have to place our faith in the Kad algorithm, which is fine, but I would rather have more confidence via some research
(03:33:33 PM) zlatinb: just like the testnet helped improve the streaming and ssu and ntcp code a lot, I believe a model or a sim can help improve the functioning of the netDB
(03:34:44 PM) zlatinb: and the reason I want to discuss it here is that if we go with a sim that runs the actual code that will be in the router, some refactoring will be necessary of the NetDB code, possibly some of the *Job classses too
(03:34:52 PM) zlatinb: Note, I haven't looked into the multi-router jvm and JVMCommSystem yet
(03:35:03 PM) zlatinb: maybe those can be an answer up to a given number of nodes
(03:35:37 PM) zlatinb: but my goal is to simulate at least a few thousand nodes, which means abstracting away most of the router components
(03:35:42 PM) zlatinb: eot-checkpoint
(03:36:28 PM) major left the room (quit: Ping timeout: 320 seconds).
(03:36:32 PM) zzz: I'm lukewarm at best, due to how hard it would be, and how long before we got any useful results
(03:37:20 PM) zzz: for starters, I made a series of changes recently to make things more reliable
(03:37:27 PM) zzz: in 1.6.1-6 dev build
(03:37:46 PM) zzz: but I don't know if any of the popular servers (besides mine) are running it
(03:38:17 PM) zzz: I would like to see echelon's and eyedeekay's servers try it. Those are two batches that I've had trouble with for months
(03:38:20 PM) zzz: eot
(03:38:44 PM) eyedeekay: Most of my servers just track the PPA, I'll get git.idk.i2p updated
(03:39:17 PM) zzz: git and gitssh are two that frequently shun me. If they get better, I'll notice
(03:40:07 PM) zzz: echelon's servers are another mystery. they seem to have IP-level issues frequently
(03:42:11 PM) eyedeekay: I can do that soon then
(03:43:37 PM) eyedeekay: My questions about the netDB test harness are probably ill-conceived, for instance, does the existing testnet have the ability to simulate a netDB between the routers within it?
(03:44:08 PM) eyedeekay: And if so, is there a way to use it?
(03:44:44 PM) The account has disconnected and you are no longer in this chat. You will automatically rejoin the chat when the account reconnects.
(03:49:14 PM) The topic for #i2p-dev is: 1.6.1-7 | next dev meeting 8 PM UTC Tuesday, January 4, 2022
(03:49:14 PM) Topic for #i2p-dev set by zzz at 09:08:14 AM on 01/03/2022
(03:49:20 PM) zzz: gosh no not pspice. it was some sort of queueing/behavioral network model
(03:50:31 PM) zzz: EOT and out, gotta run, thanks everybody
(03:50:46 PM) eyedeekay: Later zzz
(03:51:41 PM) eyedeekay: Anything else on 4? zlatinb
(03:51:50 PM) zlatinb: no, that's all
(03:52:08 PM) eyedeekay: All right that covers it for the meeting then, have a good week everybody

View File

@ -0,0 +1,11 @@
I2P dev meeting, January 4, 2022 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,72 @@
(03:01:32 PM) eyedeekay: Hi everyone welcome to the Feburary 8th dev meeting
(03:01:38 PM) eyedeekay: Sorry about last week, hopefully the message dropping issues will not recur
(03:01:45 PM) eyedeekay: Topics:
(03:01:45 PM) eyedeekay: 1. Hi
(03:01:45 PM) eyedeekay: 2. Outproxy Requirements(ongoing)
(03:01:45 PM) eyedeekay: 3. 1.7.0/0.9.53 status / release schedule
(03:02:13 PM) zzz: hi
(03:02:15 PM) mode (-m ) by zzz
(03:02:16 PM) zlatinb: hi
(03:02:30 PM) eyedeekay: hi everybody
(03:02:54 PM) eyedeekay: Let's start right in 2) Outproxy requirements
(03:04:08 PM) eyedeekay: zzz found us a bunch of old lists of requirements, which we should either A) choose one or B) collate into a new list
(03:04:51 PM) eyedeekay: I've been trying to do some research into which requirements are feasible and get some guidance from what Tor does
(03:06:18 PM) eyedeekay: At the same time, some groups and some individuals have emerged to volunteer to help with outproxies, one of which is also a multiple Tor exit node operator operating a non-profit, so hopefully we can benefit from their experience
(03:08:04 PM) eyedeekay: In some cases I find the rules a little murky: - Optional allowlist/blocklist of hosts/IPs? for instance, seems straightforward at once but what we suggest blocking/allowing on a host/IP basis might open operators up to request to block things they don't want to block?
(03:08:45 PM) eyedeekay: Seems like the advice may have been that it's safe to block "ports" but maybe not hostnames?
(03:09:05 PM) zzz: I think there's two categories of requirements
(03:09:57 PM) zzz: 1) Things that we as a project would want to see (header requirements, small error page, link to additional info)
(03:10:48 PM) zzz: 2) Things that any rational outproxy operator would want, especially admin tools, but we don't have the expertise to offer much guidance
(03:11:40 PM) zzz: we should focus on 1)
(03:12:14 PM) eyedeekay: OK that's easier, approaching it from the other direction was like cramming for a test
(03:12:40 PM) zzz: and we should not attempt to offer a turnkey packaged solution for 2), only perhaps suggest some best practices
(03:13:00 PM) eyedeekay: But I think it implies we'll need to be flexible, i.e. things we want will need to be subordinate to the things they'll be able to offer
(03:13:09 PM) eyedeekay: That's probably a given though
(03:13:43 PM) zzz: I'm thinking everything in 1) is pretty basic
(03:14:38 PM) zzz: 1a) filter out any X-I2P headers outbound. Do or don't add an X-forwarded headers in either direction?
(03:14:54 PM) zzz: 1b) have a small error page with a link to more info
(03:15:07 PM) zzz: 1c) have a privacy policy on the more info page
(03:15:13 PM) zzz: stuff like that
(03:16:24 PM) eyedeekay: Yeah I agree, that shouldn't be difficult
(03:17:14 PM) eyedeekay: So I'll avoid trying to figure out what people "should" do re: category 2) for the time being and focus on 1)
(03:18:19 PM) eyedeekay: Anything else for topic 2)?
(03:18:36 PM) zzz: The other thing in 1) is http vs. standard tunnel. I _think_ http is the right choice, and the choice affects the header issues
(03:19:04 PM) zzz: eot for 2)
(03:19:37 PM) eyedeekay: The standard tunnel doesn't add the X-I2P-* headers at all does it?
(03:19:55 PM) zzz: no, it doesn't know about header
(03:20:09 PM) zzz: *headers
(03:20:39 PM) zzz: so the choice affects what the external proxy software "sees"
(03:21:47 PM) eyedeekay: So why http? Wouldn't it be better if the server software didn't have to strip/re-add/keep track of the X-I2P headers to keep them from leaking?
(03:22:23 PM) zzz: any proxy needs to deal with headers
(03:22:49 PM) zzz: the proxy standard specifies that some headers are "hop-by-hop" and need to be stripped/added
(03:23:56 PM) zzz: and of course there's both the HTTP and HTTPS (CONNECT) cases to deal with
(03:27:13 PM) eyedeekay: So in the HTTP tunnel case we would be actually using the X-I2P headers
(03:28:39 PM) zzz: they could be used e.g. for rate limiting by a competent outproxy admin
(03:29:09 PM) eyedeekay: Makes sense
(03:29:57 PM) eyedeekay: Anything else on 2)?
(03:30:05 PM) zzz: no
(03:30:12 PM) eyedeekay: 3. 1.7.0/0.9.53 status / release schedule
(03:30:59 PM) eyedeekay: We're exactly 13 days from release on the 21st
(03:31:10 PM) eyedeekay: Tags are freezing tomorrow
(03:31:39 PM) zzz: yup, checkin deadline Fri. Feb. 18
(03:32:26 PM) zzz: i2pd will be releasing on the 19th or 20th with a fix for the nasty SSU bug that's been causing network reliability issues the last couple of months
(03:32:55 PM) zzz: our release will also have some related workarounds and improvements
(03:33:09 PM) eyedeekay: Good to hear, that's been a rough ride for a lot of folks especially on mobile
(03:33:20 PM) zzz: I'm hopeful that conditions will improve pretty rapidly once people start upgrading
(03:34:10 PM) zzz: other than that, the cycle has been pretty smooth, things are quieting down
(03:35:26 PM) zzz: we're at 14,000 lines of diff, pretty good size
(03:36:00 PM) zzz: eot for 3)
(03:37:45 PM) eyedeekay: I don't have much to add, I'll still be making tiny CSS changes for the next week or so to deal with some quirks on extra-small or extra-wide screens and some contrast issues in the dark theme, but other than that my time will be spent trying to review and test
(03:37:55 PM) zlatinb: I would like to run some tests in the testnet after both i2p and i2pd freeze the code for the release. I've documented them on the gitlab wiki.
(03:38:05 PM) zlatinb: eyedeekay: what about end-to-end test for the windows aio?
(03:38:58 PM) eyedeekay: I got one working yesterday, I had a couple issues to deal, one on the build-config side and one on the router.config side but they should both be gone now as long as I'm extra-careful with my release build
(03:41:18 PM) eyedeekay: Turns out I had built the package without incrementing the router version number so even if a download happened(which would not have happened because the URL in router.config was wrong) it would not trigger an update
(03:42:16 PM) eyedeekay: Both those issues are fixed now and I've set up to test the package after I get it built
(03:42:49 PM) eyedeekay: So my updates were badly broken, but now they should be fixed, EOT
(03:44:07 PM) eyedeekay: Anything else for the meeting? Questions, comments, concerns?
(03:46:02 PM) zzz: aio == "bundle" or "easy install bundle". Let's not use "aio" as the name for it anywhere
(03:46:27 PM) zzz: I always think async i/o
(03:46:36 PM) zzz: nothing else for me
(03:47:06 PM) eyedeekay: OK yeah AIO is ambiguous means different things to different people
(03:47:28 PM) eyedeekay: I'll stick to Bundle or Easy-Install Bundle
(03:48:01 PM) eyedeekay: All right thanks everybody for coming to the meeting, see you next month on the 5th, looks like

View File

@ -0,0 +1,11 @@
I2P dev meeting, February 8, 2022 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,83 @@
(03:01:40 PM) eyedeekay: Hi everyone, welcome to the dev meeting
(03:01:40 PM) eyedeekay: 1. Hi
(03:01:40 PM) eyedeekay: 2. Release Status (1.7.0 / 0.9.53)
(03:02:10 PM) zlatinb: hi
(03:02:12 PM) zzz: hello
(03:02:39 PM) eyedeekay: Anything else to add to the agenda today before we start the release status?
(03:03:01 PM) zlatinb: I have two small items that could fall into a "wishlist for 1.8.0" item
(03:03:25 PM) eyedeekay: 3) 1.8.0 wishlist
(03:04:24 PM) eyedeekay: 2. Release Status(1.7.0/0.9.53)
(03:05:37 PM) eyedeekay: On my end I do have one remaining item, there is an issue with the .aab bundle build process where static resources that are included from the `i2p.i2p` build are deleted and from the final .aab
(03:06:06 PM) eyedeekay: For the time being, GPlay is delayed, I'm working on it today and should be done soon.
(03:07:53 PM) eyedeekay: F-Droid and Freestanding are both .apk's that use the old build process that isn't broken, so it still works.
(03:07:53 PM) eyedeekay: Are there any other outstanding release processes to finish?
(03:10:03 PM) eyedeekay: zzz anything to add to the release status topic from your end? I understand BiglyBT released their plugin today, is that correct?
(03:10:22 PM) zzz: yes
(03:10:48 PM) zzz: based on expl. build success stats, we've rapidly recovered from i2pd's regression in the last release
(03:10:52 PM) zzz: http://stats.i2p/docs/buildsuccess.png
(03:11:11 PM) zzz: and are now at a higher point than any time in the last few years iirc
(03:12:11 PM) zzz: things should settle out in another week and we'll see where we are
(03:12:13 PM) zzz: eot
(03:12:21 PM) eyedeekay: That's really excellent news. Glad things are looking good so far.
(03:12:32 PM) eyedeekay: Thanks zzz
(03:12:50 PM) eyedeekay: 3. 1.8.0 wishlist
(03:13:17 PM) eyedeekay: zlatinb take it away
(03:13:44 PM) zlatinb: hi, 1) is speeding up initial exploratory build time and 2) JNA
(03:14:05 PM) zlatinb: 1: I've been doing some analysis, 75% of the exploratory tunnels that do build do so in less than 500ms
(03:14:29 PM) zlatinb: out of ~30 samples the slowest successful build was less than 2500ms
(03:14:46 PM) zlatinb: whereas the timeout we have now is 13000 ms, I think reducing that will get the router to RUNNING state faster
(03:15:07 PM) zlatinb: we don't have to decide now, just floating the idea out there
(03:15:12 PM) zlatinb: eot on 1
(03:15:33 PM) zzz: no objections on 1
(03:15:56 PM) eyedeekay: Sounds like an interesting experiment to try at least, it doesn't seem like it could do any harm
(03:16:12 PM) eyedeekay: If all the successful builds are so short
(03:16:13 PM) zlatinb: 2: JNA - we'll definitely need to add JNA to the windows easy install bundle in order to elevate priviledge during auto-update. ProcessBuilder fails if the process requires elevation.
(03:16:20 PM) zzz: although I'd like to see data over a longer time period before we pick the new number
(03:16:25 PM) zlatinb: sure
(03:16:42 PM) zzz: please back up and define JNA
(03:16:43 PM) zlatinb: (back to 1) I'll leave a router running with logging enabled
(03:17:12 PM) zlatinb: (back to 2): JNA is Java Native A-something but it's basically a Java wrapper of native windows linux and mac libraries
(03:17:27 PM) zlatinb: so instead of writing native code you write java code
(03:17:52 PM) zlatinb: two jars combined size 3MB, compressed with LZMA down to 2MB
(03:18:11 PM) zzz: please back up and elaborate on the problem and how prevalent it is
(03:18:38 PM) zlatinb: while testing silent updates in muwire I saw that ProcessBuilder fails to launch an installer with an "priviledge elevation required" or some such
(03:19:07 PM) zzz: windows-only problem?
(03:19:12 PM) zlatinb: googling revealed that it is not possible to do so with ProcessBuilder
(03:19:36 PM) zlatinb: yes windows-only for now
(03:19:40 PM) eyedeekay: It doesn't seem to be happening on the Windows Easy-Install to me, is that because NSIS is asking for the elevated privileges and not Java?
(03:20:02 PM) zlatinb: NSIS is asking
(03:20:16 PM) zlatinb: if you already run the java with priviledge then it won't ask
(03:20:22 PM) zlatinb: privilege*
(03:20:28 PM) zzz: yeah that's my question, windows easy-install has been in beta for months and months, is this a muwire-only problem?
(03:20:48 PM) eyedeekay: Oh OK, then it will start happening before the next update with ShellExecAsUser
(03:21:15 PM) zlatinb: do you elevate if launched not from installer eyedeekay?
(03:21:48 PM) zlatinb: I don't remember seeing an elevation prompt
(03:22:12 PM) zlatinb: so it should be happening with windows easy-install if launched from desktop shortcut, not as a last step of an installer
(03:22:14 PM) eyedeekay: No I don't, it runs as the user running the batch script, but only if I2P isn't already running, presumably as an admin
(03:22:52 PM) zzz: so, before we can start talking about a solution for our easy-install windows bundle, let's verify there is a problem
(03:22:57 PM) eyedeekay: It does not shut down the router with the browser
(03:23:35 PM) eyedeekay: I'm inclined to believe that there will be, but will confirm later this week
(03:23:36 PM) zlatinb: so if the user doesn't uncheck the "launch i2p now" checkbox and leave the router running, it will run as privileged and not prompt on update
(03:23:43 PM) zlatinb: ok
(03:24:22 PM) zlatinb: either way, with 1.7.0 the router is launched as non-privileged even if launched from the installer
(03:24:39 PM) zzz: and while you can follow your own rules in muwire, any solution in our official products will have to be vetted for suitability, maintenance, license compatibility, etc
(03:24:57 PM) zlatinb: Apache 2.0
(03:25:45 PM) zlatinb: looking forward JNA allows us to do anything we like with windows APIs really.. register shell extensions, URI handlers, all that good stuff
(03:25:57 PM) zlatinb: eot on 2
(03:26:35 PM) zzz: let's get a couple cycles in on the easy-install auto-updater, which apparently has never worked?
(03:27:13 PM) zzz: you don't have to wait for a i2p release, just put in a new java, or change something else. let's work out the bugs a little faster
(03:27:14 PM) eyedeekay: It was broken, then fixed, now apparently it will break again on the next update
(03:27:55 PM) eyedeekay: But the other solution from my side would be to change the installer so it no longer uses %ProgramFiles% and installs somewhere unprivileged
(03:28:09 PM) zzz: do a release every week until it's working smoothly. obviously the 3-month pace isn't fast enough to converge on something that works
(03:28:32 PM) eyedeekay: Can do
(03:29:53 PM) eyedeekay: Thanks for bringing these up for us zlatinb, anything else on 3?
(03:29:58 PM) zzz: and that will give us data on the extent of the privileges problem, if any
(03:30:00 PM) zzz: eot
(03:30:21 PM) zlatinb: no, eot from me
(03:30:57 PM) eyedeekay: All right anything else for the meeting? timeout 1m
(03:31:16 PM) zzz: also, use the news to tell your beta testers if the update is broken and they need to re-download
(03:31:35 PM) eyedeekay: will do
(03:32:05 PM) zzz: you both have your own news feeds, but aren't using it to talk to your users, you're just relying on my news entries? you should start testing/using that feature
(03:32:11 PM) zzz: eot
(03:34:07 PM) eyedeekay: Can do, in the past I added the i2p.firefox changelog
(03:34:54 PM) eyedeekay: Thanks for coming to the meeting everybody, looks like I've got a lot of work to do, see you all around IRC

View File

@ -0,0 +1,11 @@
I2P dev meeting, March 1, 2022 @ 20:00 UTC
==========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,90 @@
(04:00:32 PM) eyedeekay: Hi everyone welcome to the April dev meeting, agenda for today:
(04:00:32 PM) eyedeekay: 1. Hi
(04:00:32 PM) eyedeekay: 2. Release Status (1.7.0 / 0.9.53)
(04:00:32 PM) eyedeekay: 3. Development Status (1.8.0 / 0.9.54)
(04:00:32 PM) eyedeekay: 4. JNA in easy-install bundles, what doors does it open?
(04:00:42 PM) eyedeekay: 1. Hi
(04:00:47 PM) zlatinb: hi
(04:00:50 PM) zzz: hi
(04:01:18 PM) eyedeekay: Hi zlatinb, hi zzz
(04:01:27 PM) eyedeekay: Anybody else here today?
(04:01:45 PM) eyedeekay: 2. Release Status (1.7.0 / 0.9.53)
(04:02:52 PM) eyedeekay: 1.7.0 has been out for about 6 weeks now, updates from last month for me are that all the Android packages are successfully deployed and the bug that was discovered at release time is now fixed
(04:03:28 PM) eyedeekay: As usual, the packages in Debian's main repositories haven't seen an update, if you're still using them please switch to deb.i2p2.de/.no as soon as possible
(04:04:23 PM) zzz: re: Debian, I did find a volunteer to get 0.9.48 fixed and reinstated into Sid. that's done
(04:04:46 PM) zzz: whether it will automatically trickle back into bullseye and ubuntu, no idea
(04:05:00 PM) zzz: still no luck finding a new maintainer
(04:05:01 PM) zzz: eot
(04:05:08 PM) eyedeekay: Thanks
(04:05:51 PM) eyedeekay: I have one more, this overlaps 2 and 3 and 4 actually but Easy-install bundles for Windows will still require one more manual update
(04:06:25 PM) zzz: have you made progress since last meeting?
(04:06:30 PM) eyedeekay: Considerable yes
(04:07:15 PM) eyedeekay: Most of it is part of this MR, : https://i2pgit.org/i2p-hackers/i2p.firefox/-/merge_requests/6/diffs#10d851887651eddb01e5952f08999080b019da2e
(04:07:35 PM) zzz: great. you have a target date for when you will propose transition out of beta?
(04:08:02 PM) eyedeekay: As soon as users receive an automatic update I will consider it ready
(04:08:22 PM) zzz: thanks
(04:08:47 PM) eyedeekay: Anything else on 2?
(04:09:33 PM) eyedeekay: 3. Development Status (1.8.0 / 0.9.54)
(04:10:03 PM) zzz: (no, all good, haven't heard any complaints on 1.7.0)
(04:10:21 PM) eyedeekay: Me either, people seem to be pretty happy with it so far
(04:12:12 PM) eyedeekay: As for 3. Development Status (1.8.0 / 0.9.54) Unfortunately I've been a lot slower at some things than I expected, I'm stuck on UDP tunnels but almost ready for an MR on SAM authentication
(04:12:38 PM) eyedeekay: Besides that I'm doing some revisions to the complicated bandwidth wizard pages to make the selection process more understandable and the notifications more noticable
(04:12:52 PM) eyedeekay: We're about 6 weeks in with 7 weeks to go, right zzz?
(04:13:02 PM) zzz: right
(04:13:31 PM) eyedeekay: Do you want to update us on SSU2 or anything else you've been working on?
(04:13:46 PM) zzz: 13 weeks would be a May 23 release
(04:13:53 PM) zzz: yes, thanks
(04:14:01 PM) zzz: enormous progress with i2pd on SSU 2
(04:14:03 PM) mode (+v anonymousmaybe) by ChanServ
(04:14:17 PM) zzz: live testing happening in the network now
(04:14:40 PM) zzz: other things coming in the release: snark standalone improvements, router family fixes
(04:14:49 PM) zzz: an SSU 1 performance fix
(04:15:15 PM) zzz: things should slow down soon on SSU 2, and I'll be turning to some more bug fixes all over
(04:15:23 PM) zzz: eot
(04:16:04 PM) eyedeekay: Awesome, thanks for the updates zzz
(04:16:37 PM) eyedeekay: zlatinb anything you want to talk about for this topic before we get to 4?
(04:16:55 PM) zlatinb: I guess the reduction in tunnel build timeout should result in faster bootup
(04:17:11 PM) zlatinb: or faster 0-to-Router.isRunning()
(04:17:20 PM) zlatinb: that's all eot
(04:17:38 PM) eyedeekay: Thanks zlatinb, that will make people happy :)
(04:17:56 PM) eyedeekay: 4. JNA in easy-install bundles, what doors does it open?
(04:18:15 PM) eyedeekay: zlatinb this was your topic but I have a lot of notes on it too, do you want to start?
(04:18:24 PM) zlatinb: sure.
(04:18:34 PM) zlatinb: Basically MR 6 adds the JNA libraries to the windows easy-install bundle
(04:18:49 PM) zlatinb: which just today I learned wasn't necessary because of JEP 419 (which is built-in JNA replacement)
(04:19:12 PM) zlatinb: but the overall point is the same: since we need to do some native things, what other native things do we want to do?
(04:19:33 PM) eyedeekay: Sometimes we need to talk to power/batter management
(04:19:36 PM) eyedeekay: *battery
(04:19:57 PM) zlatinb: In MuWire I've implemented a "background priority" on windows, which according to the MSDN docs guarantees the process never interferes with foreground processes
(04:20:05 PM) zlatinb: yes, battery power management is another such thing
(04:20:17 PM) eyedeekay: I need to ask for admin rights in a conditional way, which isn't supported by NSIS itself
(04:20:21 PM) zlatinb: so yeah that's from me, just invitation to think native :)
(04:20:21 PM) zlatinb: eot
(04:21:22 PM) eyedeekay: So yeah we definitely have a few cases in mind where it might be useful to have something JNA-like
(04:22:41 PM) zlatinb: ok.. then the question is do we add any/all such functionality in the easy-install bundle and keep it outside of the core router package
(04:22:45 PM) zzz: sorry to be the party-pooper, but at last month's meeting, JNA was a possible solution to a single problem (privilege) on Windows only
(04:23:08 PM) zzz: and today we're at "it's definitely the solution for many problems, what other fun stuff can we do with it" ?
(04:23:18 PM) zlatinb: yeah that's the party theme lol
(04:23:34 PM) zzz: which is both a leap and typical solution-looking-for-a-problem
(04:24:31 PM) zlatinb: that's one way to look at it, I think it (JNA / JEP 419) can make I2P better in many ways
(04:25:14 PM) zlatinb: on many platforms
(04:25:14 PM) zlatinb: I've just scratched the surface on windows tbh
(04:25:28 PM) zzz: so JNA has not been decided on?
(04:25:28 PM) zlatinb: JNA has the benefit of being backwards compatible down to java 1.4, JEP 419 is only in JDK 18
(04:25:51 PM) zlatinb: I would say both are on the table, with JNA having some headstart
(04:26:37 PM) zzz: 419 is "incubator" status meaning it could vanish, don't count on it
(04:27:07 PM) eyedeekay: I'm pro-JNA because being able to control installer privs solves at least 2 problems for me and gives me the power to install to/run entirely from flash drives
(04:27:46 PM) eyedeekay: I don't want to lose that to a project being unready or abandoned
(04:29:03 PM) eyedeekay: So I guess pro-JNA, hesitant on 419 from me
(04:29:54 PM) zlatinb: well 419 with a slightly different api is already in JDK 17 which is LTS, but I won't have a strong opinion until it's out of incubation
(04:30:00 PM) zzz: we should continue to keep an eye out for the best tools to solve the problems we have now... daydreaming what else we could do with it isn't so important
(04:31:10 PM) zzz: going out of the JVM is always going to be messy and less maintainable, to be used only if really necessary, no matter what mechanism is used
(04:33:14 PM) zlatinb: Nobody disagrees with that, but I think we shouldn't stop ourselves from dreaming big
(04:33:38 PM) zlatinb: integrating with the windows shell or power management on laptops sounds awfully nice to me
(04:34:18 PM) zlatinb: that should be possible on linux laptops as well btw
(04:34:33 PM) eyedeekay: I'm still dreaming small TBH, flash-drive-portables were just a by-product of supporting adminless installs
(04:36:24 PM) eyedeekay: But if there's a non-JNA way of doing something then yeah we should probably try that first
(04:38:54 PM) eyedeekay: Anything else on 4?
(04:39:07 PM) zlatinb: not from me, eot
(04:40:26 PM) eyedeekay: Anything else for the meeting? timeout 1m
(04:41:43 PM) eyedeekay: All right thanks everybody for coming, looks like next month meeting will be May 3rd

View File

@ -0,0 +1,11 @@
I2P dev meeting, April 5, 2022 @ 20:00 UTC
==========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,28 @@
(03:48:58 PM) eyedeekay: It would seem not, I'll have a look at gitlab's bugtracker and see if I can find an explanation
(04:00:03 PM) eyedeekay: Hi everyone, welcome to the development meeting
(04:00:03 PM) eyedeekay: 1. Hi
(04:00:03 PM) eyedeekay: 2. Release Date
(04:00:03 PM) eyedeekay: 3. Development Status (1.8.0 / 0.9.54)
(04:00:05 PM) eyedeekay: hi
(04:00:13 PM) zlatinb: hi
(04:00:17 PM) zzz: hello
(04:00:45 PM) eyedeekay: 2. Release date
(04:01:16 PM) eyedeekay: We need to decide on one, tentatively it's been the 23rd for a while, that works for me if it works for everybody else?
(04:01:43 PM) zzz: that would be 13 weeks, fine with me
(04:02:01 PM) zzz: need approval from eche|off eche|on if he's here
(04:03:04 PM) eyedeekay: looks like not but I can email him after the meeting
(04:04:00 PM) eyedeekay: looking like the 23rd pending email to ech
(04:04:09 PM) eyedeekay: Anything else for 2?
(04:04:58 PM) eyedeekay: 3. Development Status (1.8.0 / 0.9.54)
(04:07:41 PM) eyedeekay: We're definitely less than a month from releasing 1.8.0/0.9.54 in any case, with lots of it being preparation/implementation for SSU2 by zzz
(04:08:42 PM) eyedeekay: Big changes should be done soon, and tag freeze is on the 11th so translations must be in by then
(04:09:28 PM) eyedeekay: /translations/strings
(04:09:58 PM) eyedeekay: zzz, zlatinb anything to add on this topic?
(04:10:44 PM) zzz: not much, I'm pretty much done, will be chasing a few minor things on my list in the next couple weeks
(04:11:02 PM) zlatinb: nothing from me
(04:11:03 PM) zzz: any new ssu2 stuff I'll probably either hold off or stick in a branch
(04:11:11 PM) zzz: eot
(04:12:05 PM) eyedeekay: thanks guys
(04:12:49 PM) eyedeekay: Anything else for the meeting? Last-minute topics? timeout 1m
(04:14:13 PM) eyedeekay: All right, quick meeting today
(04:14:33 PM) eyedeekay: Thanks everyone for coming, I'll email echelon then post the logs

View File

@ -0,0 +1,11 @@
I2P dev meeting, May 3, 2022 @ 20:00 UTC
========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,60 @@
(04:00:41 PM) eyedeekay: Hi everybody and welcome to the June 7 meeting
(04:00:41 PM) eyedeekay: 1. Hi
(04:00:41 PM) eyedeekay: 2. 1.8.0 release status
(04:00:41 PM) eyedeekay: 3. 1.9.0 development status
(04:00:41 PM) eyedeekay: 4. MoneroKon 2022
(04:01:23 PM) zzz: hi
(04:01:27 PM) zlatinb: hi
(04:01:52 PM) eyedeekay: Hi guys, anybody else here or any topics to add?
(04:03:26 PM) eyedeekay: I'll get us started on 1.8.0 release status then
(04:04:29 PM) eyedeekay: Maven and I2P Easy-Install bundle for Windows were released shortly after the main 1.8.0 release occurred without incident, the I2P Easy-Install bundle got it's first successful automatic update as well
(04:05:12 PM) eyedeekay: The Android release was delayed by about 5 days because I had to change it to avoid asking for a new gated permission from google to release on gplay
(04:05:37 PM) eyedeekay: zzz do you want to apprise us of the main release and debian and then zlatinb, OSX easy install bundle?
(04:06:37 PM) zzz: two weeks since the release, all looks good, haven't heard any complaints
(04:07:01 PM) zzz: about 25% of the network has updated. BiglyBT release should be out shortly, that will give us a big jump
(04:07:01 PM) zzz: that's all I have unless anybody has questions
(04:07:03 PM) mode (-m ) by zzz
(04:07:07 PM) zlatinb: same here, only difference from earlier release is that the Mac bundle includes GPLv2+Classpath license
(04:07:29 PM) eyedeekay: Thanks guys, anything else on this topic?
(04:08:26 PM) eyedeekay: 3. 1.9.0 development status
(04:11:01 PM) eyedeekay: 2 weeks from release we're also 2 weeks into 1.9.0, zzz has been hard at work on ssu2 with orignal, if he wants to give us an update on that
(04:11:22 PM) zzz: thanks
(04:11:31 PM) zzz: we're getting wider testing of SSU2
(04:11:50 PM) zzz: I encourage people who are willing and able, to enable it, and keep up to date with development builds
(04:11:58 PM) anonymousmaybe is now known as Irc2PGuest25323
(04:12:00 PM) zzz: we're still finding bugs in the basic protocol
(04:12:20 PM) zzz: and we're continuing implementation of relay and peer test, which are like sub-protocols
(04:12:41 PM) zzz: fixing other non-ssu2 bugs along the way
(04:12:54 PM) zzz: eyedeekay, you and I need to update the roadmap both for the past release and the next one
(04:13:13 PM) zzz: EOT unless there's any questions
(04:13:23 PM) eyedeekay: Yes indeed, I've got some stuff to move to 1.9.0
(04:13:50 PM) eyedeekay: for me my main goal in Java is to finish UDP tunnels in HSM, that's one of the things that moves to 1.9.0
(04:14:10 PM) eyedeekay: otherwise my immediate goal is to work on NTCP2 in go-i2p, which will probably be hard work but I'm excited to get started
(04:14:18 PM) eyedeekay: EOT for me as well
(04:14:48 PM) zzz: ok, as usual, target big changes to go in early in the cycle please
(04:15:06 PM) eyedeekay: Will do
(04:15:13 PM) eyedeekay: Anything else for 3?
(04:15:35 PM) zzz: nope, let's plan for a release in late August
(04:15:44 PM) eyedeekay: 4. MoneroKon 2022
(04:16:36 PM) eyedeekay: This one is just an announcement, there is going to be quite a bit of I2P related stuff happening at Monero Konferenco 2022 in less than 2 weeks, the 18th and 19th
(04:17:10 PM) zzz: Lisbon, correct?
(04:17:22 PM) eyedeekay: Yes Lisbon
(04:17:54 PM) eyedeekay: But people who aren't in Lisbon are able to stream it from the web site for the conference, https://monerokon.com
(04:17:58 PM) zzz: I'd like to plug the two students sponsored by diva.exchange that will be giving a presentation on their research there
(04:18:17 PM) zzz: you have a workshop also? what about?
(04:18:35 PM) eyedeekay: I'm going to be there to run a workshop on adapting applications to the I2P network
(04:19:29 PM) eyedeekay: I'm going to present on the decisions people need to make when selecting an API, how to find a router, how to build an I2P plugin
(04:19:40 PM) zzz: fantastic. there's going to be a lot of I2P brainpower there to help people and answer questions, I hope you get a good turnout
(04:19:51 PM) anonymousmaybe is now known as Irc2PGuest29437
(04:20:28 PM) eyedeekay: I hope so too, it's my favorite topic :)
(04:21:45 PM) eyedeekay: zlatinb is going to be there as well, so if you can please come see us
(04:22:28 PM) eyedeekay: That's all I've got for 4, anything else for the meeting?
(04:23:55 PM) eyedeekay: All right thanks everybody for coming, same time next month
(04:24:59 PM) obscuratus: eyedeekay: Are they going to stream your workshop?
(04:25:53 PM) eyedeekay: I'm not sure, I'll make all the materials open/permissively licensed regardless
(04:26:24 PM) obscuratus: Neat topic. If they stream it, or if you can post a video later, I'll watch it.
(04:26:32 PM) eyedeekay: I believe the box I marked on the form was that I did consent to be streamed
(04:27:34 PM) zzz: eyedeekay, the times on your reddit post are lisbon local?
(04:27:58 PM) eyedeekay: Yes the schedule on the monerokon website are UTC+1 which is Lisbon Local
(04:28:39 PM) eyedeekay: *times on the monerokon website
(04:29:07 PM) zzz: ok so 5 hours ahead of eastern, so the students are on at 5:30 AM

View File

@ -0,0 +1,11 @@
I2P dev meeting, June 7, 2022 @ 20:00 UTC
=========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,119 @@
(04:00:14 PM) eyedeekay: Hi everybody, welcome to the July 5 Meeting
(04:00:14 PM) eyedeekay: 1. Hi
(04:00:14 PM) eyedeekay: 2. 1.9.0 development status
(04:00:14 PM) eyedeekay: 3. Support for Apple Silicon in the Mac easy-install bundle
(04:00:14 PM) eyedeekay: 4. Windows easy-install bundle - out of beta?
(04:00:32 PM) zzz: hi
(04:00:35 PM) zlatinb: hi
(04:00:44 PM) mode (-m ) by zzz
(04:00:55 PM) eyedeekay: Hi guys, anybody else here today?
(04:01:30 PM) eyedeekay: Moving right into 2. 1.9.0 development status
(04:04:27 PM) eyedeekay: We are at a little less than 6 weeks in I think, approx. 7 to go
(04:04:27 PM) eyedeekay: zzz and orignal have been working hard on the implementation of SSU2 in i2p.i2p and i2pd
(04:04:27 PM) eyedeekay: It won't be activated in 1.9.0 but if I understand correctly it's nearly done
(04:04:27 PM) eyedeekay: I've been working on UDP tunnels again, mostly there but something's broken still, I'll probably need to ask zzz for help this week
(04:04:50 PM) eyedeekay: zzz zlatinb anything else to add
(04:05:09 PM) zzz: that's right, ssu2 is mostly working
(04:05:17 PM) zzz: still fixing small bugs
(04:06:03 PM) zzz: right now I'm working on making tunnel peer selection more efficient (unrelated to ssu2)
(04:06:03 PM) zzz: other than that, just doing the usual bug fixing
(04:06:06 PM) zzz: targeting a late august release
(04:06:08 PM) zzz: EOT
(04:06:48 PM) eyedeekay: Anyone interested in helping test should visit zzz's forum for instructions and to give feedback: http://zzz.i2p/topics/3314-how-to-enable-ssu2-in-i2p-1-8-0
(04:07:00 PM) eyedeekay: 3. Support for Apple Silicon in the Mac easy-install bundle
(04:07:27 PM) eyedeekay: zlatinb this is your topic, take your time
(04:08:11 PM) zlatinb: hi, the big issue was jbigi but that is now solved via backporting the x18 register patch
(04:08:59 PM) eyedeekay: So the easy-install bundle no longer needs to run on the emulated x86_64 mode?
(04:09:15 PM) zlatinb: I would like to put up an official and notarized beta around end of july
(04:09:42 PM) zlatinb: it has to be a separate download
(04:09:46 PM) zzz: this would be a second bundle. we'd have two, one for x86 and one for arm
(04:10:29 PM) zzz: I'm in favor, as it appears the extra dev effort would be small, and the speedup is large. Right?
(04:10:37 PM) zlatinb: there is a caveat with updates when switching between bundle4s
(04:12:21 PM) zzz: sure, as long as there's instructions on how to switch, even if it's as simple as uninstall and reinstall, that should be fine
(04:13:01 PM) zlatinb: i'll put them on /download/mac
(04:13:23 PM) zlatinb: the news url needs to be changed manually
(04:13:51 PM) zzz: the dev effort is small and the speedup is large, correct?
(04:14:36 PM) zlatinb: speedup is there, also looks good to keep up with the times :) dev effort except for notarization is small
(04:14:48 PM) zzz: great. +1
(04:14:54 PM) eyedeekay: +1
(04:15:07 PM) zlatinb: thx EOT
(04:16:02 PM) eyedeekay: Thanks zlatinb
(04:16:02 PM) eyedeekay: 4. Windows easy-install bundle - out of beta?
(04:16:35 PM) eyedeekay: I said ~3 months ago that I would be ready to move the easy-install bundle out-of-beta when I had a successful end-to-end update
(04:18:05 PM) eyedeekay: I got that at 1.7.2 IIRC, but between 1.7.2 and 1.8.0 there were a number of bugs in how it worked when used with an external I2P router(i.e. a non-jpackaged router) in this situation the bundle is intended to work as a firefox-launcher only but this functionality was broken from 1.7.3-1.7.6
(04:18:30 PM) eyedeekay: So I pushed it back again, but now I'm sure that all of the issues with running in both bundled and non-bundled modes are resolved
(04:19:38 PM) eyedeekay: So I think it's finally ready to move out of beta, all the core functionality I thought was necessary has been established
(04:20:49 PM) zzz: here's some things that may still need to be resolved:
(04:21:18 PM) zzz: - is it just you that is successfully updating or are there other users that are also?
(04:21:43 PM) zzz: - license requirements all met now?
(04:22:27 PM) zzz: - are the windows bundle and the mac bundle now on the same JRE and roughly same release schedules?
(04:22:58 PM) zzz: -- i.e. prepared for the 3-monthly JRE releases
(04:23:22 PM) zzz: - and the usual question, do we have the resources to support this as an official product
(04:23:49 PM) zzz: - also, are we removing the non-bundle download like we did for mac? or not?
(04:23:51 PM) zzz: eot
(04:25:46 PM) eyedeekay: License requirements are now fixed
(04:25:46 PM) eyedeekay: I don't get a lot of feedback but at least 2 non-me updaters
(04:25:46 PM) eyedeekay: I am sticking to LTS JRE, I think zlatinb is doing 18, but yes we are on the same schedule more-or-less
(04:25:46 PM) eyedeekay: I do not think the resources required to work on the bundle are extensive, the hardest part is getting the build set up and it's not that hard, small investment now that it all works
(04:25:46 PM) eyedeekay: I kind of want to remove the non-bundled download or possibly make it an "advanced installation" procedure
(04:28:14 PM) zzz: - I don't think 2 non-you updaters is enough testers to declare it non-beta. Can you pimp it more on reddit or something?
(04:28:25 PM) eyedeekay: Sure can do
(04:28:43 PM) eyedeekay: I'm not in a hurry to rush it out
(04:29:18 PM) zzz: - I'd like to see win and mac on the same JRE. Let's consolidate. I don't know which of you is right, but one of you is
(04:29:29 PM) zzz: can you two come to an agreement?
(04:29:43 PM) zzz: or are there reasons to be different?
(04:30:01 PM) eyedeekay: I'm not married to my decision, I chose LTS strictly because of the statement "LTS"
(04:30:57 PM) zzz: to be clear, not just the same version, but the same JRE supplier
(04:31:10 PM) zzz: this will reduce the CVE review required every 3 months
(04:31:14 PM) eyedeekay: We're both using Oracle right now to my knowledge
(04:31:34 PM) eyedeekay: The only vendor with a similar update cycle is Amazon
(04:31:49 PM) eyedeekay: I'd rather use Oracle than Amazon I think
(04:33:16 PM) zzz: you two should be making these decisions together and in sync. I don't know why you're not and it sounds like you don't know either? :)
(04:35:22 PM) eyedeekay: No I don't know. We did discuss vendors and update cycles at a couple points which is when we landed on Oracle due to releases being very quick compared to CVE's, but I don't know why I'm on 17 and zlatinb's on 18 now
(04:36:27 PM) zlatinb: I don't remember the exact reason either
(04:36:59 PM) zlatinb: maybe I wanted to test the ram reductions
(04:37:28 PM) zzz: ok. I'm in favor of it coming out of beta, but let's get on the same JRE, get some more testing first and come back to us in a month or two
(04:38:11 PM) zzz: I also want to think more about whether to remove the standard installer, maybe even worth a separate meeting about that
(04:40:28 PM) zzz: eot
(04:40:28 PM) eyedeekay: Re: actual reasons, perhaps a discussion for another time but I know the reason I'm on Oracle/17 is because I needed to pick a vendor who would respond to CVE's in less than 24 hours and because I wanted to ensure that I would have stability in terms of what I could expect from the API's and the JVM. I didn't really consider other reasons
(04:40:28 PM) eyedeekay: Based on a sample of 1 event, I assessed that Oracle and Amazon were the fastest to release an update.
(04:40:28 PM) eyedeekay: I considered Amazon because they are packaged in chocolatey which makes life on Windows a lot easier, but decided on Oracle instead
(04:41:54 PM) eyedeekay: So that's how I landed on Oracle/17, basically out of caution
(04:41:56 PM) eyedeekay: eot
(04:41:57 PM) zlatinb: I can go down to 17 but really prefer to stick to oracle
(04:42:18 PM) eyedeekay: So would I, so we're agreed
(04:42:48 PM) zlatinb: on a related note i'll be afk until a week after the next jre release
(04:43:28 PM) eyedeekay: Will we/can we make any arrangement for signing the bundles?
(04:43:32 PM) zzz: I think you need 18 for the best apple arm support? if so then let's drag windows up to 18 also. But again, you two shouldn't be doing JRE vendor research and selection in separate silos. work together and decide together
(04:43:32 PM) zlatinb: hopefully there won't be any urgent fixes
(04:44:22 PM) zzz: we have limited resources, let's not do stuff twice for no reason
(04:44:23 PM) zlatinb: signing requires deanon
(04:44:28 PM) eyedeekay: I can push an unsigned bundle and tell people that they'll need to click through the pop-up in the news if need be
(04:44:52 PM) eyedeekay: Still signed `su3` just not signed `exe`
(04:45:21 PM) zlatinb: can't "click-through" on mac
(04:45:31 PM) zlatinb: oh the exe signing is fine
(04:45:50 PM) zlatinb: we'\ll do it as usual
(04:46:41 PM) eyedeekay: OK then. Let me know if there's anything I can do(less rapidly deanoning) to help
(04:47:39 PM) zlatinb: Nothing really other than take down the mac download page in the worst case
(04:47:55 PM) eyedeekay: Well you have my signal number if you need me to do it
(04:48:23 PM) zlatinb: ok. it would be for a week at most
(04:48:52 PM) zzz: eyedeekay, you're not setting the news URL in the feed, search for CHANGEME_URL_HERE :)
(04:49:19 PM) eyedeekay: OMG I can't believe I missed that
(04:49:29 PM) eyedeekay: Will do
(04:49:32 PM) zzz: i put that in there a while back so you'd remember, I guess it didn't work (((
(04:50:20 PM) eyedeekay: Re: Java 18 and Apple hardware, zzz just mentioned that 18 may have better support? If that's the case than that would be a thing I didn't know before and a reason to use 18 instead, can you confirm that?
(04:51:39 PM) zlatinb: haven't done my homework on that sorry
(04:51:53 PM) zzz: maybe a wild guess on my part, but don't need to decide in this meeting
(04:52:17 PM) zlatinb: but if linux arm support is any indication it's very likely
(04:52:34 PM) zlatinb: history of*
(04:52:45 PM) zzz: but in general, newer is better, so isn't the point of bundling the JRE in a "easy bundle" is to have the latest?
(04:53:19 PM) eyedeekay: I don't know, sometimes stable is better, and sometimes "easy" is somewhere in between
(04:53:55 PM) zzz: that's why putting a LTS in a bundle doesn't make sense to me.
(04:58:29 PM) eyedeekay: Probably won't settle it today, but maybe I'm wrong about 17. zlatinb do you have a time that would be good this week to hammer out the 17/18 debate?
(05:00:05 PM) zlatinb: generally any time is good and also bad because of my injury unless you want to get on a call
(05:01:05 PM) eyedeekay: I'm happy to get on a call, we can figure out a time in private
(05:01:18 PM) zlatinb: ack
(05:01:43 PM) eyedeekay: Anything else for 4?
(05:01:48 PM) eyedeekay: Or for the meeting?
(05:01:53 PM) eyedeekay: Timeout 1m
(05:03:46 PM) eyedeekay: All right thanks everybody for coming

View File

@ -0,0 +1,11 @@
I2P dev meeting, July 5, 2022 @ 20:00 UTC
=========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,230 @@
(04:18:08 PM) eyedeekay: 1. Hi
(04:18:08 PM) eyedeekay: 2. 1.9.0 development status
(04:18:08 PM) eyedeekay: 3. Apple silicon bundle status
(04:18:08 PM) eyedeekay: 4. Letter to EFF to clarify what "running" a network means
(04:18:08 PM) eyedeekay: 5. New Outproxy ref: http://zzz.i2p/topics/3254
(04:18:08 PM) eyedeekay: a) Organizational and infrastructure overview (StormyCloud)
(04:18:08 PM) eyedeekay: b) Technical review and test results (zzz and others)
(04:18:08 PM) eyedeekay: c) ToS and log policy review http://stormycloud.i2p/outproxy.html (all)
(04:18:08 PM) eyedeekay: d) Vote to approve (all)
(04:18:08 PM) eyedeekay: e) Rollout plan (if approved) (zzz, StormyCloud)
(04:19:11 PM) eyedeekay: zzz zlatinb you guys here?
(04:19:24 PM) zzz: hi
(04:19:27 PM) zlatinb: hi yes
(04:20:11 PM) eyedeekay: Sorry about that again, had a cooking accident
(04:20:12 PM) eyedeekay: 2. 1.9.0 development status
(04:21:23 PM) eyedeekay: We're 3 weeks from release, we pretty much settled on a date for it at ls2 meeting yesterday, it's going to be the 22nd. i2pd and/or Java I2P may enable SSU2 for new installs, or a small percentage of the network on restart like for router rekeying
(04:22:21 PM) eyedeekay: 3 weeks left for bug reports and bug fixes
(04:22:47 PM) eyedeekay: Anything else to add zzz, zlatinb?
(04:23:54 PM) eyedeekay: 3. Apple silicon bundle status
(04:23:54 PM) eyedeekay: zlatinb this one is your, please start when you are ready
(04:24:23 PM) not_bob_afk is now known as not_bob
(04:25:23 PM) zzz: let me add a little on 2) please
(04:25:30 PM) SilicaRice: is SSU2 officially stable? :o
(04:25:35 PM) eyedeekay: Ok go ahead, sorry did not mean to rush
(04:25:46 PM) zzz: lag
(04:25:59 PM) zzz: tag freeze will be Aug. 10, a week from tomorrow
(04:26:17 PM) zzz: the SSU2 testers have been very helpful, about 50-75 of them on the network
(04:26:36 PM) zzz: our goal is to enable it for a few hundred to a thousand routers in the this release
(04:26:53 PM) zzz: to help us shake out the remaining bugs, while avoiding any chance of disaster
(04:27:19 PM) zzz: and we'll enable it for everybody in the November release
(04:27:33 PM) SilicaRice: ahh :3
(04:27:47 PM) zzz: everything else is going smoothly as well, just the usual bug fixes all over
(04:28:13 PM) zzz: SSU2 is mostly finished, that doesn't mean it's mostly perfect yet
(04:28:30 PM) zzz: shout out also to the i2pd team, they're working hard also
(04:28:42 PM) zzz: I guess that's it unless there's any questions
(04:28:56 PM) not_bob: Will the update also effect the android build?
(04:29:46 PM) eyedeekay: I don't change any settings, SSU2 will technically be available but there won't be a UI to enable it
(04:30:34 PM) eyedeekay: It just inherits defaults from i2p.i2p except where it has to to run on the Android environment
(04:30:36 PM) zzz: sure. We may also just enable SSU2 for all Android, since it's so much less CPU than SSU1 w/ ElGamal
(04:30:36 PM) not_bob: Good, good.
(04:30:36 PM) zzz: that's what i2pd is thinking, we may do the same
(04:30:36 PM) zzz: yeah, we're not going to put an option in the UI and then lobby like crazy for people to enable it
(04:30:36 PM) zzz: we'd never get the numbers we want
(04:30:36 PM) not_bob: Can we get an option to enable it if desired? Better battery life would be better.
(04:30:46 PM) zzz: there's an advanced config, see zzz.i2p for info
(04:30:53 PM) not_bob: Thank you.
(04:30:55 PM) zzz: not sure if Android has access to advanced cnofig?
(04:31:32 PM) eyedeekay: No it doesn't, you have to do weird stuff to make it work
(04:31:51 PM) eyedeekay: Pretty much devs-only to manually edit non-i2ptunnel config files on Android
(04:32:03 PM) not_bob: :(
(04:32:26 PM) zzz: ok. anyway, might be good to enable it for android anyway, because one of the last features we need to implement is handling IP changes, so mobile routers will help us develop and test test
(04:32:43 PM) not_bob: I vote for that.
(04:33:25 PM) zzz: ok. to be clear, nobody's going to notice any difference with SSU2. It's mostly the same feature set, and currently a little slower than SSU1, at least on Java. It's faster for i2pd
(04:33:47 PM) eyedeekay: Battery life is a huge deal if SSU2 will make a difference at that
(04:34:18 PM) eyedeekay: We could be worse about how much battery we use, but we could also be better
(04:34:37 PM) zzz: the benefits are more security, less CPU, more reliable firewall detection
(04:34:44 PM) zzz: I may write up a whole blog post about it, I think it's one of the most censorship-resistant protocols ever designed. We'll see
(04:35:01 PM) zzz: eot
(04:36:20 PM) eyedeekay: Thanks zzz. I think people are hearing "Less CPU" and instantly making an association "Easier on battery for Androids" which may be part of the interest
(04:36:35 PM) eyedeekay: 3. Apple silicon bundle status
(04:37:15 PM) eyedeekay: zlatinb this one's yours, go ahead when you're ready
(04:37:26 PM) zlatinb: Hi, I made the bundle available for download about 6 days ago and there have been almost 100 downloads since
(04:37:55 PM) zlatinb: about 30% of the mac users download the arm64 bundle which surprises me
(04:40:58 PM) zlatinb: No feedback anywhere yet, but with the last known bug fixed I think this should be ready for promotion to stable
(04:40:58 PM) zzz: the only thing I'd suggest is making sure the news feeds are up and working on both servers, by putting up a 'thanks for testing' news entry
(04:40:58 PM) zlatinb: I'm thinking to upgrade the 1.8 bundle to 1.9 when that becomes available to test the update channel although don't expect any issues
(04:40:58 PM) zlatinb: yes, can do that tomorrow after my right hand will be fully functional again (hopefully)
(04:40:58 PM) zlatinb: that's about it
(04:40:58 PM) zlatinb: eot
(04:42:08 PM) eyedeekay: Thanks zlatinb, if you choose to do a news entry let me know and I'll update the servers
(04:42:48 PM) eyedeekay: 4. Letter to EFF to clarify what "running" a network means
(04:43:28 PM) zzz: so I'd say after a successful update or news entry, stable is fine. I don't expect any issues either, but we've had plenty of news glitches before
(04:43:48 PM) zzz: but willing to hear other opinions ofc
(04:43:48 PM) zlatinb: the only real action for promoting to stable really is removing the "BETA" label from the website
(04:43:48 PM) uis is now known as Irc2PGuest3854
(04:43:48 PM) zzz: sure, it's more the principle than anything actually being different
(04:43:48 PM) zzz: let's be purposeful in our labeling, that's all
(04:44:07 PM) zlatinb: Yes, some background on that:
(04:44:10 PM) mode (+v T3s|4) by ChanServ
(04:44:34 PM) mode (+v albat) by ChanServ
(04:44:48 PM) mode (+v polistern) by ChanServ
(04:44:53 PM) zlatinb: eyedeekay and I met Kurt Opsahl from EFF at HOPE few weeks ago and asked him about legality of working on something like I2P
(04:45:43 PM) zlatinb: He said that writing code is fine because "code == speech", however "running" the network may be a different story
(04:46:21 PM) zlatinb: we didn't dig into what running the network means at HOPE
(04:46:56 PM) zlatinb: but I think it's a good idea to reach out and clarify the topic as much as possible
(04:47:41 PM) zzz: what would we do differently, based on conceivable responses?
(04:48:38 PM) zlatinb: I'm having very hard time conceiving the responses as it's a very broad topic
(04:48:44 PM) eyedeekay: It may inform who is able to run what services
(04:48:50 PM) zzz: whatever "running" we're doing, it's much less than their darling Tor, and how might we do even less?
(04:49:32 PM) eyedeekay: But I think one likely response is that running services to support a network is probably speech too
(04:49:53 PM) eyedeekay: That may be optimistic, but it's also the one that involves the least leaps
(04:50:20 PM) zzz: in my experience, ask a lawyer an informal question, you'll get good information. Send them a letter, they'll say they aren't licensed in your state, go hire somebody
(04:50:51 PM) zlatinb: no idea, maybe reseeds are fine and addressbooks are not, who knows, Too many possible permutations
(04:51:26 PM) zzz: if you want to follow up, follow up, but I've asked EFF for legal advice before, their answer is "we're not set up to be general purpose legal counsel. We litigate cases of interest"
(04:51:59 PM) eyedeekay: Maybe I can track down somebody for an informal question next week then. Can't hurt to try both
(04:52:38 PM) eyedeekay: Writing the letter would help inform the question
(04:53:14 PM) zzz: email Kurt. He gave you a vague answer, following up is reasonable. He's always been quite nice every time I talk to him
(04:54:00 PM) eyedeekay: Can do
(04:54:30 PM) zzz: I just wouldn't expect anything actionable, but who knows?
(04:54:32 PM) zlatinb: well it's worth structuring any such letter properly; also may be wise to build up the engagement gradually rather than dump a giant letter from the blue
(04:55:31 PM) eyedeekay: zlatinb do you want to set up a time to sync up and write that letter this week?
(04:55:34 PM) zlatinb: I suggest we start with a simple follow-up like "was nice to meet you" and then expand from there
(04:56:32 PM) zlatinb: currently I'm thinking we should not write a giant letter describing how i2p works until we get an ack that eff is willing to work with us
(04:56:42 PM) eyedeekay: OK
(04:56:59 PM) zlatinb: they may decide they want a retainer, who knows
(04:57:10 PM) zzz: see above. they don't do that
(04:57:48 PM) zzz: you're misunderstanding how they work
(04:58:06 PM) zlatinb: I'll shoot him a "was nice to meet you" follow up and cc you guys and take it from there.
(04:58:18 PM) zlatinb: if they can't help at all that's fine too
(04:59:15 PM) eyedeekay: Anything else for 4?
(04:59:23 PM) zlatinb: no, eot
(04:59:38 PM) eyedeekay: 5. New Outproxy ref: http://zzz.i2p/topics/3254
(04:59:38 PM) eyedeekay: a) Organizational and infrastructure overview (StormyCloud)
(04:59:38 PM) eyedeekay: b) Technical review and test results (zzz and others)
(04:59:38 PM) eyedeekay: c) ToS and log policy review http://stormycloud.i2p/outproxy.html (all)
(04:59:38 PM) eyedeekay: d) Vote to approve (all)
(04:59:38 PM) eyedeekay: e) Rollout plan (if approved) (zzz, StormyCloud)
(04:59:51 PM) eyedeekay: a) Organizational and infrastructure overview (StormyCloud)
(05:00:10 PM) zzz: StormyCloud, you here?
(05:00:21 PM) StormyCloud: Yes
(05:00:41 PM) zzz: this is a proposal to replace false.i2p, which was unreliable for years and is now dead
(05:00:56 PM) zzz: thanks for volunteering to support a replacement
(05:01:18 PM) zzz: please go ahead and give us a brief overview of your organization and your infrastructure
(05:01:45 PM) StormyCloud: Who we are: We are a 501(c)(3) non-profit organization based out of Texas. Our mission is to provide privacy-based tools to allow everyone access to an unfiltered and unregulated Internet. We started this organization in 2021 and have been working closely with the TOR community by deploying exit nodes.
(05:02:37 PM) StormyCloud: We own all of our hardware and currently colocate at a Tier 4 data center. As of now have a 10GBps uplink with the option to upgrade to 40GBps without the need for much change. We have our own ASN and IP space (IPv4 & IPv6).
(05:02:55 PM) StormyCloud: Outproxy Infrastructure: Outproxies are run on Ubuntu 22.04 and have been optimized for I2P. The backend proxy software is TinyProxy and supports HTTP, HTTPS, I2P, and TOR onion links. Currently, the outproxy is multi-homed on two servers. We can increase this number of servers as needed.
(05:04:03 PM) zzz: I want to invite everyone to ask questions of StormyCloud at any point as we go through the agenda
(05:04:15 PM) zzz: any questions at this time?
(05:04:26 PM) not_bob: Yes
(05:04:39 PM) not_bob: How do you deal with users who try to use your service for "really nasty stuff"?
(05:05:46 PM) StormyCloud: Nothing, we do not filter any requests. While that does invite "bad" users we feel the internet should be a free and open place.
(05:06:12 PM) R4SAS: And one from me: will be here SOCKS5 proxies in future?
(05:06:48 PM) StormyCloud: R4SAS: If there is a need for a SOCKS5 proxy I am sure we can get one deployed.
(05:07:01 PM) R4SAS: Thanks
(05:07:45 PM) zzz: any other questions on 5a) ?
(05:08:02 PM) not_bob: http://notbob.i2p/graphs/stormycloud.i2p.yearly.svg
(05:08:14 PM) not_bob: I just want to note that stormycloud has been great for uptime.
(05:08:56 PM) SilicaRice: the backend supports I2P links uh huh?
(05:08:57 PM) not_bob: And performance is great.
(05:09:29 PM) zzz: that brings us to 5b, yes
(05:09:29 PM) zzz: the outproxy has been in beta for quite a while
(05:09:29 PM) zzz: testing should ensure that the service is reliable, meets applicable standards, and is secure
(05:10:00 PM) zzz: we've encountered several issues over the last few months, and StormyCloud has always been responsive
(05:10:13 PM) SilicaRice: (why would you run i2p links through an outproxy?)
(05:10:29 PM) zzz: at this time my test results are good, and I'm recommending it to be our official outproxy
(05:10:38 PM) dr|z3d: StormyCloud misspoke. there is no .i2p support.
(05:10:40 PM) zzz: but let's hear any other test reports or questions
(05:10:43 PM) StormyCloud: SilicaRice: My apologies I wrote that wrong
(05:11:03 PM) SilicaRice: oh okay
(05:12:00 PM) R4SAS: > We do not cooperate with any requests for information except where compelled by law, and in that event our ability to assist is limited by our logging policy.
(05:12:19 PM) R4SAS: Will be here transparency reports in such situations?
(05:12:45 PM) zzz: also, to be clear, this meeting is about Java I2P's default and recommendations. Any other project including i2pd may have their own processes and requirements and negotiations with the outproxy operator
(05:13:03 PM) StormyCloud: R4SAS: Yes, we public a report quarterly on our clearnet website. That is something I can also do on our i2p site.
(05:13:48 PM) zzz: ok, looks like we're on 5c) review of ToS and logging policies. The goal here is to ensure our users are protected.
(05:14:00 PM) R4SAS: also, please, create in-i2p mail for contacting =)
(05:14:03 PM) zzz: any comments or questions about the Tos?
(05:15:41 PM) R4SAS: ah, btw, about 5b: StormyCloud, what tunnel settings are you using?
(05:16:06 PM) R4SAS: length, amount, etc
(05:16:11 PM) dr|z3d: 0 hop.
(05:16:17 PM) eyedeekay: Everything it says looks pretty clear to me, although to follow up on what R4S4S it might be good to put a link to the transparency report in or after that > We do not... unless compelled by law section
(05:16:34 PM) zzz: an outproxy operator is in a position to view all traffic, or at least all non-https traffic, so it's important that we trust the operator to protect our users
(05:17:01 PM) StormyCloud: eyedeekay: Makes sense, ill get this added to the website
(05:17:09 PM) zzz: it's currently two multihomed 0-hop servers, right StormyCloud ?
(05:17:19 PM) StormyCloud: Correct
(05:17:42 PM) not_bob: But, just to clarify, with the way i2p tunnels work, my 2-3 hops are still there. You are just not adding any more, right?
(05:18:07 PM) dr|z3d: the client can configure as many hops as they wish, not_bob.
(05:18:12 PM) zzz: I also saw on zzz.i2p that it's ipv4-only but that may get fixed soon, right?
(05:18:13 PM) anonymousmaybe is now known as Irc2PGuest54486
(05:18:15 PM) not_bob: Yep, that's what I thought. Thank you.
(05:18:48 PM) StormyCloud: zzz: Correct, our upstream provider finished their upgrade. I didnt want to mess with IPv6 until all testing was done
(05:19:49 PM) zzz: would you please elaborate on your experience running tor exits and the capacity of your tor exits?
(05:21:00 PM) StormyCloud: Sure, we have been running tor exit since late last year, currently sitting at 130ish exits with about 1.6% of TOR exit traffic going through our servers.
(05:21:49 PM) StormyCloud: Everything is virtualized and the process to setup has become pretty automated
(05:22:06 PM) zzz: have you ever received any DMCA or other legal processes w.r.t. your tor exits? if so, how was it handled?
(05:23:33 PM) StormyCloud: No legal requests and surprisingly no DMCA requests. We do get abuse complaints, we just respond and let them know this is a TOR exit and there is nothing further that can be done on our end.
(05:23:47 PM) major: No legal requests and surprisingly no DMCA requests. We do get abuse complaints, we just respond and let them know this is a TOR exit and there is nothing further that can be done on our end.
(05:24:27 PM) R4SAS: huh, acetone's bot has bug
(05:24:33 PM) zzz: any other questions sor StormyCloud before we go to 5d) appproval ?
(05:24:34 PM) R4SAS: I'll PM him
(05:25:33 PM) zzz: normally major doesn't have +v, but I turned +m off for the meeting, no big deal
(05:26:36 PM) zzz: ok, if there's no more questions, everybody please indicate your approval / disapproval for making StormyCloud our official outproxy
(05:26:45 PM) not_bob: Approve
(05:26:58 PM) zzz: approve
(05:27:05 PM) zlatinb: approve
(05:27:05 PM) eyedeekay: approve
(05:27:18 PM) SilicaRice: approve (if users count for anything)
(05:27:54 PM) R4SAS: no objections, approve
(05:28:32 PM) zzz: ok, great
(05:28:39 PM) zzz: 5e) rollout
(05:28:50 PM) zzz: the two major steps are:
(05:29:08 PM) zzz: 1) setting it as default for new installs (as early as the next release in 3 weeks)
(05:29:23 PM) zzz: 2) recommending to existing users to change their config (probably via console news, any time)
(05:29:30 PM) zzz: these can happen in either order
(05:29:41 PM) zzz: and we have no idea how much traffic either would generate
(05:29:59 PM) zzz: other products (Android, bundles), probably aren't big enough to worry about timing
(05:30:14 PM) zzz: StormyCloud, what is your request or recommendation on when and how we proceed?
(05:31:36 PM) StormyCloud: If the console news can be set/sent anytime then we can let existing users know to switch now (if they want) and that gives us three weeks to monitor and spin up new servers if needed.
(05:32:12 PM) dr|z3d: console news generally published with a new release.
(05:32:13 PM) not_bob: StormyCloud: How much traffic are you handeling for the outproxy currently?
(05:33:10 PM) zzz: ok. it would be nice to point to a howto page with screenshots for editing the hidden services manager config. That could be hosted on stormycloud.i2p, or a i2p-projekt.i2p blog post? Any volunteers to put that together?
(05:33:35 PM) eyedeekay: I can do it
(05:33:35 PM) StormyCloud: Difficult to say at this time, since we dont log anything. I am monitoring network activity, but that too doesnt tell a full picture since its also passing i2p traffic.
(05:34:18 PM) dr|z3d: StormyCloud: we keep an eye on exit traffic via graphs..
(05:34:41 PM) dr|z3d: in short, notbob, nothing worth getting excited about.
(05:34:59 PM) zzz: dr|z3d, you have a guess on current % utilization of your two nodes? probably very small?
(05:35:21 PM) dr|z3d: utilization in what sense?
(05:35:28 PM) dr|z3d: capacity-wise?
(05:35:33 PM) zzz: yes
(05:35:50 PM) zzz: or maybe you don't really know until you hit it...
(05:35:51 PM) dr|z3d: very small is about right.
(05:36:18 PM) dr|z3d: throw a few thousand concurrent users at the outproxy, we'll then know :)
(05:36:33 PM) zzz: yeah, apologies to StormyCloud, we were unable to get any historical estimates of false.i2p bandwidth
(05:37:06 PM) zzz: so it's a little bit of a crap shoot, as long as you're monitoring things and have an expansion plan, we should be fine
(05:37:37 PM) StormyCloud: All good, we will adjust as more and more people start to use the outproxy
(05:38:11 PM) dr|z3d: well, as configured, the outproxies combined can handle up to 8192 concurrent streams. so there's plenty of capacity there, and StormyCloud has plenty of stuff in the wings if required.
(05:38:21 PM) zzz: and StormyCloud re: new installs, should we plan to make it the default in the next release late this month as well?
(05:39:01 PM) StormyCloud: Yes, that would be fine
(05:39:29 PM) zzz: ok then. eyedeekay let me know when you have a blog post up, and then I'll write the news entry
(05:39:39 PM) zzz: anything else on 5e) rollout ?
(05:39:43 PM) eyedeekay: OK, expect it tonight or tomorrow
(05:40:14 PM) eyedeekay: Nothing from me
(05:40:14 PM) zzz: thanks again StormyCloud
(05:40:18 PM) zzz: back to you eyedeekay
(05:41:07 PM) eyedeekay: All right that's it for the listed items, I'll be at Def Con next week in case anybody who's watching wants to meet me there lol
(05:41:49 PM) eyedeekay: If anybody else has anything else for the meeting, please speak up, otherwise timeout 1m
(05:42:59 PM) R4SAS: I have one question, but it is out of meeting scope
(05:43:34 PM) zzz: oh, also thanks to dr|z3d for vital technical assistance over the testing period
(05:43:41 PM) eyedeekay: All right thanks everybody for coming to the meeting, I've got a kind of crazy section in the middle of my log but once I fix that I'll post the logs to the web site
(05:43:44 PM) eyedeekay: Thanks for coming
(05:43:59 PM) not_bob: Thank you for having us.

View File

@ -0,0 +1,15 @@
I2P dev meeting, August 2, 2022 @ 20:00 UTC
===========================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb,
StormyCloud,
R4S4S,
SilicaRice,
not_bob

View File

@ -0,0 +1,106 @@
(04:01:46 PM) eyedeekay: Hi everybody
(04:01:50 PM) eyedeekay: welcome to the Tuesday September 6 meeting
(04:02:02 PM) zzz: hi
(04:02:07 PM) mode (-m ) by zzz
(04:02:13 PM) zlatinb: hi
(04:02:26 PM) eyedeekay: 1. Hi
(04:02:26 PM) eyedeekay: 2. 1.9.0 release status
(04:02:26 PM) eyedeekay: 3. 1.10.0 development status
(04:02:26 PM) eyedeekay: 4. next release 2.0.0?
(04:02:26 PM) eyedeekay: 5. Mac arm64 bundle out of beta if 1.9.0 update was successful? (followup from last meeting)
(04:02:51 PM) eyedeekay: Anything else to add before we get started?
(04:03:19 PM) eyedeekay: hi zzz, hi zlatinb
(04:03:46 PM) eyedeekay: 2. 1.9.0 release status
(04:05:11 PM) eyedeekay: We released about 2 weeks ago, there was a slight delay getting Android and the Easy-Install bundle out now
(04:05:11 PM) eyedeekay: F-Droid builds are now fixed as well so people who wish to can install from F-Droid main if they choose to and the app will work
(04:05:37 PM) not_bob: Thank you for that.
(04:05:43 PM) eyedeekay: No problem
(04:06:41 PM) eyedeekay: I'm going to be doing a point release for the Windows Easy-Install bundle, zlatinb found a very hard-to-spot bug which sees to affect easy-install bundle on Windows 11 slightly more than other places
(04:07:17 PM) eyedeekay: zzz do you want to talk Debian or anything else?
(04:07:51 PM) zzz: sure
(04:07:53 PM) zzz: about 40% of net is updated which is typical for 2 weeks in
(04:08:10 PM) zzz: we have a few hundred SSU2-enabled routers now, as desired/expected
(04:08:41 PM) zzz: no major issues so far
(04:09:06 PM) zzz: although zlatinb's bug is maybe medium-major :)
(04:09:07 PM) zzz: EOT
(04:10:01 PM) eyedeekay: Yeah and what I don't understand is how it went without happening much for so long, and then it hits the easy bundle twice in quick succession
(04:10:17 PM) zlatinb: well its kind of by accident that I have to use a windows 11 laptop for a few days, itś discovered a lot of issues
(04:11:08 PM) zlatinb: I guess the reseed problem either caused people to try again or give up on i2p off the bat
(04:11:09 PM) zzz: that's usually the way it goes... dev gets new setup... all hell breaks loose
(04:11:59 PM) zlatinb: there is still an unresolved forking issue with firefox on first launch
(04:12:48 PM) zlatinb: so ideally we should try and do something about it
(04:13:30 PM) eyedeekay: Indeed, it only happens the very first time the browser launcher is run, every subsequent time it works fine
(04:13:36 PM) zlatinb: maybe launch headless or play with the launch options, idk
(04:14:10 PM) eyedeekay: Yeah I could launch it headless on the first run, let it fork and close, then subsequently run with the window open
(04:14:58 PM) eyedeekay: That's a good idea thanks zlatinb
(04:15:15 PM) eyedeekay: Anything else on 2?
(04:16:03 PM) goingpostal is now known as Irc2PGuest14444
(04:16:29 PM) eyedeekay: 3. 1.10.0 development status
(04:18:30 PM) eyedeekay: Sorry I'm a little less prepared than usual, stuck in somebody else's office all day, bear with me
(04:21:00 PM) eyedeekay: 2 weeks in, I've been working on a number of improvements to the Windows bundle to make it more stable and intuitive to use and to help track down this clock-skew bug
(04:21:37 PM) eyedeekay: I've also been porting the profile and launcher parts of it(less the jpackaged router) to non-Windows platforms to hopefully provide automatic browser configuration there
(04:22:06 PM) eyedeekay: zzz has been working on SSU2, fixing bugs with the help of orignal, would you like to update us on that zzz
(04:22:16 PM) zzz: yes, thanks. early days, but a summary of changes and fixes so far is at http://zzz.i2p/topics/3377
(04:22:32 PM) zzz: SSU2 - added the ack-immediate flag and connection migration
(04:22:47 PM) zzz: which are the last two things we wanted to get in before enabling for all
(04:24:07 PM) eyedeekay: Cool so you're right on track then?
(04:24:30 PM) zzz: the larger user base has us finding corner cases and more rare bugs, nothing too serious, fixing as we go
(04:24:30 PM) zzz: the plans for months has been for us to enable SSU2 for everybody in the November release and we are still on track
(04:24:30 PM) zzz: EOT
(04:24:42 PM) zzz: yes
(04:24:51 PM) eyedeekay: Awesome thanks for the update
(04:25:09 PM) eyedeekay: Anything else for 3?
(04:25:41 PM) eyedeekay: 4) next release 2.0.0?
(04:25:52 PM) eyedeekay: zzz you added this topic, would you like to get us started?
(04:26:12 PM) zzz: this was a suggestion from dr|z3d so if he's around I'll ask him to make his pitch
(04:26:50 PM) zzz: but if he's not, I'll say it's not a bad idea
(04:27:05 PM) zzz: linux is about to go from 5.19 to 6.0
(04:27:25 PM) zzz: tor's arti just went to 1.0.0
(04:27:26 PM) zzz: ssu2 as good an excuse as any
(04:27:45 PM) RightNow: and I2P is going from SSU to SSU2
(04:27:47 PM) zzz: EOT - thoughts everyone? and we don't need to decide today, we have 11 more weeks
(04:28:30 PM) not_bob: I have no issue with it so long it works.
(04:29:18 PM) zzz: anybody hate it? anybody love it?
(04:29:21 PM) eyedeekay: Sure, I think it makes sense, both transports will have been modernized, it's a big milestone
(04:29:43 PM) zlatinb: I kind of wish we had something bigger of a bang to go to 2.0
(04:29:48 PM) RightNow is now known as RN
(04:30:34 PM) eyedeekay: Use it for 3.0.0 maybe?
(04:30:38 PM) zzz: there's nothing bigger on the roadmap. frankly, I hope we don't ever do anything bigger, I'm tired...
(04:30:56 PM) zlatinb: also I have to leave now sorry, on the last topic yes I think the mac arm bundle is ready to go out of beta. I will have the windows laptop for another day or two for testing. Gotta bolt now, sorry
(04:30:59 PM) zlatinb: ttyl
(04:31:05 PM) RN: zzz, you are also thanked.
(04:32:26 PM) eyedeekay: Yes zzz, your dedication and hard work are appreciated
(04:32:34 PM) zzz: tell you what eyedeekay let me post in the 1.10 thread on my forum and will come back next month with a report, stick it on the agenda for next month
(04:32:44 PM) eyedeekay: Will do zzz
(04:33:18 PM) zzz: wasn't trying to elicit thanks, just pointing out this was the last - and hardest - of the crypto migration we've been on for about a decade
(04:33:36 PM) eyedeekay: Didn't need to elicit it, you deserve it :)
(04:33:52 PM) eyedeekay: But point taken, it's a huge effort
(04:33:58 PM) RN: it is a milestone worth celebration, and yeah, you deserve it!
(04:34:14 PM) zzz: if we'd tried to do SSU2 first it would have killed us all. we only managed due to the experience of all the rest of it
(04:34:26 PM) zzz: shared credit to the i2pd project of course
(04:35:01 PM) eyedeekay: Indeed. Back on track though, anything else on 4?
(04:35:15 PM) RN: but you led the charge.
(04:35:21 PM) zzz: if we want to do post-quantum that can be 3.0.0 :)
(04:35:43 PM) eyedeekay: Good idea, that will be exciting
(04:35:53 PM) zzz: nope, nothing else
(04:36:05 PM) eyedeekay: Well 5) was: Mac arm64 bundle out of beta if 1.9.0 update was successful? (followup from last meeting)
(04:36:43 PM) eyedeekay: Which zlatinb gave us a status update for on his way out the door, with the update being successful I see no reason against it
(04:37:38 PM) eyedeekay: Anybody else have anything to add to this topic?
(04:38:06 PM) zzz: I assume zlatinb meant the update worked; if so, he can remove the beta label on the web page
(04:38:32 PM) zzz: that was the only reservation I had at the last meeting
(04:38:33 PM) zzz: eot
(04:39:45 PM) eyedeekay: OK. One of us should ping us when we see him online
(04:39:52 PM) eyedeekay: Anything else for the meeting?
(04:40:04 PM) eyedeekay: ping *him
(04:41:14 PM) eyedeekay: Well I guess without his git creds I may as well remove the label
(04:41:27 PM) eyedeekay: So I'll do it
(04:41:43 PM) zzz: do you have confirmation the update worked?
(04:42:11 PM) zzz: because he didn't say that above
(04:42:53 PM) eyedeekay: I don't think I do
(04:43:01 PM) eyedeekay: Nope
(04:43:14 PM) eyedeekay: No I've not strictly speaking heard anyone say those exact words yet
(04:43:21 PM) eyedeekay: So I'll wait
(04:43:26 PM) eyedeekay: And ask him
(04:43:32 PM) zzz: ok
(04:44:19 PM) eyedeekay: Anything else for the meeting timeout 1m?
(04:45:44 PM) eyedeekay: All right thanks everyone for coming

View File

@ -0,0 +1,14 @@
I2P dev meeting, September 6, 2022 @ 20:00 UTC
==============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb,
not_bob,
RightNow,
RN

View File

@ -0,0 +1,165 @@
(04:00:08 PM) eyedeekay: Hi everyone, welcome to the October 4 2022 meeting
(04:00:08 PM) eyedeekay: 1. Hi
(04:00:18 PM) zlatinb: hi
(04:00:28 PM) zzz: hi
(04:00:51 PM) eyedeekay: 1. Hi
(04:00:51 PM) eyedeekay: 2. 1.10.0 development status
(04:00:51 PM) eyedeekay: 3. next release 2.0.0?
(04:00:51 PM) eyedeekay: 4. Publish source tarballs for bundle releases
(04:00:51 PM) eyedeekay: 5. Free stickers for translators
(04:00:51 PM) eyedeekay: 6. Windows Easy-Install Update/Out-of-Beta
(04:01:05 PM) eyedeekay: 2. 1.10.0 development status
(04:01:15 PM) eyedeekay: About 7 weeks to go
(04:01:24 PM) eyedeekay: My big priority this month has been to get the Windows Easy-Install bundle ready to go out of beta
(04:01:31 PM) eyedeekay: Lots of stuff on the forum about that, targeting stable updates, compatibility with existing/unbundled routers, and a more stable and flexible way to manage and launch browser profiles, more on all that in item 6
(04:01:38 PM) eyedeekay: Also working on a "Split Tunneling" or "Per-App VPN" tool in Android(on the roadmap).
(04:01:47 PM) eyedeekay: The utility is that it allow users to configure their browsers more easily, in a way which prevents WebRTC escapes by putting them onto an interface which corresponds to an I2P connection and not to their network provider
(04:02:05 PM) eyedeekay: zzz, zlatinb what would you like to add that you're working on
(04:02:30 PM) zzz: not a lot to report... SSU2 testing continues to go well...
(04:02:53 PM) zzz: put up proposal 161 about compressible padding, we'll be discussing it in #ls2 meetings...
(04:03:06 PM) zlatinb: Nothing specific I'm working on, just want to let everyone know that I'll be afk from 22nd Nov to 10th Dec so if the next release gets tagged on the 21st I may be able to build the mac bundles but will most likely not be able to seed the torrents
(04:03:29 PM) eyedeekay: If you send me the files I'll seed them for you
(04:03:32 PM) zzz: I have some peer selection efficiency improvements I'm going to try to get in soon, may or may not make it
(04:03:43 PM) zzz: EOT
(04:04:21 PM) eyedeekay: Thanks zzz, zlatinb, I don't want to rush anybody but we do have a long agenda today, anything else to add on 2?
(04:04:59 PM) eyedeekay: 3. next release 2.0.0?
(04:04:59 PM) eyedeekay: My vote is yes to 2.0.0
(04:05:19 PM) zzz: yeah I put it up for comments on my forum and got I think 1 yes and no no's
(04:05:36 PM) eyedeekay: I was a yes at the last meeting too I think
(04:05:46 PM) zzz: I'd like to decide today because I have a SSU2 blog post ready to go and it would be helpful to refer to the next release by number
(04:06:22 PM) zzz: yeah I didn't hear any strong opinions one way or the other last meeting which is why we pushed it a month
(04:06:34 PM) zzz: I think it's a good idea
(04:06:51 PM) zzz: so if there's no objections, let's call it 2.0.0!
(04:07:30 PM) eyedeekay: Timeout 1m for objections
(04:07:47 PM) zzz: make it 30 seconds :)
(04:07:54 PM) eyedeekay: Yeah I already burned 30
(04:08:04 PM) eyedeekay: OK there it is
(04:08:06 PM) eyedeekay: 2.0.0
(04:08:17 PM) eyedeekay: 4. Publish source tarballs for bundle releases
(04:08:31 PM) zzz: yeah this was my item
(04:08:53 PM) zzz: standard open source practice is to post source tarballs, even if we can point to a git tag
(04:09:06 PM) zzz: I understand that the Mac source doesn't change release to release?
(04:09:10 PM) zzz: but the windows source does?
(04:09:46 PM) zlatinb: well the mac bundle has evolved to enable arm64 but in general it doesn't change
(04:10:02 PM) eyedeekay: What we both do is clone a copy of the repo and check out a specific release tag, ant distclean, generate our jars, and copy them into the bundle trees
(04:10:15 PM) zzz: anyway, my recommendation is that we generate source tarballs as part of the build process and link to them on the respective download pages
(04:10:36 PM) zzz: if they don't change, then I guess they can be unversioned
(04:10:50 PM) zzz: so the windows source doesn't change release-to-release either?
(04:11:01 PM) zlatinb: I would rather just tag and then fetch the tarball from github. I expect at least for a while the only thing changing in the mac bundle will be the changelog file
(04:11:50 PM) zzz: you all can work out the details, but the goal is to have source and instructions so anybody can build it themselves
(04:12:00 PM) eyedeekay: The i2p jars that get included don't change except to get updated, but the Windows source has changed in the launcher quite a lot since it started
(04:12:12 PM) zzz: are you two willing to do that and add it to your release processes?
(04:12:21 PM) eyedeekay: Yes absolutely
(04:12:31 PM) eyedeekay: My release scripts and daily scripts now include tarball every time
(04:12:36 PM) zzz: you don't need to include dependencies such as i2p, and probably shouldn't
(04:12:37 PM) eyedeekay: zab's too IIRC
(04:12:54 PM) zlatinb: the question is where to put the tarballs, should they be available on the site, etc.
(04:13:25 PM) zzz: somewhere on the download server with everything else, with links on the bundle pages. You two can work out the details to be consistent
(04:13:59 PM) zlatinb: well that's the thing, if we can just point to a gitlab tag then there's no need for any extraneous links
(04:14:31 PM) zzz: disagree, I think it's good open source practice to publish source tarballs
(04:14:55 PM) zlatinb: github and maybe gitlab allow tarball download off of a tag
(04:14:57 PM) eyedeekay: It's not much more effort, I'm not against it, I tag in the same script I generate tarballs in
(04:15:05 PM) zzz: here's the binary, here's the source, here's the gpg sigs, here's the build instructions
(04:15:29 PM) zzz: it's also consistent with our mainline release to have tarballs
(04:16:15 PM) zzz: sounds like zlatinb is not in agreement? should we push this off to next month?
(04:16:38 PM) zlatinb: yeah I think it's unnecessary
(04:16:57 PM) zlatinb: but don't mind doing it if that's what the decision is
(04:17:11 PM) zzz: if it never changes, you only have to do it once and you're done
(04:17:47 PM) zlatinb: it has changed very rarely historically
(04:18:03 PM) eyedeekay: Kicking it down the road for now is fine with me, zlatinb and I can work out what we're going to do or not do in the meantime
(04:18:33 PM) eyedeekay: This might be a situation where we have to be a little different because my bundle has been a little more rapidly-changing than his
(04:19:27 PM) zzz: if we don't want to decide today I'll start a forum thread to solicit more opinions
(04:20:44 PM) zlatinb: ok
(04:20:44 PM) zzz: ok = you're oppposed for now?
(04:21:02 PM) eyedeekay: Probably a good idea, and I'm pro tarballs
(04:21:31 PM) zlatinb: yeah
(04:21:31 PM) zzz: no problem, eyedeekay put it on the list for next month
(04:21:37 PM) eyedeekay: OK can do
(04:21:52 PM) eyedeekay: Anything else for 4?
(04:22:38 PM) eyedeekay: 5. Free stickers for translators
(04:22:55 PM) eyedeekay: zzz this one was also yours, take it away whenever you're ready
(04:23:16 PM) zzz: yeah, credit sarah jamie lewis on twitter
(04:23:32 PM) zzz: for her project which I've forgotten the name... cwtch?
(04:24:02 PM) eyedeekay: That's the one
(04:24:02 PM) zzz: anyway, thought it was a good idea, but we'd need a) stickers and b) people to mail them
(04:24:17 PM) zzz: both of which we used to have but are now out of both people and stickers?
(04:24:40 PM) zzz: so, do we want to do it, and should we order stickers (even if we don't)
(04:24:45 PM) zzz: EOT
(04:25:26 PM) zzz: sadie and eche|on used to be the sticker people I think
(04:25:38 PM) eyedeekay: I went through and counted mine up, I've got maybe 35 of the old ones(Toopie) and 91 left of the run I ordered in the spring, but I'd be fine with ordering more
(04:25:41 PM) zzz: anyway, comments please... yes/no/maybe?
(04:26:00 PM) eyedeekay: I can mail them within the US and Canada but the EU isn't great for me
(04:26:21 PM) zzz: we have hundreds of translators registered. only a few are probably active
(04:26:41 PM) zzz: who is the sticker-orderer-person?
(04:27:54 PM) eyedeekay: The last person to order stickers was probably me, but I did them on my own time/out of pocket so I would have them for conventions
(04:28:19 PM) zzz: who's in charge of PR?
(04:28:48 PM) zzz: who has an opinion about stickers for translators?
(04:28:48 PM) zzz: well, you could have / should have gotten reimbursed... echelon used to be the sticker guy
(04:29:54 PM) zzz: we're going to need his buyin both for the cost, and to make him the EU mail person, and to send half to you and half to him
(04:30:15 PM) zzz: since he's not around, put this on the list for next month, I'll try to get his attention
(04:30:22 PM) eyedeekay: I think that if translators request stickers we should be able to get them some stickers, but that it should be contingent on request
(04:30:59 PM) zzz: sure, we don't have anybody's address, they have to ask. but we would have to tell them to ask
(04:31:17 PM) uis is now known as Irc2PGuest33729
(04:31:48 PM) zzz: if anybody's going to CCC then you need to hop on more stickers, independent of translators
(04:32:42 PM) zzz: EOT, push it to next month, no answers today
(04:32:47 PM) eyedeekay: Ack, I do plan to go so I'll make sure I have some stickers
(04:32:47 PM) eyedeekay: So next step is start an email chain with Ech about it
(04:33:09 PM) eyedeekay: EOT from me, anything else on 5?
(04:33:50 PM) eyedeekay: 6. Windows Easy-Install Update/Out-of-Beta
(04:33:58 PM) eyedeekay: This one's mine obviously
(04:34:26 PM) eyedeekay: So 1.9.5 point release happened technically because of the reseed application context timer obviously
(04:34:45 PM) eyedeekay: But it was a convenient time to also keep an eye on how the updates performed
(04:35:54 PM) zlatinb: and how did it behave?
(04:35:55 PM) eyedeekay: It wasn't without complications, people who were using fell into 3 groups
(04:36:56 PM) eyedeekay: 1. People for whom it worked perfectly
(04:36:56 PM) eyedeekay: 2. People for whom it resulted in corrupted router.config files for un-bundled routers
(04:36:56 PM) eyedeekay: 3. People for whom it it did not update because the router.config files were from un-bundled routers
(04:37:22 PM) eyedeekay: 2 and 3 were problems, I followed up with the fix in a forum post on zzz.i2p
(04:37:43 PM) eyedeekay: I believe they are fixed now and cannot recur in the future
(04:37:57 PM) eyedeekay: Therefore I think the update process will be ready by what is now 2.0.0
(04:38:08 PM) eyedeekay: I actually think it's ready now but 7 weeks to test
(04:38:53 PM) eyedeekay: So I would like to move it out of beta in November
(04:39:09 PM) zzz: we don't have documented criteria for out-of-beta, really
(04:39:17 PM) zzz: but for me it's that the release processes are solid, things aren't getting missed
(04:39:27 PM) zzz: we're not doing point releases a week later to fix stuff
(04:39:45 PM) zzz: but you may wish to list your own feature goals
(04:40:21 PM) zzz: for example, are you two solid on reviewing the java updates every three months and jointly deciding to release or not?
(04:40:40 PM) zzz: I didn't see any on-IRC discussion. did it happen off-IRC perhaps?
(04:41:31 PM) zlatinb: the last discussion happened here, there has been no off-IRC discussion regarding jre point releases since
(04:42:21 PM) eyedeekay: Didn't we talk about it on Whereby a little after that?
(04:42:36 PM) eyedeekay: IIRC we only release in the Java cycle if there's a CVE which affects the last release?
(04:42:46 PM) zzz: just to take an example, 18.0.2.1 August 18 2022 fixes a JIT bug that crashes the JRE. Are you two both on that, or did you jointly decide it wasn't necessary?
(04:43:33 PM) zlatinb: I'm not on that I don't think
(04:43:43 PM) zlatinb: and don't remember discussing that bug; I usually look only at the CVEs
(04:44:08 PM) zlatinb: 21:43:29 zlatinb: I'm not on that I don't think
(04:44:08 PM) zlatinb: 21:43:42 zlatinb: and don't remember discussing that bug; I usually look only at the CVEs
(04:44:12 PM) zzz: back
(04:45:12 PM) eyedeekay: I am on 18.0.2.1 but because I pushed back my release to try and make sure I addressed some stability issues and by that time Java had updated
(04:45:24 PM) eyedeekay: Also my point release was built with an updated JDK
(04:45:35 PM) eyedeekay: So that's got us out-of-sync again I think
(04:45:54 PM) zzz: that's what I'm getting at about processes. If the build and release processes aren't yet stable and being reliably followed, these procucts aren't ready to graduate
(04:46:01 PM) zzz: so when you updated, to 18.0.2.1, did you tell zlatinb you were doing it and suggest he do the same?
(04:47:04 PM) eyedeekay: No I didn't, I simply let it auto-update and built with the latest version
(04:48:13 PM) eyedeekay: So... there's another process to revise on my side
(04:49:31 PM) zzz: I'd suggest you work on a solid bug-free release in november (together with whatever feature goals you have) and if that goes well put yourself on the agenda for december
(04:50:00 PM) eyedeekay: OK can do
(04:50:56 PM) zzz: or january because the release is likely to be late nov., may not have enough info by 1st week in dec.
(04:52:02 PM) eyedeekay: If there's not enough to go on by then I'll move it
(04:52:15 PM) eyedeekay: Anything else for 6?
(04:52:27 PM) zzz: a brief 6a)
(04:52:30 PM) eyedeekay: Sure
(04:52:52 PM) zzz: zlatinb, reported that the mac arm update went well, so as far as I'm concerned it's out of beta as discussed on my forum
(04:53:28 PM) zzz: zlatinb, you need to update your page to remove the beta label
(04:53:28 PM) zzz: eot
(04:53:28 PM) zlatinb: ok
(04:53:29 PM) zlatinb: will do soon
(04:54:24 PM) eyedeekay: All right that puts us at just shy of an hour, anything else for the meeting?
(04:54:26 PM) eyedeekay: timeout 1m
(04:54:41 PM) zlatinb: yes
(04:54:57 PM) zlatinb: if StormyCloud reads the logs, I encourage them to address the concerns raised on reddit
(04:56:15 PM) zlatinb: the longer that question stays unanswered the worse it looks
(04:56:18 PM) eyedeekay: agreed, they do sometimes come to reddit and it would be good to hear from them
(04:56:36 PM) zlatinb: eot
(04:56:43 PM) eyedeekay: Thanks zlatinb
(04:57:37 PM) eyedeekay: Anything else for the meeting(again)? timeout 30s this time
(04:58:21 PM) eyedeekay: Thanks everyone for coming, I'll post the logs tonight, see you around IRC and same time next month

View File

@ -0,0 +1,11 @@
I2P dev meeting, October 04, 2022 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
zlatinb

View File

@ -0,0 +1,93 @@
(03:00:31 PM) eyedeekay: Hi everyone, welcome to the November 8 meeting
(03:00:31 PM) eyedeekay: 1. Hi
(03:00:31 PM) eyedeekay: 2. 2.0.0 development status
(03:00:31 PM) eyedeekay: 3. Publish source tarballs for bundle releases
(03:00:31 PM) eyedeekay: 4. Free Stickers for Translators
(03:00:31 PM) eyedeekay: Anything else for the agenda?
(03:00:39 PM) mode (-m ) by zzz
(03:01:19 PM) zzz: hi
(03:01:58 PM) eyedeekay: hi zzz
(03:02:03 PM) eyedeekay: Anybody else here today?
(03:02:08 PM) eche|on: hi
(03:02:18 PM) eyedeekay: Hi eche|on
(03:02:39 PM) eyedeekay: 2. 2.0.0 development status
(03:02:58 PM) eyedeekay: We're 2 weeks from release with a tag freeze tomorrow, IIRC
(03:03:49 PM) eyedeekay: Yes that's exactly when
(03:04:38 PM) eyedeekay: zzz and orignal have been hard at work getting ssu2 ready, the plan is still to enable it
(03:05:08 PM) eyedeekay: I'll be doing an unsigned release of the I2P Easy-Install for Windows
(03:05:50 PM) eyedeekay: I don't know the Mac release status, though, are Mac users stuck on 1.9.0 until we can find a new Mac maintainer/signer?
(03:06:25 PM) zzz: yes. There's a pretty good summary of the release at http://zzz.i2p/topics/3377
(03:07:02 PM) zzz: the SSU2 testing in the last 3 months with 2% enabled has been a tremendous success
(03:07:17 PM) zzz: haven't found any major issues, but we've fixed countless minor ones
(03:08:19 PM) eche|on: go ahead with SSU2
(03:08:35 PM) eche|on: about mac: I got a dev account and a MAC, but no idea howto currently
(03:08:39 PM) eche|on: and less time
(03:09:03 PM) zzz: interesting
(03:09:31 PM) zzz: do you think you _could_ do it at some point? If so, when?
(03:09:39 PM) eche|on: I do have the git repo of the mac inclusions, but currently not yet looked into
(03:09:54 PM) eche|on: IF I find out howto, rather soon (tm)
(03:10:05 PM) zzz: even if it's a month or two late, that would be fantastic
(03:10:08 PM) eche|on: but the howto may fail in shorter terms
(03:10:41 PM) eche|on: also no idea about whats apple going to do, but those are parts to find out
(03:11:10 PM) eyedeekay: I'll see if I can help you, building the mac jpackages is pretty straightforward, I've never signed them but it's all in the scripts zab wrote
(03:11:25 PM) zzz: when I do the 2.0.0 news.xml, I'll also put a news entry in the mac feed saying it will be delayed
(03:11:42 PM) zzz: eyedeekay, do you have a mac?
(03:11:57 PM) eyedeekay: I have an Intel Mac but no dev account
(03:12:04 PM) eche|on: sadie has a mac, but neither idk nor sadie do want to go public with their names
(03:12:25 PM) eche|on: getting a dev account is rather simple : give out your name and pay 100$ a year
(03:12:28 PM) eyedeekay: I can make a dmg but it gets signed with local keys that aren't allowed on other Macs
(03:12:32 PM) zzz: I understand. The idea is you could walk thru everything but the notarization
(03:12:32 PM) eche|on: more or like thats it
(03:13:12 PM) eche|on: bb 2min
(03:13:25 PM) zzz: afaik it's the notarization that's the real pita. Hopefully the howto is clear...
(03:14:14 PM) eyedeekay: I think the only pitfall really is getting the Java dev environments set up, there's a tool you install through brew that switches version that makes it very easy though
(03:14:25 PM) zzz: eyedeekay, let's put this on the agenda for next month
(03:14:36 PM) eyedeekay: Can do
(03:15:19 PM) zzz: in the mean time, please run thru the howto as it currently exists as far as you can w/o notarization, just to test the howto and see if it needs any fixes for ech
(03:16:10 PM) zzz: esp. to check if the arm64 side is documented
(03:16:45 PM) eyedeekay: I will do everything I can, although I won't be able to run through the arm64 process because I do not have an arm64 Mac
(03:16:53 PM) eche|on: I will check howto get the certs with notarization,
(03:16:55 PM) eyedeekay: I'll do everything up to that though
(03:17:18 PM) eche|on: eyedeekay: just order a arm64 mac. refund as usual
(03:17:28 PM) eche|on: no need to stop at that
(03:17:30 PM) zzz: do you need an ARM mac to build ARM?
(03:17:41 PM) zzz: probably...
(03:17:59 PM) eyedeekay: I'm not quite sure on the subtleties of it all re: cross-compilation
(03:18:02 PM) zzz: there's also a possible workflow where idk builds and ech notarizes
(03:18:23 PM) zzz: but we don't need to work it all out here
(03:18:44 PM) eyedeekay: But jpackage is pretty picky about architecture/OS combinations
(03:19:28 PM) SoniEx2: raspberry pi?
(03:19:39 PM) zzz: let's move on to next topic
(03:19:40 PM) eyedeekay: ELF not Mach-O
(03:19:42 PM) eyedeekay: But yes
(03:19:45 PM) eyedeekay: 3. Publish source tarballs for bundle releases
(03:20:24 PM) eyedeekay: Since it's just me now and I wanted to publish source tarballs the whole time, 2.0.0 Windows getting source tarballs
(03:20:36 PM) eyedeekay: One for the bundle itself and one for the profile manager component
(03:21:17 PM) eyedeekay: As part of going through the scripts from the Mac bundle I'll add source tarball generation as part of the process
(03:21:18 PM) zzz: ok, and since the mac objector has left, let's add one to the mac page also
(03:21:28 PM) eyedeekay: Will do
(03:21:41 PM) zzz: great, I'm happy
(03:22:38 PM) eyedeekay: 4. Free Stickers for Translators
(03:23:27 PM) eche|on: yeah
(03:23:49 PM) eyedeekay: eche|on and I talked about this briefly after last month's meeting by email
(03:23:49 PM) eyedeekay: I think we were each in favor of doing it? I don't have my mail open
(03:24:23 PM) eche|on: sure we can do this, one for each part of the wolrd
(03:24:28 PM) zzz: it was my proposal, but it requires a) stickers and b) somebody to mail them
(03:24:30 PM) eche|on: but my sticker ressources are limited
(03:24:47 PM) zzz: as I understand we're essentially out of stickers
(03:24:59 PM) eche|on: sadie/idk still do have several
(03:25:05 PM) eche|on: I got around 400 or alike only
(03:25:23 PM) eche|on: should be enough for 1year+, but plan ahead
(03:25:26 PM) eyedeekay: Oh I ran myself down to like, 8 at All Things Open last week
(03:25:30 PM) eyedeekay: I'll need to order more
(03:25:53 PM) eche|on: ah, ok
(03:26:10 PM) zzz: can you two coordinate on who is ordering, what the design is, and make sure each of you gets half?
(03:26:16 PM) eyedeekay: Yes we can
(03:26:34 PM) zzz: super
(03:27:05 PM) zzz: when you have them in hand, holler and I'll announce on TX
(03:27:11 PM) eche|on: good
(03:27:22 PM) zzz: thanks guys
(03:27:46 PM) eyedeekay: No problem
(03:27:56 PM) eyedeekay: Anything else on 4 or for the meeting?
(03:28:25 PM) eche|on: nope
(03:29:14 PM) eyedeekay: All right thanks everybody for coming, I'll post the meeting in a few minutes

View File

@ -0,0 +1,12 @@
I2P dev meeting, November 08, 2022 @ 20:00 UTC
==============================================
Quick recap
-----------
* **Present:**
echelon,
eyedeekay,
zzz

View File

@ -0,0 +1,83 @@
(08:00:09 PM) eyedeekay: Hello everyone, welcome to the rescheduled dev meeting
(08:00:09 PM) eyedeekay: 1. Hi
(08:00:09 PM) eyedeekay: 2. 2.0.0 Release Status, 2.0.0 Mac Release Status
(08:00:09 PM) eyedeekay: 3. 2.1.0 Development Status
(08:00:09 PM) eyedeekay: 4. Stickers for Translators
(08:00:50 PM) zzz: hi
(08:02:55 PM) eyedeekay: Doesn't seem like he's here? going to move along for now.
(08:04:04 PM) eyedeekay: 2. 2.0.0 release status: *most* targets of 2.0.0 were released about 3 weeks ago now, including i2p.i2p, Android, Debian and Easy-Install Windows, with Easy-Install for Mac delayed by zlatinb's departure
(08:04:04 PM) eyedeekay: Ech and I have been working on a plan to replace him in terms of maintenance, signing, and notarization of the OSX bundle, that is still expected for close to the end of this month
(08:06:01 PM) eyedeekay: Everybody knows how to build everything, has a good idea of the signing requirements, the last remaining thing to do is notarization in practice, and we don't know everything we should expect here but I think we have a good idea
(08:07:10 PM) eyedeekay: Android needed a point release due to a bug related to compatibility with a new API on newer devices, so Android users should make sure they've upgraded to 2.0.1
(08:07:10 PM) eyedeekay: eot for me on 2, anything to add zzz
(08:07:20 PM) zzz: lots
(08:07:50 PM) uis is now known as Irc2PGuest69907
(08:08:04 PM) zzz: I had to release a 2.0.0-2ubunutu1 debian/ubuntu build to fix an embarrassing but ultimately harmless bunch of stray symlinks in root
(08:08:38 PM) zzz: root cause was a typo, deb lint didn't catch it, not sure what the post mortem lesson is other than be more careful, we're root on install...
(08:09:12 PM) zzz: as far as the network, after 3 weeks, half of it has updated and is using ssu2
(08:09:39 PM) zzz: exploratory build success has been trending straight down since the release
(08:09:56 PM) zzz: we're concerned, and monitoring closely
(08:10:47 PM) zzz: at this point we think it's some combination of ssu-to-ssu2 migration, ssu2 bugs on both our side and in i2pd, and a couple of routers that are spamming the network with tunnel builds
(08:11:05 PM) zzz: i2pd is considering a mid-cycle january point release to get their fixes out
(08:11:33 PM) zzz: for now I don't think that's necessary on our side but it's always an option should we choose to
(08:12:18 PM) zzz: I think that's EOT but I'll have more info in a moment as a part of 3)
(08:13:09 PM) eyedeekay: Thank you zzz
(08:13:43 PM) eyedeekay: 3. 2.1.0 Development Status
(08:17:12 PM) eyedeekay: We're 3 weeks in to this cycle, in this time I've been working on getting Android migrated fully over to the modern gradle plugin, I stopped short of migrating from maven to maven-push before release, after that, what's on the list for Android is orbot-style split tunneling for configuring apps without a proxy(Sort of the Android version of torsocks)
(08:17:12 PM) eyedeekay: For desktop I've been working on getting our integration into Whonix fixed and have been work related to getting the Easy-Install for Windows out of beta
(08:18:43 PM) eyedeekay: That's what I'm working on, zzz would you like to continue with your information or 3)?
(08:19:43 PM) dr|z3d: ... intermission ...
(08:23:56 PM) anonymousmaybe is now known as Irc2PGuest40130
(08:24:03 PM) eyedeekay: Welcome back
(08:25:17 PM) eyedeekay: What was the last thing you got?
(08:26:28 PM) zzz: back
(08:26:28 PM) zzz: is it my turn yet? :)
(08:26:28 PM) dr|z3d: you need to put on an apron and wheel the confectionery tray around the theater :)
(08:26:28 PM) dr|z3d: did you go out to get us all ice cream? :)
(08:26:28 PM) dr|z3d: recap:
(08:26:28 PM) dr|z3d: <eyedeekay> We're 3 weeks in to this cycle, in this time I've been working on getting Android migrated fully over to the modern gradle plugin, I stopped short of migrating from maven to maven-push before release, after that, what's on the list for Android is orbot-style split tunneling for configuring apps without a proxy(Sort of the Android version of torsocks)
(08:26:28 PM) dr|z3d: <eyedeekay> For desktop I've been working on getting our integration into Whonix fixed and have been work related to getting the Easy-Install for Windows out of beta
(08:26:28 PM) dr|z3d: <eyedeekay> That's what I'm working on, zzz would you like to continue with your information or 3)?
(08:26:48 PM) zzz: thanks
(08:27:04 PM) zzz: drz gave it to me
(08:27:12 PM) zzz: ok, my turn!
(08:27:33 PM) zzz: about a week and a half after the release, when a lot of the net had updated, I started chasing SSU2 problems
(08:27:42 PM) zzz: and found a whole lot
(08:27:56 PM) zzz: both ours and helped i2pd find some of theirs
(08:27:58 PM) zzz: so it's been quite busy
(08:28:14 PM) zzz: as a result, we're at almost 7000 lines of diff, more than the whole 2.0.0 release
(08:28:38 PM) zzz: and whatever else I had planned for 2.1.0 I haven't gotten to yet, including promised peer selection improvements
(08:29:50 PM) zzz: I plan to bump to -7 after the meeting
(08:29:50 PM) zzz: while the "big changes in" deadline is early January, let's stay flexible, as we don't want a bunch of WIP in there if we're going to do a 2.0.1 release
(08:29:59 PM) zzz: so let's try not to break things with "big changes" if possible. Big changes are fine, as long as they're isolated
(08:30:40 PM) zzz: but things are going well and we're working closely with i2pd to track down and fix issues
(08:31:02 PM) zzz: including one-in-a-million ones that are now popping up
(08:31:16 PM) zzz: and one-in-a-zillion ones that dr|z3d is finding on his high speed routers
(08:31:30 PM) zzz: that's it! EOT, any questions?
(08:32:27 PM) eyedeekay: I'm slightly curious how often a "Million" of some things happens in in the real world but possibly a question for another time
(08:33:17 PM) eyedeekay: Thanks zzz
(08:34:12 PM) eyedeekay: It seems like once you get a whole bunch of routers doing a thing the odds of a rare event happening somewhere would go up very fast
(08:35:11 PM) zzz: yeah. perhaps we should have been more cautious, and not go from 2% to 100% in one release. But we'll get through it
(08:35:17 PM) uis is now known as Irc2PGuest38853
(08:37:15 PM) eyedeekay: 4. Stickers for Translators
(08:37:15 PM) eyedeekay: Only real news here is that I now have stickers for mailing, I've got a ton of them so if you're in the Americas then I am prepared to mail them
(08:37:58 PM) zzz: would you please post something on my forum, saying who is eligible and how to request
(08:38:17 PM) eyedeekay: Can do
(08:38:29 PM) zzz: then I will copy paste over to transifex announcement
(08:38:48 PM) zzz: what's the status of the euro side?
(08:39:44 PM) eyedeekay: Don't know if he has his yet, will request an update from him tonight
(08:40:07 PM) zzz: ok, guess I need to wait for that part of it before transifex
(08:40:43 PM) zzz: please whack him with your baffer for making us reschedule and then not showing :)
(08:41:07 PM) eyedeekay: Well it was my fault too but I'll make sure to let him know :)
(08:41:32 PM) zzz: I mean yesterday to today. you're not off the hook for last week :)
(08:42:41 PM) eyedeekay: That's all I've got for 4 and/or today, anything else for the meeting?
(08:42:50 PM) zzz: nope
(08:43:02 PM) zzz: are we on or off for Jan. 3?
(08:44:26 PM) eyedeekay: All right then thanks zzz for coming, I was going to say "On" for Jan 3 but we could do the 10th instead since IIRC LS2 will be the 9th
(08:45:01 PM) zzz: doesn't matter, your call
(08:45:35 PM) eyedeekay: Let's have it on the 9th in January and return to first-Tuesday in February
(08:45:52 PM) zzz: you mean 10th?
(08:45:59 PM) eyedeekay: Yes the 10th
(08:46:07 PM) zzz: ok
(08:46:15 PM) zzz: meeting over?
(08:46:25 PM) eyedeekay: Yes

View File

@ -0,0 +1,11 @@
I2P dev meeting, December 14, 2022 @ 20:00 UTC
==============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz

View File

@ -0,0 +1,47 @@
(08:00:38 PM) eyedeekay: Welcome to the dev meeting, sorry again about about missing the time again yesterday
(08:00:38 PM) eyedeekay: 1. Hi
(08:00:38 PM) eyedeekay: 2. 2.1.0 Release Status, 2.1.0 Mac Release Status
(08:00:38 PM) eyedeekay: 3. 2.2.0 Development Status
(08:00:38 PM) eyedeekay: 4. Congestion Throttling
(08:00:38 PM) eyedeekay: 5. Hypothetical Traffic Management ( Flood of Tor Users)
(08:00:46 PM) mode (-m ) by zzz
(08:00:57 PM) eyedeekay: 1. Hi
(08:01:00 PM) eyedeekay: Hi
(08:01:04 PM) zzz: hi
(08:01:29 PM) eyedeekay: tunnel_king are you here for 4 and 5?
(08:02:10 PM) eyedeekay: OK we'll play those by ear for now then
(08:02:21 PM) eyedeekay: 2. 2.1.0 Release Status, 2.1.0 Mac Release Status
(08:03:32 PM) eyedeekay: 2.1.0 release happened yesterday, zzz released the software and the torrent went live, the percentage of the network which has updated has gone up about 7% since then if I'm counting the time correctly(so double check)
(08:04:07 PM) eyedeekay: I released Maven packages the same day, and will have Android updates out on all channels shortly after the end of this meeting
(08:04:29 PM) eyedeekay: Easy-Install for Windows will follow on that, and Easy-Install for Mac will be after that
(08:05:10 PM) eyedeekay: I believe that eche|on has given me the last clue I need to work out our notarization issue, we should know within a few days if that's true, which will correspond to a release
(08:05:30 PM) eyedeekay: Anything to add on the topic zzz?
(08:05:39 PM) zzz: just a little, thanks
(08:06:10 PM) zzz: the i2pd release a week ago looks promising, but that makes looking at the effects of our release a little harder
(08:06:22 PM) zzz: and i2pd plans a point release as early as today
(08:06:56 PM) zzz: so we won't have great info on what our release is doing, but as long as stats keep getting better, that's the main thing
(08:07:06 PM) zzz: far too early to say anything today, maybe in a week
(08:07:08 PM) zzz: EOT
(08:07:23 PM) eyedeekay: Thanks zzz
(08:07:42 PM) eyedeekay: 3. 2.2.0 Development Status
(08:08:52 PM) eyedeekay: I don't have a lot to say on this yet, most of my stuff has remained the same, but I believe we need to agree on a timeline for the release correct?
(08:09:13 PM) zzz: yeah, obviously we haven't done anything on 2.2.0 yet
(08:09:36 PM) zzz: I'd propose a standard 13 week cycle from here, unless we have any huge issues
(08:09:43 PM) eyedeekay: Sounds good to me
(08:09:46 PM) zzz: so that would be a release early April
(08:10:12 PM) aeiou_ is now known as aeiou
(08:10:14 PM) zzz: and put us firmly off our feb/may/aug/nov dates we've been on for several years, oh well
(08:10:40 PM) zzz: but we really need some time to do everything we didn't get to in our last shortened cycle
(08:10:48 PM) zzz: so let's pencil in 13 weeks
(08:10:49 PM) zzz: EOT
(08:11:22 PM) eyedeekay: Yeah, no argument here
(08:11:34 PM) eyedeekay: Plan for early April
(08:12:35 PM) eyedeekay: Anything else on 3?
(08:12:48 PM) eyedeekay: 4. Congestion Throttling and 5. Hypothetical Traffic Management ( Flood of Tor Users) were both added by tunnel_king on zzz.i2p, but I don't see such a name in the room, if you're here under another name, last call
(08:14:08 PM) eyedeekay: Anything else to discuss for the meeting?
(08:15:15 PM) eyedeekay: All right thanks zzz for coming, I promise to set an alarm for the one next month
(08:15:55 PM) zzz: no
(08:16:37 PM) eyedeekay: no nothing else for the meeting or no don't stop the meeting?
(08:16:38 PM) zzz: also I'd like to ask if eche|on is here and has anything to add on 2)
(08:16:38 PM) zzz: nope, that's it, everybody please click your update button to get that 2.1.0 goodness
(08:16:53 PM) zzz: nothing else, thanks

View File

@ -0,0 +1,11 @@
I2P dev meeting, January 10, 2023 @ 20:00 UTC
=============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz

View File

@ -0,0 +1,153 @@
(08:01:07 PM) eyedeekay: Hi everybody, sorry I'm late, got disconnected right before the meeting
(08:01:59 PM) eyedeekay: 1. Hi
(08:01:59 PM) eyedeekay: 2. 2.1.0 Status Report
(08:01:59 PM) eyedeekay: 3. 2.2.0 Development Status
(08:01:59 PM) eyedeekay: 4. Congestion Throttling
(08:01:59 PM) eyedeekay: 5. Hypothetical Traffic Management ( Flood of Tor Users)
(08:01:59 PM) eyedeekay: 6. Stickers for translators
(08:01:59 PM) eyedeekay: zzz where do you want to do your report about the DOS? 2 or own topic?
(08:02:45 PM) zzz: let's call it 3b)
(08:02:46 PM) zzz: or 2b)
(08:02:59 PM) eyedeekay: OK 2b then
(08:03:00 PM) zzz: your choice
(08:03:53 PM) eyedeekay: 1. Hi who all is here today besides me and zzz?
(08:03:58 PM) zzz: hi
(08:04:09 PM) not_bob: Here
(08:04:18 PM) echelonMAC: here
(08:04:18 PM) obscuratus: Hi
(08:04:29 PM) eyedeekay: Great turnout, thanks everybody
(08:04:30 PM) echelonMAC: on replacement system.
(08:05:06 PM) eyedeekay: 2. 2.1.0 Status Report
(08:05:15 PM) zzz: irc is laggier than usual so please allow a little extra time for responses
(08:05:38 PM) eyedeekay: Thanks zzz I will keep that in mind
(08:09:02 PM) eyedeekay: Where to even start... my focus has been on Android UX issues in particular fixing up things I was doing wrong when initializing the app
(08:09:04 PM) eyedeekay: Android will get a point release on that account
(08:10:00 PM) eyedeekay: The topic I'm sure is on everybody's mind right now is the network being under attack which has shifted everybody's attention
(08:10:05 PM) eyedeekay: And that is topic 2b
(08:10:59 PM) eyedeekay: Shoot I mixed up the topics, scratch that, that was supposed to go to 3. sorry, long week, lot going on
(08:12:03 PM) eyedeekay: zzz would you do me a favor to take 2? I think I am ill-equipped to present on everything which is going on
(08:12:28 PM) zzz: sure
(08:12:29 PM) zzz: but before I do
(08:12:56 PM) zzz: do you and echelonMAC have a 2.1.0 mac easy-install bundle progress report?
(08:13:17 PM) eyedeekay: Oh yes I can do that
(08:14:38 PM) eyedeekay: So, we've been closing in on issues, and right now echelonMAC and have different hypothesis on what's going on which we're both pursuing
(08:14:38 PM) eyedeekay: My hypothesis is that this all stems from a stale workaround for a bug in Java 14
(08:15:08 PM) eyedeekay: Where jpackage is supposed to sign the dylib files that are packed into a disk image(dmg) but which are in fact left unsigned
(08:15:33 PM) echelonMAC: in short: eyedeekaym did redo the signing script, I can buiodl and sign, but still wrong signing for apple
(08:15:55 PM) eyedeekay: zab worked around this by creating the .app directory and signing the stuff inside it then using jpackage only for the final packaging step
(08:16:35 PM) eyedeekay: so when we upgraded Java's we started signing everything twice, and we no longer needed to do that signing step manually
(08:16:47 PM) eyedeekay: echelonMAC correct me if I'm wrong but you think you have the wrong sort of keys?
(08:17:10 PM) echelonMAC: maybe, maybe not, unsure about that
(08:17:18 PM) echelonMAC: at least the logs showing this error
(08:17:53 PM) zzz: my question was higher level, what's the ETA, is 2.1.0 still a target or has that been abandoned and you're hoping for 2.2.0, or what?
(08:18:15 PM) echelonMAC: 2.1.0 is still the target, but currently no ETA
(08:18:39 PM) echelonMAC: I can build nearly instant, but digging deeper is currently out of time...
(08:18:48 PM) eyedeekay: I still want to cut a release of 2.1.0 as soon as we know we can pass notarization, IMO once we can pass it once we should be able to do it predictably
(08:18:59 PM) zzz: eyedeekay more or less committed to early april 2.2.0 in his blog post, you're not endorsing that ETA echelonMAC ?
(08:19:49 PM) echelonMAC: I am completely helpless and cant predict a ETA, as I do not full yunderstand signing and building yet.
(08:20:12 PM) echelonMAC: more or less, I do follow scripts blindly, if idk can fix the signage, the notarization is a 5 min job.
(08:20:24 PM) echelonMAC: IF the sign does work as appple expect it
(08:20:26 PM) zzz: ok then I recommend an edit of the blog post eyedeekay, let's not promise things we can't deliver on
(08:20:33 PM) eyedeekay: Will do
(08:21:19 PM) zzz: ok thanks you ready for my part of 2) ?
(08:21:41 PM) eyedeekay: Yes please
(08:21:48 PM) zzz: great
(08:22:00 PM) zzz: last meeting was one week after the release, now we're 4 weeks out
(08:22:15 PM) zzz: my hope was that expl. build success would climb steadily
(08:22:35 PM) zzz: from the low-20% to low-30%, and then "pop" out of congestion, back to low 40s
(08:22:45 PM) zzz: only the first part happened
(08:25:20 PM) zzz: and then we swung back and forth between low 20s and low 30s
(08:26:56 PM) zzz: so, we have some theories, see 2b)
(08:26:56 PM) zzz: but I'm happy with the performance of 2.1.0 otherwise
(08:26:56 PM) zzz: not too many bug reports
(08:26:56 PM) zzz: I'll give an overview of what we are fixing in 2b) and 3)
(08:26:56 PM) zzz: about 50% of the network has updated to 2.1.0 or the i2pd equivalent
(08:26:56 PM) zzz: everybody please update if you haven't
(08:26:56 PM) zzz: that's all I have for 2a), but I'll pause for a minute for questions / comments before starting 2b)
(08:28:33 PM) zzz: ok, 2b) current network conditions
(08:28:33 PM) zzz: over the weekend started an unambiguous attack
(08:28:33 PM) zzz: lots of floodfill routers
(08:28:33 PM) zzz: for the most part, the network overall, and java routers, are handling it ok
(08:28:33 PM) zzz: I do have one report of routers crashing with OOM (out of memory)
(08:28:54 PM) zzz: I understand that i2pd routers are really struggling with very low tunnel build success rates
(08:29:06 PM) not_bob: My fleet is up to date.
(08:29:15 PM) zzz: the attack is starting / stopping / changing several times a day
(08:29:37 PM) zzz: so we're only about 60 hours in to understanding it and discussing countermeasures
(08:30:15 PM) zzz: remember the tunnel build problem (now much more likely to be classified as a different attack) started Dec. 19 and took us several weeks to understand and address
(08:30:27 PM) zzz: so it's early days
(08:30:36 PM) not_bob: I have one I2P+ router and it's done well to weather this. But, my i2pd routers not so much. I've seen as low as 3% tunnel build success. I'm currently sitting around 10% on those routers.
(08:31:17 PM) zzz: but this is a straightforward sybil / DHT attack, new to us but familiar to anybody doing peer-to-peer / DHT applications
(08:31:53 PM) zzz: far too early to say if it will require a release ahead of schedule (for java i2p) or if so when
(08:32:23 PM) zzz: EOT, I'll wait a couple minutes for discussion / comments / questions
(08:33:24 PM) eyedeekay: Should people who wind up OOM increase the RAM available to their router?
(08:36:18 PM) zzz: yeah, that's a straightforward mitigation
(08:36:18 PM) zzz: stop your router, edit wrapper.config, restart
(08:36:18 PM) zzz: I expect I'll have mitigations in dev builds in a few days
(08:36:18 PM) dr|z3d: ideally you want your min heap at around 256M and your max ram at 2-3 times that.
(08:36:18 PM) not_bob: I do not currently have any stock I2P routers running.
(08:36:18 PM) zzz: I want to repeat what I said above that the attacks are evolving rapidly, and we want to take our time to address the overall issues
(08:36:18 PM) zzz: not to focus too narrowly on the specifics
(08:37:36 PM) zzz: back to you eyedeekay if there's nothing else on 2b)
(08:38:06 PM) eyedeekay: thanks very much zzz. 3) 2.2.0 Development Status
(08:39:51 PM) eyedeekay: As I mistakenly stated before, my focus has been on Android UX issues in particular fixing up things I was doing wrong when initializing the app, pretty basic stuff all things considered but all of which was due for improvement
(08:39:57 PM) eyedeekay: or outright fixing
(08:40:49 PM) eyedeekay: Examples being fixes for subscriptions and custom ports when building tunnels which got in several user's way after a large increase in users with 2.10
(08:41:07 PM) dr|z3d: as an aside, and to shine some light on the size of the attack, we've got a user reporting ~30K banned routers. so it's non-trivial :)
(08:41:07 PM) dr|z3d: (that'll be shiver, who's here)
(08:42:36 PM) mark22k: I got 56005 banned peers.
(08:42:58 PM) eyedeekay: Holy moley. I have 11027 and I thought that was a lot
(08:43:08 PM) moristo: Is this the work of a nation state--the banned routers or any other noticable patten?
(08:43:50 PM) moristo: Spectrum internet was off yesetrday in FL and Italy the day before.
(08:43:54 PM) moristo: *yesterday.
(08:43:55 PM) zzz: let's get back to 3) please and table further attack discussion until after the meeting
(08:44:05 PM) echelonMAC: Banned Peers (57053)
(08:44:22 PM) moristo: oh, is there a meeting in progress? My bad.
(08:46:50 PM) zzz: eyedeekay, you still with us?
(08:47:11 PM) eyedeekay: yeah I'm here
(08:47:37 PM) zzz: you have more on 3) or is it my turn?
(08:47:37 PM) eyedeekay: started a long one:
(08:47:37 PM) eyedeekay: i2p.firefox(Easy-Install for Windows is also getting worked on, more of the work is being done by removal there, updates are getting simplified now that the old admin-style installs are all migrated to user-style installs
(08:47:37 PM) eyedeekay: portable USB install support is on the horizon for 2.2.0
(08:47:43 PM) eyedeekay: With updates
(08:48:21 PM) eyedeekay: Other issues and user-complaints I'm addressing or deciding how to address are on that issue tracker
(08:48:28 PM) eyedeekay: EOT for me
(08:48:47 PM) zzz: ok you saw the NPE issue in i2p.i2p right?
(08:49:10 PM) eyedeekay: Yes I did, hot on the trail
(08:49:21 PM) zzz: ok holler if you need help ofc
(08:49:24 PM) zzz: 3) for me:
(08:49:47 PM) zzz: I finished the peer selection refactor I've been working on since september, finally
(08:50:31 PM) zzz: I think I fixed the erroneous symmetric nat indications that were in 2.1.0, but need somebody with that problem to test and report
(08:50:59 PM) zzz: got a cool new i2psnark search box
(08:51:19 PM) zzz: almost done with "congestion caps" (proposal 162)
(08:51:31 PM) echelonMAC: :-)
(08:51:49 PM) zzz: and some more tweaks to refine our handling of tunnel build congestion
(08:52:18 PM) zzz: late last week, I thought I was pretty much done with 2.2.0 and could relax for two months until the release
(08:52:31 PM) zzz: so, unfortunately, now we have a lot more to do
(08:52:48 PM) zzz: that's the way it goes sometimes
(08:53:24 PM) not_bob: Thank you for that, a major quality of life improvement.
(08:53:24 PM) zzz: EOT, I'll wait a minute for discussion, then back to you eyedeekay
(08:53:37 PM) zzz: haha not_bob you're welcome
(08:55:00 PM) eyedeekay: Last call for 3?
(08:55:20 PM) eyedeekay: 4. Congestion Throttling - I think this was a tunnel_king topic, is tunnel_king here?
(08:55:42 PM) zzz: back to you eyedeekay
(08:57:39 PM) eyedeekay: 4. Congestion Throttling, 5. Hypothetical Traffic Management ( Flood of Tor Users) - both introduced by tunnel_king, last call for tunnel_king
(08:59:01 PM) eyedeekay: OK last one, 6. Stickers for translators
(08:59:01 PM) eyedeekay: Specifically rules for people receiving stickers outside of the Americas
(08:59:58 PM) zzz: this was my topic, only because unresolved since last meeting
(09:00:28 PM) zzz: echelonMAC you have an answer?
(09:00:41 PM) echelonMAC: not en detail, but who wnats should receive a bunch of stickers if they sent their address
(09:01:04 PM) echelonMAC: aka sned a announcement in transifex and send out after receive of address
(09:01:19 PM) echelonMAC: but currently no new stickers arrivced here
(09:01:35 PM) eyedeekay: Tracking says the 10th
(09:01:55 PM) zzz: I'm awaiting echelonMAC to post the instructions on my forum, then I will copy/paste to transifex
(09:02:17 PM) echelonMAC: ok
(09:02:28 PM) zzz: that's where we've been for a month
(09:02:42 PM) zzz: thanks
(09:03:33 PM) eyedeekay: Anything else for 6 or for the meeting?
(09:03:36 PM) zzz: EOT on 6) for me, back to you eyedeekay
(09:04:32 PM) zzz: one closing word for the meeting: zzz.i2p the best place for news and weather, I'll post there when I know more than I do now
(09:04:32 PM) zzz: thanks
(09:04:55 PM) eyedeekay: Thanks very much for that zzz, and thanks everybody for coming to the meeting
(09:05:44 PM) eyedeekay: See you around IRC and same time next month
(09:08:55 PM) zzz: thanks eyedeekay
(09:08:55 PM) zzz: got thru it without disconnects

View File

@ -0,0 +1,14 @@
I2P dev meeting, February 07, 2023 @ 20:00 UTC
==============================================
Quick recap
-----------
* **Present:**
eyedeekay,
zzz,
not_bob,
echelonMAC,
obscuratus

View File

@ -19,9 +19,4 @@
{{ body }}
{% endautoescape %}
</div>
<p>
<a href="https://flattr.com/submit/auto?user_id=I2P&url={{ canonical() }}" target="_blank">
<img src="{{ url_for('static', filename='images/flattr-badge-large.png') }}" alt="Flattr this" title="Flattr this" border="0">
</a>
</p>
{% endblock %}

View File

@ -1,20 +1,12 @@
<p>{% trans -%}
Your web browser will need to be configured in order to browse web sites on I2P
and to utilize the outproxies available within I2P. Below are walkthroughs for
some of the most popular browsers.
{%- endtrans %}</p>
<p>{% trans -%} A web browser will need to be configured to access sites and services on the I2P network, and to utilize outproxies. Below are walkthroughs for some of the most popular browsers. {%- endtrans %}</p>
<h2>{{ _('Firefox Profile for Windows') }}</h2>
<p>{% trans profile='/firefox' -%}
If you are using Windows, the recommended way of accessing I2P is using the
<a href='{{ profile }}'>Firefox profile</a>.
{%- endtrans %}</p>
<p>{% trans -%}
If you do not wish to use that profile or are not on Windows, you need to
configure your browser yourself. Read below on how to that.
{%- endtrans %}</p>
<p>{% trans profile='/firefox' -%} If you are using Windows, the recommended way of accessing the I2P network is using the
<a href='{{ profile }}'>Firefox profile</a>. {%- endtrans %}</p>
<p><strong>{% trans -%} If you used the Easy-Install bundle, the Firefox profile is included and you can skip this page. {%- endtrans %}</strong></p>
<p>{% trans -%} If you do not wish to use that profile or are not on Windows, you will need to configure a browser. {%- endtrans %}</p>
<h2>{{ _('How to configure your browser') }}</h2>
<h2>{{ _('How To Configure Your Browser') }}</h2>
<ul>
<li><a href="#firefox">Firefox</a></li>
@ -26,94 +18,50 @@ configure your browser yourself. Read below on how to that.
<a name="firefox"></a>
<h3>Firefox</h3>
<h4>{% trans %}Experimental, extension-based Configuration{% endtrans %}</h4>
<p>{% trans %}A new way of automatically configuring the I2P Browser is
currently being tested. It uses the Firefox's "Container Tabs" to build private
browsing tools for use with I2P and I2P applications.{% endtrans %}</p>
<p>{% trans %}It does pre-configuration of your browser by enabling some of
the privacy Browser Settings like ResistFingerprinting, and enforces WebRTC proxy
obedience. It also contains menus, shortcuts, and monitoring tools improving
Firefox's integration with I2P. It is a by-product of the I2P Browser project.
{% endtrans %}</p>
<p>{% trans %}The extension, <a href="https://addons.mozilla.org/en-US/firefox/addon/i2p-in-private-browsing/">I2P in Private Browsing</a>,
can be obtained from the Mozilla addon store.
{% endtrans %}</p>
<h4>{% trans %}Extension-based Configuration: I2P in Private Browsing{% endtrans %}</h4>
<p>{% trans %}A new way of automatically configuring the I2P Browser is currently being tested. It uses the Firefox's "Container Tabs" to build private browsing tools for use with I2P and I2P applications.{% endtrans %}</p>
<p>{% trans %}It does pre-configuration of your browser by enabling some of the privacy Browser Settings like ResistFingerprinting, and enforces WebRTC proxy obedience. It also contains menus, shortcuts, and monitoring tools improving Firefox's integration
with I2P. It should not substantially interfere with your non-I2P Firefox tabs. {% endtrans %}</p>
<p>{% trans %}The extension, <a href="https://addons.mozilla.org/en-US/firefox/addon/i2p-in-private-browsing/">I2P in Private Browsing</a>, can be obtained from the Mozilla addon store. {% endtrans %}</p>
<p>{% trans %}The source code for the extension is available at <a href="https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox">i2pgit.org</a>. {% endtrans %}</p>
<h4>{% trans %}Instructions for Firefox 57 and above:{% endtrans %}</h4>
<p>{% trans -%}
From the Menu button in the top right, select <em>Preferences</em>.
Scroll down until you see the <em>Network Proxy</em> section, as shown in the
screenshot below. Click on <em>Settings</em>
{%- endtrans %}</p>
<img src="{{ url_for('static', filename='images/firefox57.preferences.png') }}"
alt="{{ _('Firefox57 Network Options') }}" title="{{ _('Firefox57 Network Options') }}">
<p>{% trans -%}
In the <em>Connection Settings</em> pop-up, select <em>Manual proxy
<p>{% trans -%} From the Menu button in the top right, select <em>Preferences</em>. Scroll down until you see the <em>Network Proxy</em> section, as shown in the screenshot below. Click on <em>Settings</em> {%- endtrans %}</p>
<img src="{{ url_for('static', filename='images/firefox57.preferences.png') }}" alt="{{ _('Firefox57 Network Options') }}" title="{{ _('Firefox57 Network Options') }}">
<p>{% trans -%} In the <em>Connection Settings</em> pop-up, select <em>Manual proxy
configuration</em>. Set both the HTTP and SSL Proxy to address
<code>127.0.0.1</code> with port <code>4444</code> as shown in the following
screenshot.
{%- endtrans %}</p>
<code>127.0.0.1</code> with port <code>4444</code> as shown in the following screenshot. {%- endtrans %}</p>
<img src="{{ url_for('static',
filename='images/firefox57.connectionsettings.png') }}" alt="{{ _('Firefox57
Connection Settings') }}" title="{{ _('Firefox57 Connection Settings') }}">
<p>{% trans -%}
Finally, go to the address <em>about:config</em> and find the property
media.peerConnection.ice.proxy_only. Ensure that this setting is True.
{%- endtrans %}</p>
<p>{% trans -%} Finally, go to the address <em>about:config</em> and find the property media.peerConnection.ice.proxy_only. Ensure that this setting is True. Now find the property keyword.enabled, and set it to False.{%- endtrans %}</p>
<img src="{{ url_for('static',
filename='images/firefox.webrtc.png') }}" alt="{{ _('Firefox57
PeerConnection Settings') }}" title="{{ _('Firefox57 PeerConnection Settings') }}">
<a name="chrome"></a>
<h3>{% trans %} Chrome {% endtrans %}</h3>
<h4>{% trans %}Experimental, extension-based Configuration{% endtrans %}</h4>
<p>{% trans %}An experimental, partially-automated configuration process for
Chrome is available. In order to configure it, create a new <em>Profile</em>
especially for your I2P browsing, separate from the default profile. Then install
this <a href="https://chrome.google.com/webstore/detail/i2pchromejs/ikdjcmomgldfciocnpekfndklkfgglpe"><em>Extension</em></a> in your newly-created profile. This profile
is now configured to use I2P. Highly detailed instructions are available at the
<a href="https://eyedeekay.github.io/I2P-Configuration-For-Chromium">homepage.</a>
{% endtrans %}</p>
<h4>{% trans %}Extension-based Configuration: I2PChrome.js(Experimental, additional configuration){% endtrans %}</h4>
<p>{% trans %}An experimental, partially-automated configuration process for Chrome is available. In order to configure it, create a new <em>Profile</em> especially for your I2P browsing, separate from the default profile. Then install this <a href="https://chrome.google.com/webstore/detail/i2pchromejs/ikdjcmomgldfciocnpekfndklkfgglpe"><em>Extension</em></a> in your newly-created profile. This profile is now configured to use I2P. Highly detailed instructions are available at the
<a href="https://eyedeekay.github.io/I2P-Configuration-For-Chromium">homepage.</a> {% endtrans %}</p>
<h4>{% trans %}All Chrome Versions{% endtrans %}</h4>
<p>{% trans -%}
Chromium-Based Browsers like Chrome have slightly different places for their
proxy settings depending on variant and platform. These instructions may be
slightly different in Brave or Iridium, for instance. From the <em>Main</em>
menu, navigate to the <em>Settings</em>, and search for the <em></em> menu item.
Clicking it will open the right settings for your platform.
{%- endtrans %}</p>
<p>{% trans -%} Chromium-Based Browsers like Chrome have slightly different places for their proxy settings depending on variant and platform. These instructions may be slightly different in Brave or Iridium, for instance. From the <em>Main</em> menu, navigate
to the <em>Settings</em>, and search for the <em></em> menu item. Clicking it will open the right settings for your platform. {%- endtrans %}</p>
<img src="{{ url_for('static', filename='images/chrome.proxy.png') }}" alt="{{ _('Chrome Proxy Options') }}" title="{{ _('Chrome Proxy Options') }}">
<p>{% trans -%}
On Windows, this button will launch you into the shared proxy settings used
by <a href="#ie8"><em>Internet Explorer</em></a>, and you can configure it by
following the Internet Explorer 8 guide.
{%- endtrans %}</p>
<p>{% trans -%} On Windows, this button will launch you into the shared proxy settings used by <a href="#ie8"><em>Internet Explorer</em></a>, and you can configure it by following the Internet Explorer 8 guide. {%- endtrans %}</p>
<a name="android"></a>
<h3>{% trans %} IceRaven and other Firefoxes for Android {% endtrans %}</h3>
<h4>{% trans %}Extension-based Configuration{% endtrans %}</h4>
<p>{% trans %}Modern Firefoxes(The "Fenix" based Firefoxes) do not generally have
an about:config page for you to configure proxy settings manually. It is further
not possible to use most extensions in Fenix-based Firefoxes. It is possible to
enable support about:config and enable more extensions in Firefox Nightly at the time
of this writing, but it's a manual and difficult process. <em>IceRaven</em> is a fork
of Firefox which enables a collection of extensions while Mozilla and the Mozilla
Community work on adding support for extensions to Firefox for Android. It provides
the easiest way of configuring a modern Firefox-based Browser for Android. It does
not come from Mozilla and carries no guarantees from them. <em>Installing the extension
<p>{% trans %}Modern Firefoxes(The "Fenix" based Firefoxes) do not generally have an about:config page for you to configure proxy settings manually. It is further not possible to use most extensions in Fenix-based Firefoxes. It is possible to enable support
about:config and enable more extensions in Firefox Nightly at the time of this writing, but it's a manual and difficult process. <em>IceRaven</em> is a fork of Firefox which enables a collection of extensions while Mozilla and the Mozilla Community
work on adding support for extensions to Firefox for Android. It provides the easiest way of configuring a modern Firefox-based Browser for Android. It does not come from Mozilla and carries no guarantees from them. <em>Installing the extension
in IceRaven will proxy all your IceRaven browsing over I2P.</em>{% endtrans %}</p>
<p>{% trans %}If you have not installed IceRaven yet, go to the next step. If you have been
using IceRaven for a while, go to the main menu, select the History tab, and make
sure that you have cleared information about your past browsing by tapping the
"Delete History" button.{% endtrans %}</p>
<p>{% trans %}Open the IceRaven main menu, and scroll to the top until you see the "Add-Ons"
submenu. Tap the "Add-Ons Manager" option in the "Add-Ons" submenu. Install
the extension named <em>I2P Proxy for Android and other Systems</em>.
{% endtrans %}</p>
<p>{% trans %}Your IceRaven browser is now configured to use I2P.
{% endtrans %}</p>
<p>{% trans %}This extension also works in pre-Fenix(Pre-Firefox-68) Firefox based
web browsers, if installed from the following addons.mozilla.org URL.
<em><a href="https://addons.mozilla.org/en-US/android/addon/i2p-proxy/">I2P Proxy for Android and Other Systems</a><em>
<p>{% trans %}If you have not installed IceRaven yet, go to the next step. If you have been using IceRaven for a while, go to the main menu, select the History tab, and make sure that you have cleared information about your past browsing by tapping the "Delete
History" button.{% endtrans %}</p>
<p>{% trans %}Open the IceRaven main menu, and scroll to the top until you see the "Add-Ons" submenu. Tap the "Add-Ons Manager" option in the "Add-Ons" submenu. Install the extension named <em>I2P Proxy for Android and other Systems</em>. {% endtrans %}</p>
<p>{% trans %}Your IceRaven browser is now configured to use I2P. {% endtrans %}</p>
<p>{% trans %}This extension also works in pre-Fenix(Pre-Firefox-68) Firefox based web browsers, if installed from the following addons.mozilla.org URL.
<em><a href="https://addons.mozilla.org/en-US/android/addon/i2p-proxy/">I2P Proxy for Android and Other Systems</a></em>
{% endtrans %}</p>
<p>{% trans %}This extension is identical to the Chromium extension and is built from the same source.{% endtrans %}</p>
<p>{% trans %}In order to enable extension support in Firefox Nightly, you should follow
@ -141,30 +89,24 @@ settings and your browser is set to use the I2P proxy.
<a name="TOS"></a>
<h3>{{ _('Outproxy Terms Of Service') }}</h3>
<p>{% trans -%}
Remember: I2P was not designed for creating proxies to the outer Internet.
Instead, it is meant to be used as an internal network.
The I2P network is a peer-to-peer overlay network.
Proxying to the clearnet is not part of its design or function with regards to its communication protecting network features.
{%- endtrans %}</p>
<p>{% trans -%}
<p><b>The I2P project itself does not run any proxies to the Internet.</b>
The only outproxy is a service from the privacy solutions project.
Consider donating to them for a continued stable service. Increased funding will
allow them to improve this service. </p>
<a href="http://privacysolutions.no"
target="_blank">http://privacysolutions.no</a>
<p><b>The I2P Project itself does not run any proxies to the Internet.</b>
The I2P software includes a default outproxy: exit.stormycloud.i2p.
These are run by StormyCloud Inc. </p>
<a href="https://stormycloud.org"
target="_blank">https://stormycloud.org</a>
{%- endtrans %}</p>
<p>{% trans http='false.i2p', https='outproxy-tor.meeh.i2p' -%}
By default, I2P comes with two outproxies configured: <code>{{ http }}</code>
and <code>{{ https }}</code>. Even the domain names are different, it's the same outproxy you hit.
(multi-homed/keyed for better performance)
<p>{% trans http='exit.stormycloud.i2p', https='exit.stormycloud.i2p' -%}
By default, I2P comes with one outproxy configured: <code>{{ http }}</code>.
{%- endtrans %}</p>
<p>{% trans -%}
Filtering is active on these outproxies (for example, mibbit and torrent
tracker access is blocked). I2P Sites
that are accessible via .i2p addresses are also not allowed via the outproxies.
As a convenience, the outproxy blocks ad servers.
I2P Sites that are accessible via .i2p addresses are also
not allowed via the outproxies.
{%- endtrans %}</p>
<p>{% trans -%}
<a href="https://www.torproject.org">Tor</a> is a good application to use as an
outproxy to the Internet.
<a href="https://www.torproject.org">Tor</a> provides a browser to use as an outproxy to the Internet.
{%- endtrans %}</p>
<!-- vim: set noai ff=unix nosi ft=html tw=79 et sw=4 ts=4 spell spelllang=en: -->

View File

@ -3,27 +3,19 @@
{% block content %}
<h1>{{ _('Debian I2P Packages') }}</h1>
<h2 id="bionic">{{ _('Debian Buster, Ubuntu Bionic, and later') }}</h2>
{% trans -%}
I2P is available in the official repositories for Ubuntu Bionic and later, and Debian Buster and Sid.
However, Debian Buster and Ubuntu Bionic (LTS) distributions will have older I2P versions.
If you are not running Debian Sid or the latest Ubuntu release,
use our Debian repo or Launchpad PPA to ensure you're running the latest I2P version.
{%- endtrans %}
<h2 id="others">{{ _('Debian or Ubuntu, All Versions') }}</h2>
{% trans -%}The Debian packages should work on most platforms running:{%- endtrans %}
<ul>
<li>{% trans %}<a href="#ubuntu">Ubuntu</a> (Precise <em>12.04</em> and newer){% endtrans %}</li>
<li><a href="#ubuntu">Mint</a></li>
<li>{% trans %}<a href="#debian">Debian Linux</a> (Wheezy and newer){% endtrans %}</li>
<li>{% trans %}<a href="#ubuntu">Ubuntu</a> (Bionic <em>18.04</em> and newer){% endtrans %}</li>
<li>{% trans %}<a href="#ubuntu">Mint</a>(Tara<em>19</em>) or newer{% endtrans %}</li>
<li>{% trans %}<a href="#debian">Debian Linux</a> (Buster and newer){% endtrans %}</li>
<li><a href="#debian">Knoppix</a></li>
</ul>
{% trans trac='http://trac.i2p2.de/newticket?component=package/debian&owner=killyourtv&cc=killyourtv@mail.i2p' -%}
{% trans gtitlab='https://i2pgit.org/i2p-hackers/i2p.i2p/' -%}
The I2P packages <em>may</em> work on systems not listed above. Please report any issues
with these packages on <a href="{{ trac }}">Trac</a> at
<a href="{{ trac }}">https://trac.i2p2.de</a>.
with these packages on <a href="{{ gtitlab }}">Gitlab</a> at
<a href="{{ gtitlab }}">i2p.i2p</a>.
{%- endtrans %}
<ul>
<li>{% trans %}Option 1: <a href="#ubuntu">Recent versions</a> of Ubuntu and its derivatives (<em>Try this if you're not using Debian)</em>{% endtrans %}</li>
@ -37,8 +29,8 @@ with these packages on <a href="{{ trac }}">Trac</a> at
{% trans %}Open a terminal and enter:{% endtrans %}<br />
<code>&nbsp;&nbsp;&nbsp; sudo apt-add-repository ppa:i2p-maintainers/i2p</code><br />
{% trans -%}
This command will add the PPA to /etc/apt/sources.list.d and fetch the
gpg key that the repository has been signed with. The GPG key ensures
This command will add the PPA to <code>/etc/apt/sources.list.d</code> and fetch
the gpg key that the repository has been signed with. The GPG key ensures
that the packages have not been tampered with since being built.
{%- endtrans %}
</li>
@ -55,27 +47,35 @@ was added with the earlier command.
<code>&nbsp;&nbsp;&nbsp;&nbsp;sudo apt-get install i2p</code></li>
</ol>
<h5>{{ _('Adding the PPA Using Synaptic') }}</h5>
<h5>{{ _('Adding the PPA Using the Software Center') }}</h5>
<ol>
<li>
{% trans -%}
Open Synaptic (System -&gt; Administration -&gt; Synaptic Package Manager).
{% trans -%}Open "Software and Updates" via the applications menu.
{%- endtrans %}
<img src="/_static/images/download/ubuntu/software-center-menu.png"></img>
</li>
<li>
{% trans -%}
Once Synaptic opens, select <em>Repositories</em> from the <em>Settings</em> menu.
{% trans -%}Select the "Other Software" tab and click the "Add" button at the
bottom to configure the PPA.
{%- endtrans %}
<img src="/_static/images/download/ubuntu/software-center-addother.png"></img>
</li>
<li>
{% trans -%}
Click the <em>Other Sources</em> tab and click <em>Add</em>. Paste <code>ppa:i2p-maintainers/i2p</code> into the APT-line field and click <em>Add Source</em>. Click the <em>Close</em> button then <em>Reload</em>.
{% trans -%}Add the PPA by pasting the URL: <code>ppa:i2p-maintainers/i2p</code>
into the PPA dialog.
{%- endtrans %}
<img src="/_static/images/download/ubuntu/software-center-ppatool.png"></img>
</li>
<li>
{% trans -%}
In the Quick Filter box, type in <code>i2p</code> and press enter. When <code>i2p</code> is returned in the results list, right click <code>i2p</code> and select <em>Mark for Installation</em>. After doing so you may see a <em>Mark additional required changes?</em> popup. If so, click <em>Mark</em> then <em>Apply</em>.
{% trans -%}Download the repository information with the "Reload" button.
{%- endtrans %}
<img src="/_static/images/download/ubuntu/software-center-reload.png"></img>
</li>
<li>
{% trans -%}Install the I2P software using the "Software" tool from the
applications menu.
{%- endtrans %}
<img src="/_static/images/download/ubuntu/software-center-software.png"></img>
</li>
</ol>
@ -86,106 +86,123 @@ part of <a href="#Post-install_work">starting I2P</a> and configuring it for you
<h2 id="debian">{{ _('Instructions for Debian') }}</h2>
<p><b>NOTICE:</b>
Our old Debian repos <a href="https://deb.i2p2.de/">deb.i2p2.de</a> and
<a href="http://deb.i2p2.no/">deb.i2p2.no</a> are EOL.
Please follow <a href="https://deb.i2p.net">these instructions</a>
to update to the new repository, <code>deb.i2p.net</code>.
</p>
<em>{% trans -%}Currently supported architectures{%- endtrans %}: amd64, i386, armhf, arm64, powerpc, ppc64el, s390x</em>
<p>{% trans -%}
Note: The steps below should be performed with root access (i.e., switching
user to root with <code>su</code> or by prefixing each command with <code>sudo</code>).
{%- endtrans %}</p>
<ol>
<li>{% trans -%}Ensure that <code>apt-transport-https</code> and <code>curl</code> are installed.{%- endtrans %}
<ol>,
<li>{% trans -%}Ensure that <code>apt-transport-https</code>, <code>curl</code>, <code>lsb-release</code> are installed.{%- endtrans %}
<pre>
<code>
sudo apt-get update
sudo apt-get install apt-transport-https curl</code>
sudo apt-get install apt-transport-https lsb-release curl</code>
</pre>
</li>
<li>{% trans file='/etc/apt/sources.list.d/i2p.list',file2='/etc/debian_version' %}
Check which version of Debian you are using on this page at the <a href="https://wiki.debian.org/LTS/" target="_blank">Debian wiki</a>
and verify with <code>{{ file2 }}</code> on your system.
Then, add lines like the following to <code>{{ file }}</code>.{% endtrans %}<br>
<br />
For Buster (stable):<br />
<pre>
<code>deb https://deb.i2p2.de/ buster main
deb-src https://deb.i2p2.de/ buster main</code>
</pre>
<br />
For Stretch (oldstable):<br />
<pre>
<code>deb https://deb.i2p2.de/ stretch main
deb-src https://deb.i2p2.de/ stretch main</code>
</pre>
<br />
For Jessie (oldoldstable):<br />
<pre>
<code>deb https://deb.i2p2.de/ jessie main
deb-src https://deb.i2p2.de/ jessie main</code>
</pre>
<br />
For Wheezy (obsolete):<br>
<pre>
<code>deb https://deb.i2p2.de/ wheezy main
deb-src https://deb.i2p2.de/ wheezy main</code>
</pre>
<br />
{% trans -%}Note: If you are running Debian Sid (testing), then you can install I2P directly from Debian's main repository{%- endtrans %}:
<pre>
<code>sudo apt-get install i2p</code>
</pre>
Then, for Debian Bullseye or newer distributions run the following command to create <code>{{ file }}</code>.{% endtrans %}<br>
<pre>
<code>
# Use this command on Debian Bullseye or newer only.
echo "deb [signed-by=/usr/share/keyrings/i2p-archive-keyring.gpg] https://deb.i2p.net/ $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/i2p.list
</code>
</pre>
{% trans -%}If you're using a downstream variant of Debian like LMDE or Kali Linux, the following command fill find the correct version for your distribution:{%- endtrans %}
<pre>
<code>
# Use this command on Debian Downstreams like LMDE or ParrotOS only.
echo "deb [signed-by=/usr/share/keyrings/i2p-archive-keyring.gpg] https://deb.i2p.net/ $(dpkg --status tzdata | grep Provides | cut -f2 -d'-') main" \
| sudo tee /etc/apt/sources.list.d/i2p.list
</code>
</pre>
{% trans -%}If you are using Debian Buster or older official Debian distributons, use the following command instead:{%- endtrans %}
<pre>
<code>
# Use this command on Debian Buster or older only.
echo "deb https://deb.i2p.net/ $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/i2p.list
</code>
</pre>
{% trans -%}If you're using a downstream variant of Debian like LMDE or Kali Linux, the following command fill find the correct version for your distribution:{%- endtrans %}
<pre>
<code>
# Use this command on Debian Buster or older only.
echo "deb https://deb.i2p.net/ $(dpkg --status tzdata | grep Provides | cut -f2 -d'-') main" \
| sudo tee /etc/apt/sources.list.d/i2p.list
</code>
</pre>
</li>
<li>{% trans repokey=url_for('static', filename='i2p-debian-repo.key.asc') -%}
Download <a href="{{ repokey }}">the key used to sign the repository</a>:{%- endtrans %}
<pre>
<code>
curl -o i2p-debian-repo.key.asc https://geti2p.net/_static/i2p-debian-repo.key.asc</code>
</pre>
<li>{% trans repokey=url_for('static', filename='i2p-debian-repo.key.gpg') -%}
Download <a href="{{ repokey }}">the key used to sign the repository</a>:{%- endtrans %}
<pre>
<code>
curl -o i2p-archive-keyring.gpg https://geti2p.net/_static/i2p-archive-keyring.gpg</code>
</pre>
</li>
<br />
<li>
{% trans -%}Check the fingerprint and owner of the key without importing anything{%- endtrans %}:<br />
<li>{% trans -%}Display the key fingerprint.{%- endtrans %}
<pre>
<code>
gpg -n --import --import-options import-show i2p-debian-repo.key.asc</code>
gpg --keyid-format long --import --import-options show-only --with-fingerprint i2p-archive-keyring.gpg
</code>
</pre>
{% trans -%}Verify that this key fingerprint matches the output:{%- endtrans %}
<pre>
<code>
7840 E761 0F28 B904 7535 49D7 67EC E560 5BCF 1346</code>
</pre>
</li>
<li>
{% trans -%} Add the key to APT's keyring{%- endtrans %}:<br />
<br />
<li>{% trans -%}Copy the keyring to the keyrings directory:{%- endtrans %}
<pre>
<code>
sudo apt-key add i2p-debian-repo.key.asc</code>
sudo cp i2p-archive-keyring.gpg /usr/share/keyrings</code>
</pre>
If you are using a distribution older than Debian Buster, you will also need
to symlink that key to <code>/etc/apt/trusted.gpg.d</code>.
<pre>
<code>
sudo ln -sf /usr/share/keyrings/i2p-archive-keyring.gpg /etc/apt/trusted.gpg.d/i2p-archive-keyring.gpg</code>
</pre>
</li>
<li>
{% trans %}Notify your package manager of the new repository by entering{% endtrans %}<br />
{% trans %}Notify your package manager of the new repository by entering:{% endtrans %}<br />
<pre>
<code>
sudo apt-get update</code>
</pre>
{% trans -%}
This command will retrieve the latest list of software from every
repository enabled on your system, including the I2P repository added in step
1.
{%- endtrans %}
</li><br />
<li>{% trans -%}
You are now ready to install I2P! Installing the <code>i2p-keyring</code>
package will ensure that you receive updates to the repository's GPG key.
{%- endtrans %}<br />
<pre>
</pre>{% trans -%}This command will retrieve the latest list of software
from every repository enabled on your system, including the I2P repository
added in step 1.{%- endtrans %}
</li>
<br />
<li>{% trans -%}You are now ready to install I2P! Installing the <code>i2p-keyring</code>
package will ensure that you receive updates to the repository's GPG key.
{%- endtrans %}<br />
<pre>
<code>
sudo apt-get install i2p i2p-keyring</code>
</pre></li>
</pre>
</li>
</ol>
<p>
{% trans -%}

View File

@ -4,7 +4,7 @@
{% block content %}
<h1 id="i2p-in-docker">{% trans -%}Installing I2P in Docker{%- endtrans %}</h1>
<h3 id="quick-start">{% trans -%}Very quick start{%- endtrans %}</h3>
<p>{% trans -%}If you just want to give I2P a quick try, follow these steps{%- endtrans %}:</p>
<p>{% trans -%}If you just want to give I2P a quick try or are using it in a home network, follow these steps{%- endtrans %}:</p>
<ol>
<li>{% trans -%}Create two directories "i2pconfig" and "i2ptorrents"{%- endtrans %}</li>
<li>{% trans -%}Copy the following text and save it in a file "docker-compose.yml".{%- endtrans %}</li>
@ -21,7 +21,7 @@ services:
<li>{% trans -%}Execute "docker-compose up"{%- endtrans %}</li>
<li>{% trans -%}Start a browser and go to http://127.0.0.1:7657 to complete the setup wizard.{%- endtrans %}</li>
</ol>
<p>{% trans -%}<p>Note that this quick-start approach is not suitable for production use. If you want to use I2P in production please read all the instructions on this page.{%- endtrans %}</p>
<p>{% trans -%}Note that this quick-start approach is not recommended for production deployments on remote servers. Please read the rest of this document for more information.{%- endtrans %}</p>
<h3 id="building-an-image">{% trans -%}Building an image{%- endtrans %}</h3>
<p>{% trans -%}There is an i2P image available over at <a href="https://hub.docker.com">DockerHub</a>. If you do not want to use that one, you can build one yourself:{%- endtrans %}</p>
<pre><code>docker build -t i2p .</code></pre>
@ -29,13 +29,14 @@ services:
<h4 id="volumes">{% trans -%}Volumes{%- endtrans %}</h4>
<p>{% trans -%}The container requires a volume for the configuration data to be mounted. Optionally, you can mount a separate volume for torrent (“i2psnark”) downloads. See the example below.{%- endtrans %}</p>
<h4 id="memory-usage">{% trans -%}Memory usage{%- endtrans %}</h4>
<p>{% trans -%}By the default the image limits the memory available to the Java heap to 512MB. You can override that with the <code>JVM_XMX</code> environment variable.{%- endtrans %}</p>
<p>{% trans -%}By default the image limits the memory available to the Java heap to 512MB. You can override that with the <code>JVM_XMX</code> environment variable.{%- endtrans %}</p>
<h4 id="ports">{% trans -%}Ports{%- endtrans %}</h4>
<p>{% trans -%}There are several ports which are exposed by the image. You can choose which ones to publish depending on your specific needs.{%- endtrans %}</p>
<table>
<thead>
<tr class="header">
<th>{% trans -%}Port{%- endtrans %}</th>
<th>{% trans -%}Interface{%- endtrans %}</th>
<th>{% trans -%}Description{%- endtrans %}</th>
<th>{% trans -%}TCP/UDP{%- endtrans %}</th>
</tr>
@ -43,57 +44,81 @@ services:
<tbody>
<tr class="odd">
<td>4444</td>
<td>127.0.0.1</td>
<td>{% trans -%}HTTP Proxy{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>4445</td>
<td>127.0.0.1</td>
<td>{% trans -%}HTTPS Proxy{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="odd">
<td>6668</td>
<td>127.0.0.1</td>
<td>{% trans -%}IRC Proxy{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>7654</td>
<td>127.0.0.1</td>
<td>{% trans -%}I2CP Protocol{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="odd">
<td>7656</td>
<td>127.0.0.1</td>
<td>{% trans -%}SAM Bridge TCP{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>7657</td>
<td>127.0.0.1</td>
<td>{% trans -%}Router console{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="odd">
<td>7658</td>
<td>127.0.0.1</td>
<td>{% trans -%}I2P Site{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>7659</td>
<td>127.0.0.1</td>
<td>{% trans -%}SMTP Proxy{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="odd">
<td>7660</td>
<td>{% trans -%}POP Proxy{%- endtrans %}</td>
<td>127.0.0.1</td>
<td>{% trans -%}POP3 Proxy{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>7652</td>
<td>{% trans -%}LAN interface{%- endtrans %}</td>
<td>{% trans -%}UPnP{%- endtrans %}</td>
<td>{% trans -%}TCP{%- endtrans %}</td>
</tr>
<tr class="odd">
<td>7653</td>
<td>{% trans -%}LAN interface{%- endtrans %}</td>
<td>{% trans -%}UPnP{%- endtrans %}</td>
<td>{% trans -%}UDP{%- endtrans %}</td>
</tr>
<tr class="even">
<td>12345</td>
<td>0.0.0.0</td>
<td>{% trans -%}I2NP Protocol{%- endtrans %}</td>
<td>{% trans -%}TCP and UDP{%- endtrans %}</td>
</tr>
</tbody>
</table>
<p>{% trans -%}You probably want at least the Router Console (7657) and the HTTP Proxy (4444). If you want I2P to be able to receive incoming connections from the internet, and hence not think its firewalled, publish the I2NP Protocol port (12345) - but make sure you publish to a different random port, otherwise others may be able to guess youre running I2P in a Docker image.{%- endtrans %}</p>
<h4 id="example">{% trans -%}Networking{%- endtrans %}</h4>
<p>{% trans -%}A best-practices guide for cloud deployments is beyond the scope of this document, but in general you should try to minimize the number of published ports, while exposing only the I2NP ports to the internet. That means that the services in the list above which are bound to 127.0.0.1 (which include the router console) will need to be accessed via other methods like ssh tunneling or be manually configured to bind to a different interface.{%- endtrans %}</p>
<h4 id="example">{% trans -%}Example{%- endtrans %}</h4>
<p>{% trans -%}Here is an example container that mounts <code>i2phome</code> as home directory, <code>i2ptorrents</code> for torrents, and opens HTTP Proxy, IRC, Router Console and I2NP Protocols. It also limits the memory available to the JVM to 256MB.{%- endtrans %}</p>
<pre><code>docker run \

View File

@ -13,6 +13,10 @@ elaborate install process. To learn more about the Firefox profile that
comes bundled with this installer, visit <a href="{{ firefox }}">The Firefox
Profile Page</a>.
{%- endtrans %}</p>
<p>{% trans -%}
The latest I2P Easy-Install bundle for Windows has been released unsigned.
Please verify that the hashes match the downloads when installing the bundle.
{%- endtrans %}</p>
<h2>{{ _('What do I need to use it?') }}</h2>
<p><strong>{% trans -%}
Just Firefox (Or Tor Browser).{%- endtrans %}</strong>
@ -35,9 +39,9 @@ no need to refer to potentially unhelpful system-wide Windows settings. The I2P
it uses is otherwise identical to the "regular" I2P.
{%- endtrans %}</p>
<h2>{{ _('How do I use it?') }}</h2>
<p>{% trans firefox="https://www.mozilla.org/", postfilename=pver('I2P-Profile-Installer-%s.exe') -%}
<p>{% trans firefox="https://www.mozilla.org/" -%}
First, download and install <a href="{{ firefox }}">Firefox</a>, then,
just download and install <a href="{{ postfilename }}">this installer</a>. To
just download and install this installer(below). To
start an installer, "double-click" the downloaded .exe file.
{%- endtrans %}</p>
<p>{% trans -%}
@ -55,8 +59,8 @@ special configuration. You don't even need to close existing Firefox windows.
{%- set name = 'Windows' -%}
{%- set icon = 'images/download/windows.png' -%}
{%- set filename = 'I2P-Profile-Installer-%s-signed.exe' -%}
{%- set hash = 'eadb338a5895f73e6ed4985a9f7dfdac722f74c9bcdd0bd35957e7dcd5759a3a' -%}
{%- set filename = 'I2P-Easy-Install-Bundle-%s.exe' -%}
{%- set hash = '183874f5f60e9ae68e7ec06de66a244125e74ca211cec134952022a22d5514aa' -%}
{% call package_outer('windows', name, icon) %}
<div class = "file">
@ -76,18 +80,20 @@ special configuration. You don't even need to close existing Firefox windows.
{%- endtrans %}</p>
{% endcall %}
<!--
{% trans signer='zlatinb',
signingkey=url_for('static', filename='zlatinb.key.crt') -%}
The files are signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
-->
<h2>{{ _('What is in it?') }}</h2>
<p><strong>{% trans -%}
A Jpackaged I2P Router: {%- endtrans %}</strong>
{% trans -%}The I2P router is "jpackaged" which means that it includes all
the required Java components it needs to run successfully. It does not require
a separate Java installation, because it bundles a Java 16 Runtime which is only
a separate Java installation, because it bundles a Java Runtime which is only
used for I2P.
{%- endtrans %}</p>
<p><strong>{% trans -%}
@ -106,6 +112,8 @@ can be found in the license directory of the <code>i2p.firefox</code> project.
{%- endtrans %}</div>
<div><a href="https://i2pgit.org/i2p-hackers/i2p.firefox">{% trans -%}Gitlab Repository{%- endtrans %}</a></div>
<div><a href="https://github.com/i2p/i2p.firefox">{% trans -%}Github Repository{%- endtrans %}</a></div>
<div><a href="https://i2pgit.org/idk/i2p.plugins.firefox">{% trans -%}Gitlab Repository for Profile Manager{%- endtrans %}</a></div>
<div><a href="https://github.com/eyedeekay/i2p.plugins.firefox">{% trans -%}Github Repository Profile Manager{%- endtrans %}</a></div>
<div>{% trans -%}
If you wish to file an issue about the Firefox profile, please use Gitlab to
contact us. For security-sensitive issues, please remember to check the

View File

@ -14,6 +14,10 @@ time it installs the browser profile. This page has been kept to document the
motivations and design of the included Firefox profile. To learn more about the
new bundle, visit <a href="{{ nsis }}">The Easy Install Bundle Page</a>.
{%- endtrans %}</p>
<p>{% trans -%}
The latest I2P Easy-Install bundle for Windows has been released unsigned.
Please verify that the hashes match the downloads when installing the bundle.
{%- endtrans %}</p>
<h2>{{ _('I2P Firefox Browser Profile') }}</h2>
<p>{% trans -%}
Now that you have joined the I2P network, you will want to see I2P Sites and and
@ -32,16 +36,16 @@ some browser features, this also reduces the attack surface available to outside
This keeps you safer while browsing the Invisible Web.
{%- endtrans %}</p>
<h2>{{ _('How do I use it?') }}</h2>
<p>{% trans firefox="https://www.mozilla.org/", postfilename=pver('I2P-Profile-Installer-%s.exe') -%}
<p>{% trans firefox="https://www.mozilla.org/" -%}
First, download and install <a href="{{ firefox }}">Firefox</a>, then,
just download and install <a href="{{ postfilename }}">this installer</a>. To
just download and install this installer(below). To
start an installer, "double-click" the downloaded .exe file.
{%- endtrans %}</p>
{%- set name = 'Windows' -%}
{%- set icon = 'images/download/windows.png' -%}
{%- set filename = 'I2P-Profile-Installer-%s-signed.exe' -%}
{%- set hash = 'eadb338a5895f73e6ed4985a9f7dfdac722f74c9bcdd0bd35957e7dcd5759a3a' -%}
{%- set filename = 'I2P-Easy-Install-Bundle-%s.exe' -%}
{%- set hash = '183874f5f60e9ae68e7ec06de66a244125e74ca211cec134952022a22d5514aa' -%}
{% call package_outer('windows', name, icon) %}
<div class = "file">
@ -61,12 +65,6 @@ start an installer, "double-click" the downloaded .exe file.
{%- endtrans %}</p>
{% endcall %}
{% trans signer='zlatinb',
signingkey=url_for('static', filename='zlatinb.key.crt') -%}
The files are signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
<h2>{{ _('What is in it?') }}</h2>
<p><strong>{% trans -%}
A Jpackaged I2P Router: {%- endtrans %}</strong>
@ -91,6 +89,8 @@ can be found in the license directory of the <code>i2p.firefox</code> project.
{%- endtrans %}</div>
<div><a href="https://i2pgit.org/i2p-hackers/i2p.firefox">{% trans -%}Gitlab Repository{%- endtrans %}</a></div>
<div><a href="https://github.com/i2p/i2p.firefox">{% trans -%}Github Repository{%- endtrans %}</a></div>
<div><a href="https://i2pgit.org/idk/i2p.plugins.firefox">{% trans -%}Gitlab Repository for Profile Manager{%- endtrans %}</a></div>
<div><a href="https://github.com/eyedeekay/i2p.plugins.firefox">{% trans -%}Github Repository Profile Manager{%- endtrans %}</a></div>
<div>{% trans -%}
If you wish to file an issue about the Firefox profile, please use Gitlab to
contact us. For security-sensitive issues, please remember to check the

View File

@ -1,203 +1,97 @@
{% extends "global/layout.html" %}
{%- from "downloads/macros" import package, package_outer with context -%}
{% set release_signer = 'zzz' %}
{% block title %}{{ _('Download') }}{% endblock %}
{% block content_nav %}
{% extends "global/layout.html" %} {%- from "downloads/macros" import package, package_outer with context -%} {% set release_signer = 'idk' %} {% block title %}{{ _('Download') }}{% endblock %} {% block content_nav %}
<script type="text/javascript" src="/_static/site.js"></script>
<ul>
<li><a href="#windows">Windows</a>
<li><a href="#mac">Mac OS X</a>
<li><a href="#unix">GNU/Linux / BSD / Solaris</a>
<li><a href="#deb">Debian / Ubuntu</a>
<li><a href="#android">Android</a>
<li><a href="#source">{{ _('Source package') }}</a>
<li><a href="#auto">{{ _('Automatic updates') }}</a>
<li><a href="#update-file">{{ _('Manual updates') }}</a>
<li><a href="#windows">Windows</a></li>
<li><a href="#mac">Mac OS X</a></li>
<li><a href="#unix">GNU/Linux / BSD / Solaris</a></li>
<li><a href="#deb">Debian / Ubuntu</a></li>
<li><a href="#android">Android</a></li>
<li><a href="#source">{{ _('Source package') }}</a></li>
<li><a href="#auto">{{ _('Automatic updates') }}</a></li>
<li><a href="#update-file">{{ _('Manual updates') }}</a></li>
</ul>
{% endblock %}
{% block content %}
{% endblock %} {% block content %}
<!--<h3>{{ _('Lab') }}</h3>
{% trans lab='/lab' %}
If you would like to try the latest experimental I2P projects, visit the <a href = "{{ lab }}">I2P Lab</a>
{% endtrans -%}-->
<h3>{{ _('Getting Started') }}</h3>
<h4>{% trans %}Basic Steps{% endtrans %}</h4>
<p>{% trans %}For most platforms and systems, setting I2P installed and running will
consist of up to three steps.{% endtrans %}</p>
<ul>
<li><strong>{% trans %}Install Java: {% endtrans %}</strong>{% trans java='https://java.com/download/',
openjdk='http://openjdk.java.net/install/',
icedtea='http://icedtea.classpath.org/wiki/Main_Page',
arm8='https://openjdk.java.net/install/',
ibmsdk7='http://www.ibm.com/developerworks/java/jdk/linux/download.html',
detectjre='https://java.com/en/download/installed.jsp?detect=jre&amp;try=1' %} I2P is written in Java and requires
a Java system to be installed to run. In addition to the I2P download, you need to install Java if you do not have it
already installed. I2P requires Java Runtime Version 7 or higher.
(<a href="{{ java }}">Oracle</a>,
<a href="{{ openjdk }}">OpenJDK</a>, or
<a href="{{ icedtea }}">IcedTea</a>
Java Version 7 or 8 recommended,
except Raspberry Pi: <a href="{{ arm8 }}">OpenJDK 9 for ARM</a>,
PowerPC: <a href="{{ ibmsdk7 }}">IBM Java SE 7 or 8</a>)
<br />
<a href="{{ detectjre }}">Determine your installed Java version here</a>
or type <tt>java -version</tt> at your command prompt.
Only two platforms do not require Java to be installed before I2P is installed, those platforms are:{% endtrans %}</li>
<ul>
<li><strong>{% trans %}Android: {% endtrans %}</strong>{% trans %}Android comes with a Java virtual machine
as part of the platform, which I2P for Android uses. Therefore it is not necessary to install Java to use
I2P for Android.{% endtrans %}</li>
<li><strong>{% trans %}Debian and Ubuntu: {% endtrans %}</strong>{% trans %}On Debian and Ubuntu when using
a .deb package to install, the system will automatically install and configure a Java environment for you.{% endtrans %}</li>
</ul>
<li><strong>{% trans %}Install I2P: {% endtrans %}</strong>{% trans %}Once you have Java installed, you should
run the I2P installer for your platform. This step applies to all systems.{% endtrans %}</li>
<li><strong>{% trans %}Install/Configure a Browser(Optional): {% endtrans %}</strong>{% trans %}Finally, you'll need to
configure applications to use I2P. Many applications can use I2P, but the first application most people configure is a Web
Browser for browsing I2P sites. Detailed instructions are available on the{% endtrans %}
<a href="{{ site_url() }}about/browser-config">{% trans %}Browser Page{% endtrans %}</a>.</li>
</ul><p>
{% trans -%}
Windows: Java 8 is recommended. Java 9 or higher may not work.
{%- endtrans %}
</p>
<h3>{{ _('Release Notes') }}</h3>
<ul><li>
<a href="{{ site_url() }}blog/category/release">{{ _('Release Notes') }}</a>
</li><li>
<a href="https://raw.githubusercontent.com/i2p/i2p.i2p/master/history.txt">{{ _('Change Log') }}</a>
</li><li>
<a href="https://raw.githubusercontent.com/i2p/i2p.i2p/master/debian/changelog">{{ _('Debian Change Log') }}</a>
</li><li>
<a href="https://raw.githubusercontent.com/i2p/i2p.android.base/master/CHANGELOG">{{ _('Android Change Log') }}</a>
</li></ul>
<h3>{{ _('Pick your I2P Bundle') }}</h3>
<p>
When you download the I2P software bundle, you get everything you need to connect
and start participating in the I2P network and community. It even includes basic
applications for every user, like e-mail, bittorrent, and a basic I2P Site for
you to personalize and share.
</p>
<p>After you've installed, a set up wizard will help you configure a few
important things like how much bandwidth you would like to share while your
router begins to make connections to the network. After the set up wizard is
complete, you will be directed to the console home page where you can access
the rest of the applications or configure, monitor, or troubleshoot your
I2P connections.</p>
<ul>
<li>
<a href="{{ site_url() }}blog/category/release">{{ _('Release Notes') }}</a>
</li>
<li>
<a href="https://raw.githubusercontent.com/i2p/i2p.i2p/master/history.txt">{{ _('Change Log') }}</a>
</li>
<li>
<a href="https://raw.githubusercontent.com/i2p/i2p.i2p/master/debian/changelog">{{ _('Debian Change Log') }}</a>
</li>
<li>
<a href="https://raw.githubusercontent.com/i2p/i2p.android.base/master/CHANGELOG">{{ _('Android Change Log') }}</a>
</li>
</ul>
<div class="downloadlist">
<h5>{%- trans %}I2P for Windows{%- endtrans %}</h5>
{% call package('windows') %}
<p>{% trans -%}
After installing Java, download the file and double-click to run it.
{%- endtrans %}</p>
<h3>{% trans %}Easy-Install Bundle (Beta){% endtrans %}</h3>
<p>{% trans java='https://java.com/download' -%}The default I2P installer requires Java to be installed. You can obtain it from <a href="{{java}}">Oracle</a> or from your choice of Java distribution. After installing Java, download the file and double-click
to run it. {%- endtrans %}</p>
<h3>{% trans %}Easy Install Bundle For Windows (Beta){% endtrans %}</h3>
<div class="file">
<p>{% trans %}It's now possible to install all I2P components using
a single package(<strong>No Java Required</strong>). To try out the new installer, click here.
This bundle can also be used to configure a Firefox Profile. It will not
interfere with an existing I2P installation if one exists.
{% endtrans %}</p>
<a class="default" href="/nsis">{% trans %}I2P Easy Install Bundle (Beta){% endtrans %}</a>
<p>{% trans %}It is now possible to install all I2P components using a single package (<strong>No Java required</strong>). To try out the new installer, click below. This bundle can also be used to configure a Firefox Profile. It will not interfere
with an existing I2P installation if one exists.{% endtrans %}</p>
<a class="default" href="/nsis">{% trans %}I2P Easy Install Bundle For Windows (Beta){% endtrans %}</a>
</div>
<h3>{% trans %}Detailed Install Guide{% endtrans %}</h3>
<div class="file">
<p></p>
<a class="default" href="{{ get_url('downloads_windows') }}">{% trans %}Here is a helpful guide to installing I2P for Windows using a separate Java installation and the classic installer.{% endtrans %}</a>
<p></p>
<a class="default" href="{{ get_url('downloads_windows') }}">{% trans %}Here is a helpful guide to installing I2P for Windows using a separate Java installation and the classic installer.{% endtrans %}</a>
</div>
{% endcall %}
{% endcall %}
<h5>{%- trans %}I2P for Mac OSX{%- endtrans %}</h5>
{% call package('mac') %}
<p>{% trans i2pversion=ver() -%}
The most reliable way to launch the installer is from a terminal like this:
<code>java -jar i2pinstall_{{ i2pversion }}.jar</code>. This will launch the GUI installer.
Depending on how your computer is set up, you may be able to start the
installer by double-clicking the &quot;i2pinstall_{{ i2pversion }}.jar&quot; file or
right-clicking the file and selecting &quot;Open with Java&quot;.
Unfortunately, this behaviour is difficult to predict.
{%- endtrans %}</p>
<h3>{% trans %}Command line (headless) install:{% endtrans %}</h3>
{% trans i2pversion=ver() -%}
I2P can also be installed in a terminal environment, which may be especially
useful for servers, containers, or certain virtual machines. If you wish to
use the installer without a GUI, you can use the command
<code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> to follow
the install procedure in your terminal.
{%- endtrans %}
<h3>{% trans %}DMG Bundle (Beta){% endtrans %}</h3>
If you do not want to use the installer or do not have a Java Runtime Environment available
on your Mac, you can try our latest DMG bundle.
<h5>{%- trans %}I2P for Mac OS X{%- endtrans %}</h5>
{% call package('mac') %}
<p>{% trans i2pversion=ver() -%} I2P is available as a Java application for Mac OSX. It is distributed as a Java <code>.jar</code> installer and therefore MacOS will ask you for explicit permission to run the software.
{%- endtrans %}</p>
<div class="file">
<a class="default" href="{{ get_url('downloads_mac') }}">{% trans %}Mac OS DMG Bundle (BETA){% endtrans %}</a>
<p></p>
<a class="default" href="{{ get_url('downloads_macos') }}">{% trans %}Here is a helpful guide to installing I2P for Mac OS using a separate Java installation and the classic installer.{% endtrans %}</a>
</div>
{% endcall %}
{% endcall %}
<h5>{%- trans %}I2P for Linux{%- endtrans %}</h5>
{% call package('unix') %}
<p>{% trans i2pversion=ver() -%}
The most reliable way to launch the installer is from a terminal like this:
<code>java -jar i2pinstall_{{ i2pversion }}.jar</code>. This will launch the GUI installer.
Depending on how your computer is set up, you may be able to start the
installer by double-clicking the &quot;i2pinstall_{{ i2pversion }}.jar&quot; file or
right-clicking the file and selecting &quot;Open with Java&quot;.
Unfortunately, this behaviour is difficult to predict.
{%- endtrans %}</p>
{% call package('unix') %}
<p>{% trans i2pversion=ver() -%} The most reliable way to launch the installer is from a terminal like this:
<code>java -jar i2pinstall_{{ i2pversion }}.jar</code>. This will launch the GUI installer. Depending on how your computer is set up, you may be able to start the installer by double-clicking the &quot;i2pinstall_{{ i2pversion }}.jar&quot; file
or right-clicking the file and selecting &quot;Open with Java&quot;. Unfortunately, this behaviour is difficult to predict. {%- endtrans %}</p>
<h3>{% trans %}Command line (headless) install:{% endtrans %}</h3>
{% trans i2pversion=ver() -%}
I2P can also be installed in a terminal environment, which may be especially
useful for servers, containers, or certain virtual machines. If you wish to
use the installer without a GUI, you can use the command
<code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> to follow
the install procedure in your terminal.
{%- endtrans %}
{% endcall %}
{% trans i2pversion=ver() -%} I2P can also be installed in a terminal environment, which may be especially useful for servers, containers, or certain virtual machines. If you wish to use the installer without a GUI, you can use the command
<code>java -jar i2pinstall_{{ i2pversion }}.jar -console</code> to follow the install procedure in your terminal. {%- endtrans %} {% endcall %}
<h5>{%- trans %}I2P for Debian and Ubuntu{%- endtrans %}</h5>
{% call package_outer('deb', 'Debian / Ubuntu', 'images/download/debian-ubuntu.png') %}
{% call package_outer('deb', 'Debian / Ubuntu', 'images/download/debian-ubuntu.png') %}
<div class="file">
<a class="default" href="{{ get_url('downloads_debian') }}">{% trans %}Packages for Debian &amp; Ubuntu are available.{% endtrans %}</a>
<a class="default" href="{{ get_url('downloads_debian') }}">{% trans %}Packages for Debian &amp; Ubuntu are available.{% endtrans %}</a>
</div>
<p>{% trans -%}
I2P is available in the official repositories for Ubuntu Bionic and later, and Debian Buster and Sid.
However, Debian Buster and Ubuntu Bionic (LTS) distributions will have older I2P versions.
If you are not running Debian Sid or the latest Ubuntu release,
use our Debian repo or Launchpad PPA to ensure you're running the latest I2P version.
{%- endtrans %}</p>
{% endcall %}
<p>{% trans -%} I2P is available in the official repositories for Ubuntu Bionic and later, and Debian Buster and Sid. However, Debian Buster and Ubuntu Bionic (LTS) distributions will have older I2P versions. If you are not running Debian Sid or the
latest Ubuntu release, use our Debian repo or Launchpad PPA to ensure you're running the latest I2P version. {%- endtrans %}</p>
{% endcall %}
<h5>{%- trans %}I2P for Android{%- endtrans %}</h5>
{% call package('android') %}
{% call package('android') %}
<div class="warning">
{% trans -%}
Requires Android 4.0 (Ice Cream Sandwich) or higher. If you earlier installed
I2P, unfortunately this release fixes some IPC issues which will force you to uninstall your current installation before installing this.
{%- endtrans %}
{% trans -%}
512 MB RAM minimum; 1 GB recommended.
{%- endtrans %}
{% trans -%}
The releases are not compatible with eachother, as they have different signatures. Uninstall them
completely before installing any other version. The apk's from download.i2p2.de are signed by idk.
{%- endtrans %}
{% trans -%} Requires Android 4.0 (Ice Cream Sandwich) or higher. If you earlier installed I2P, unfortunately this release fixes some IPC issues which will force you to uninstall your current installation before installing this. {%- endtrans %} {% trans
-%} 512 MB RAM minimum; 1 GB recommended. {%- endtrans %} {% trans -%} The releases are not compatible with eachother, as they have different signatures. Uninstall them completely before installing any other version. The apk's from download.i2p2.de
are signed by idk. {%- endtrans %}
</div>
{% endcall %}
{% endcall %}
<h5>{%- trans %}I2P for Docker{%- endtrans %}</h5>
{% call package_outer('docker', 'Docker', 'images/download/docker.png') %}
{% call package_outer('docker', 'Docker', 'images/download/docker.png') %}
<div class="meta">
<!--
TODO: next time we do a release and set a git tag, change this to match the
@ -206,9 +100,7 @@ I2P connections.</p>
<code>1de04ec13945a0505e5b23e2bd22ad9cfaac0da3372c972160b58322b1ca48eb</code>
</div>-->
</div>
<p>{% trans -%}I2P is now available as a Docker package from the Docker Hub.
You may retrieve the image by running the 'docker pull' command.
{%- endtrans %}
<p>{% trans -%}I2P is now available as a Docker package from the Docker Hub. You may retrieve the image by running the 'docker pull' command. {%- endtrans %}
</p>
<pre><code>{% trans-%}
docker pull geti2p/i2p
@ -216,107 +108,54 @@ I2P connections.</p>
</pre></code>
<a href="https://hub.docker.com/r/geti2p/i2p/">Docker Hub</a>
<div class="file">
<a class="default" href="{{ get_url('downloads_docker') }}">{% trans %}Additional instructions for configuring your container can be found here.{% endtrans %}</a>
<a class="default" href="{{ get_url('downloads_docker') }}">{% trans %}Additional instructions for configuring your container can be found here.{% endtrans %}</a>
</div>
{% endcall %}
{% call package('source') %}
<p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'),
gitrepo='http://'+i2pconv('git.repo.i2p')+'/w/i2p.i2p.git',
github='https://github.com/i2p/i2p.i2p',
i2pversion=ver() -%}
Alternately, you can fetch the source from <a href="{{ monotoneurl }}#getting-the-i2p-code">monotone</a>
or via Git from <a href="{{ gitrepo }}">git.repo.i2p</a> or <a href="{{ github }}">Github</a>.
<br />
Run <code>(tar xjvf i2psource_{{ i2pversion }}.tar.bz2 ; cd i2p-{{ i2pversion }} ; ant pkg)</code> then either
run the GUI installer or headless install as above.
{%- endtrans %}</p>
<p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'),
github='https://github.com/i2p/i2p.android.base' -%}
Android source is in <a href="{{ monotoneurl }}#getting-the-i2p-code">git</a>
and on <a href="{{ github }}">Github</a>.
Android builds require the I2P source.
See the documentation in the Android source for additional build requirements and instructions.
{%- endtrans %}</p>
{% endcall %}
{% endcall %} {% call package('source') %}
<p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'), gitrepo='http://'+i2pconv('git.repo.i2p')+'/w/i2p.i2p.git', github='https://github.com/i2p/i2p.i2p', android='https://github.com/i2p/i2p.android.base', i2pversion=ver() -%} Alternately,
you can fetch the source via <a href="{{ monotoneurl }}#getting-the-i2p-code">Git</a> from <a href="{{ gitrepo }}">git.repo.i2p</a> or <a href="{{ github }}">Github</a>.
<br /> Run <code>(tar xjvf i2psource_{{ i2pversion }}.tar.bz2 ; cd i2p-{{ i2pversion }} ; ant pkg)</code> then either run the GUI installer or headless install as above. {%- endtrans %}</p>
<p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'), github='https://github.com/i2p/i2p.android.base' -%} Android source is also in <a href="{{ monotoneurl }}#getting-the-i2p-code">git</a> on <a href="{{ android }}">Github</a>. Android
builds require the I2P source. See the documentation in the Android source for additional build requirements and instructions. {%- endtrans %}</p>
{% endcall %}
</div>
{% trans signer=release_signer,
signingkey=site_url('get-involved/develop/release-signing-key') -%}
The files are signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
{% trans signer='zlatinb',
signingkey=url_for('static', filename='zlatinb.key.crt') -%}
The Windows installer is signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
{% trans signer='mikalv (meeh)',
signingkey=url_for('static', filename='mikalv.key.crt') -%}
The Mac OS X native installer is signed by {{ signer }} with his Apple Developer ID certificate,
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
{% trans signer=release_signer, signingkey=site_url('get-involved/develop/release-signing-key') -%}The files are signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.{%- endtrans %}
<!--
{% trans signer='zlatinb', signingkey=url_for('static', filename='zlatinb.key.crt') -%}The Windows installer is signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.{%- endtrans %}
{% trans signer='mikalv (meeh)', signingkey=url_for('static', filename='mikalv.key.crt') -%}The Mac OS X native installer is signed by {{ signer }} with his Apple Developer ID certificate,
<a href="{{ signingkey }}">whose key is here</a>.{%- endtrans %}
-->
<h3 id="update">{{ _('Updates from earlier releases:') }}</h3>
<p>{% trans -%}
Both automatic and manual upgrades are available for the release.
{%- endtrans %}</p>
<p>{% trans -%} Both automatic and manual upgrades are available for the release. {%- endtrans %}</p>
{% call package_outer('auto', _('Automatic updates'), 'images/download/update-auto.png') %}
<p>{% trans -%}
If you are running 0.7.5 or later, your router should detect the
new release. To upgrade simply click the 'Download Update' button on your router console
when it appears.
{%- endtrans %}</p>
<div class="warning">
<p>{% trans -%}
Since 0.9.23, some releases are signed by str4d, whose signing key has been in the router
since 0.9.9. Routers older than 0.9.9 will fail to verify update files signed by str4d,
and will need to be manually updated using the process below.
{%- endtrans %}</p>
</div>
{% endcall %}
{% call package('update-file') %}
<p>{% trans -%} If you are running 0.7.5 or later, your router should detect the new release. To upgrade simply click the 'Download Update' button on your router console when it appears. {%- endtrans %}</p>
<div class="warning">
<p>{% trans -%} Since 0.9.23, some releases are signed by str4d, whose signing key has been in the router since 0.9.9. Routers older than 0.9.9 will fail to verify update files signed by str4d, and will need to be manually updated using the process below.
{%- endtrans %}</p>
</div>
{% endcall %} {% call package('update-file') %}
<ol>
<li>
{% trans -%}
Download the file to your I2P
installation directory and <b>rename as i2pupdate.zip</b>.
(alternately, you can get the source as above and run "ant updater", then copy the
resulting i2pupdate.zip to your I2P installation directory). You do
NOT need to unzip the file.
{%- endtrans %}
</li>
<li>
{% trans -%}
Click <a href="http://localhost:7657/configservice.jsp">"Restart"</a>
{%- endtrans %}
</li>
<li>
{% trans -%}
Grab a cup of coffee and come back in 11 minutes
{%- endtrans %}
</li>
<li>
{% trans -%} Download the file to your I2P installation directory and <b>rename as i2pupdate.zip</b>. (alternately, you can get the source as above and run "ant updater", then copy the resulting i2pupdate.zip to your I2P installation directory).
You do NOT need to unzip the file. {%- endtrans %}
</li>
<li>
{% trans -%} Click <a href="http://localhost:7657/configservice.jsp">"Restart"</a> {%- endtrans %}
</li>
<li>
{% trans -%} Grab a cup of coffee and come back in 11 minutes {%- endtrans %}
</li>
</ol>
{% endcall %}
{% trans signer=release_signer,
signingkey=site_url('get-involved/develop/release-signing-key') -%}
The file is signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>.
{%- endtrans %}
{% endcall %} {% trans signer=release_signer, signingkey=site_url('get-involved/develop/release-signing-key') -%} The file is signed by {{ signer }},
<a href="{{ signingkey }}">whose key is here</a>. {%- endtrans %}
<h3>{{ _('Previous Releases') }}</h3>
{% trans echelon=i2pconv('echelon.i2p') -%}
Previous releases are available on <a href="http://code.google.com/p/i2p/downloads/list?can=1">Google Code</a>
and <a href="https://launchpad.net/i2p/trunk">Launchpad</a>
and within the I2P network on <a href="http://{{ echelon }}/">{{ echelon }}</a>.
{%- endtrans %}
{% endblock %}
{% trans echelon=i2pconv('echelon.i2p') -%} Previous releases are available on <a href="http://code.google.com/p/i2p/downloads/list?can=1">Google Code</a> and <a href="https://launchpad.net/i2p/trunk">Launchpad</a> and within the I2P network on <a href="http://{{ echelon }}/">{{ echelon }}</a>.
{%- endtrans %} {% endblock %}

View File

@ -1,11 +1,11 @@
{% extends "global/layout.html" %}
{%- from "downloads/macros" import package_outer with context -%}
{% block title %}Mac OS DMG Bundle (BETA){% endblock %}
{% block title %}Mac OS X Easy Install Bundle{% endblock %}
{% block content %}
<h1>{{ _('Mac OS DMG Bundle (BETA)') }}</h1>
<h1>{{ _('Mac OS Easy Install Bundle') }}</h1>
<p>{% trans -%}
We are excited to offer you a DMG bundle for Mac OS. It installs and behaves
We are excited to offer you a DMG-based bundle for Mac OS. It installs and behaves
the same way many other Mac OS applications do and does not require a Java
Runtime Environment to be available.
{%- endtrans %}</p>
@ -35,30 +35,72 @@ it makes I2P easier to install and work with on Apple computers by using tools
that are familiar and built-into the operating system.
{%- endtrans %}</p>
{%- set name = 'Windows' -%}
{%- set name = 'OSX' -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- set filename = 'I2P-%s.dmg' -%}
{%- set hash = '07c729c26fc8a31c0e74fe7b4de7be1f8e390d018748322ada35b29de9d' -%}
{%- set filename_arm64 = 'I2P-arm64-%s.dmg' -%}
{%- set hash = '4bd75d633d497cc25cd256ec7cfcddec2a25d87ad118d0c125c788623d23a98e' -%}
{%- set hash_arm64 = '773bcf127a2e1c0eafee944753a772426c1f7b5c6a8fb3f4d0b7e87bdcfc840b' -%}
<p><b>Important Note:</b>
The 2.1.0 Mac OSX Easy Install Bundle release is delayed.
Please install the 1.9.0 release below.
You will be notified in the router console when the 2.1.0 update is available.
Thank you for your patience.
</p>
{% call package_outer('osx', name, icon) %}
<div class = "file">
<a class = "default" href="{{ url_for('downloads_redirect', version=ver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=ver(filename) )}}">
<span class = "name">{{ ver(filename) }}</span><br/>
<a class = "default" href="{{ url_for('downloads_redirect', version=mver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=mver(filename) )}}">
<span class = "name">Intel (x86-64)</span><br/>
<span class = "name">{{ mver(filename) }}</span><br/>
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=ver(), file=ver(filename)) }}">{{ _('select alternate mirror') }}</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=mver(), file=mver(filename)) }}">{{ _('select alternate mirror') }}</a>
</div>
<div class="meta">
<div class="hash">
<code>{{ hash }}</code>
</div>
</div>
<p>{% trans -%}
Download that file and double-click on it. Accept the License Agreement, then
{% endcall %}
{% call package_outer('osx', name, icon) %}
<div class = "file">
<a class = "default" href="{{ url_for('downloads_redirect', version=mver(), net=def_mirror.net, protocol=def_mirror.protocol, domain=def_mirror.domain, file=mver(filename_arm64) )}}">
<span class = "name">Apple Silicon (arm64)</span><br/>
<span class = "name">{{ mver(filename_arm64) }}</span><br/>
<span class="mirror">{{ _('Mirror:') }} <img src="{{ url_for('static', filename='images/flags/'+def_mirror.country+'.png') }}" /> {{ def_mirror.org }}</span>
</a>
<a class="mirrors" href="{{ get_url('downloads_select', version=mver(), file=mver(filename_arm64)) }}">{{ _('select alternate mirror') }}</a>
</div>
<div class="meta">
<div class="hash">
<code>{{ hash_arm64 }}</code>
</div>
</div>
{% endcall %}
<h2>{{ _('Instructions') }}</h2>
<p>{% trans -%}
Download the appropriate file for your Mac hardware and double-click on it. Accept the License Agreement, then
drag the <code>I2P</code> icon on top of the <code>Applications</code> icon.
Launch I2P from Finder.
{%- endtrans %}</p>
{% endcall %}
{%- endtrans %}</p>
<h3>{{ _('Apple Silicon Notes') }}</h3>
<p>{% trans -%}
If you own an Apple silicon Mac and have previously installed the Intel bundle on it you need to change the update configuration to make sure the next I2P update does not revert your bundle to Intel.
{%- endtrans %}</p>
<p>{% trans -%}
Go to the "Configure Update" page, usually located at:
{%- endtrans %}</p>
<code>http://127.0.0.1:7657/configupdate</code>
<p>{% trans -%}
Then copy-paste the following in the "News URL" field:
{%- endtrans %}</p>
<code>http://tc73n4kivdroccekirco7rhgxdg5f3cjvbaapabupeyzrqwv5guq.b32.i2p/mac-arm64/stable/news.su3</code>
<h2>{{ _('Limitations') }}</h2>
<p>{% trans -%}

View File

@ -0,0 +1,176 @@
{% extends "global/layout.html" %}
{% block title %}Apple MacOS{% endblock %}
{% block accuratefor %}0.9.47{% endblock %}
{% block content %}
<h1>{{ _('Separately Installing I2P and its dependencies on MacOS(The Long Way)') }}</h1>
<p>{% trans -%}
This is a detailed, step-by-step guide to installing and configuring I2P, including all dependencies and setting up a browser, on a new MacOS system.
Many users will be able to skip steps if they already have Java 8 or Firefox installed.{%- endtrans %}</p>
<h2>{{ _('So what are we going to do here?') }}</h2>
<p>{% trans -%}We're going to finish four tasks. We are going to:{%- endtrans %}</p>
<ol>
<li><a href="#part-one-install-java">{% trans -%}Install Java{%- endtrans %}</a></li>
<li><a href="#part-two-install-i2p">{% trans -%}Install I2P{%- endtrans %}</a></li>
<li><a href="#part-three-configure-i2p-app">{% trans -%}Configure I2P App{%- endtrans %}</a></li>
<li><a href="#part-four-configure-i2p-bandwidth">{% trans -%}Configure I2P Bandwidth{%- endtrans %}</a></li>
</ol>
<h3 id="part-one-install-java">{{ _('Part One: Install Java') }}</h3>
<p>{% trans -%}
In order to use I2P, you will need a suitable Java environment.
This guide uses Oracle's Java 8 implementation.
Please install it by following the instructions below:
{%- endtrans %}</p>
<p>{% trans -%}If you already have Java installed, you may{%- endtrans %} <a href="#part-two-install-i2p">Skip This Step</a></p>
<ol>
<li>{% trans -%}Begin by downloading Java, for example, {%- endtrans %} <a href="https://java.com/en/download/">using this version from Oracle</a>.
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/0-jre.png" alt="You need Oracle Java for MacOS" title="" /></li>
<li><img src="/_static/images/macos/1-jre.png" alt="You need Oracle Java for MacOS" title="" /></li>
</ul></li>
<li>{% trans -%}Double-click the installer you just downloaded and allow the installer permission to proceed.{%- endtrans %}:
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/2-jre.png" alt="Give the installer permission to proceed" title="" /></li>
</ul></li>
<li>{% trans -%}Accept the License terms.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/3-jre.png" alt="Start installing Java" title="" /></li>
</ul></li>
<li>{% trans -%}Java will show you some information about what it is and where it runs while you wait for it to finish installing.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/4-jre.png" alt="Wait for the installer" title="" /></li>
</ul></li>
<li>{% trans -%}When Java is done installing, it will look like this.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/5-jre.png" alt="Step one complete" title="" /></li>
</ul></li>
</ol>
<h3 id="part-two-install-i2p">{{ _('Part Two: Download and Install I2P from a .jar file') }}</h3>
<ol>
<li>{% trans -%}Download I2P for Unix from{%- endtrans %} <a href="https://geti2p.net/en/download#unix">https://geti2p.net</a>.
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/0-i2p.png" alt="Download I2P" title="" /></li>
<li><img src="/_static/images/macos/1-i2p.png" alt="Select your Language" title="" /></li>
</ul></li>
<li>{% trans -%}
Because I2P is being installed from a .jar file, it cannot be signed by an Apple certificate.
You will need to allow it special permission to install.
Even though the installer is unsigned, the updates are signed end-to-end by I2P.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/2-i2p.png" alt="Introduction" title="" /></li>
<li><img src="/_static/images/macos/3-i2p.png" alt="Exception" title="" /></li>
<li><img src="/_static/images/macos/4-i2p.png" alt="Profit" title="" /></li>
</ul></li>
<li>{% trans -%}Select a language you are familiar with.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/5-i2p.png" alt="Select Components" title="" /></li>
</ul></li>
<li>{% trans -%}
Now the installer is ready to start.
Click next to advance.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/6-i2p.png" alt="Start installing" title="" /></li>
</ul></li>
<li>{% trans -%}
Accept the license.
I2P is Free Software, mostly in the public domain with limited use of GPL2, Creative Commons, and other Free and Open-Source Licenses.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/7-i2p.png" alt="Accept the License Agreement(or mostly lack thereof)" title="" /></li>
</ul></li>
<li>{% trans -%}
Install the I2P router and base config.
It is recommended that you keep the install directory the default.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/8-i2p.png" alt="Install the files" title="" /></li>
</ul></li>
<li>{% trans -%}
I2P is now installed!
The remaining installer pages explain some aspects of running I2P on OSX.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/9-i2p.png" alt="Finish it up" title="" /></li>
<li><img src="/_static/images/macos/10-i2p.png" alt="Finish it up" title="" /></li>
<li><img src="/_static/images/macos/11-i2p.png" alt="Finish it up" title="" /></li>
</ul></li>
</ol>
<h3 id="part-three-configure-i2p-app">{{ _('Part Three: Configure I2P App') }}</h3>
<ol>
<li>{% trans -%}
For convenience, you may want to create a shortcut to launch the I2P router.
Find the "i2p" directory in the "Applications" directory using Finder.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/0-conf.png" alt="Open the Applications dir" title="" /></li>
</ul></li>
<li>{% trans -%}Open the folder and find the Start Router Icon shown.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/1-conf.png" alt="Find the launcher" title="" /></li>
</ul></li>
<li>{% trans -%}Click the icon to start the I2P router - it will show up in your dock as shown and you can choose too keep it there.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/2-conf.png" alt="Add it to the launch bar" title="" /></li>
</ul></li>
</ol>
<h3 id="part-four-configure-i2p-bandwidth">{{ _('Part Four: Configure I2P Bandwidth') }}</h3>
<ol>
<li>{% trans -%}
When you visit the I2P router console for the first time, it will automatically direct you to the configuration wizard.
Start by selecting a language for the I2P interface.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/0-wiz.png" alt="Start the bandwidth wizard" title="" /></li>
</ul></li>
<li>{% trans -%}Next, pick either a dark or light theme.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/1-wiz.png" alt="Let the participant know what the bandwidth test entails" title="" /></li>
</ul></li>
<li>{% trans -%}
The next step is the bandwidth test.
The bandwidth test takes a minute to run completely.
During the bandwidth test, we'll need to connect to the external M-Lab Service, which makes a direct connection to a remote server(Operated by Measurement Lab) to measure your internet speed.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/2-wiz.png" alt="Run the bandwidth test" title="" /></li>
<li><img src="/_static/images/macos/3-wiz.png" alt="Start the bandwidth wizard" title="" /></li>
</ul></li>
<li>{% trans -%}
Confirm the bandwidth measurement and adjust your share percentage.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/4-wiz.png" alt="Let the participant know what the bandwidth test entails" title="" /></li>
</ul></li>
<li>{% trans -%}Confirm your bandwidth settings and adjust how much of your bandwidth you wish to share.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/5-wiz.png" alt="Run the bandwidth test" title="" /></li>
</ul></li>
<li>{% trans -%}You're finished! I2P is now configured.{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/macos/6-wiz.png" alt="Run the bandwidth test" title="" /></li>
</ul></li>
</ol>
<p>{% trans -%}If you want to re-run the welcome wizard after completing it, you can visit the page
on{%- endtrans %} <a href="http://localhost:7657/welcome">your router console</a>.</p>
<p>{% trans -%}That's it! You're now ready to use I2P. You can browse I2P Sites, download files, host services,
e-mail and chat anonymously. Visit the <a href="https://localhost:7657/home">router console homepage</a> to
get started.{%- endtrans %}</p>
{% endblock %}

View File

@ -1,16 +1,16 @@
{% set i2pinstall_windows_hash = '2c9c382852e17e124d77a2bf28f95056599fd458f8de77adcf8e2aaa22b3ef81' %}
{% set i2pinstall_jar_hash = '8c843c90870223b4808065761d059a02b168b74daddd1773c36f0a0245e201f9' %}
{% set i2psource_hash = '26e5f4d95b1a0766870f97b30e57c9a8e98690279c3bf09198e30effabecc450' %}
{% set i2pupdate_hash = 'ea1b4b8095f4d6f5568ce879242e1d5b077de1beb4366f4a75a75cffd559ee7f' %}
{% set i2p_android_hash = '6ed5622ea592f4e5d24723a8525147d4bd30b94ada7b2e6613c683df583e826a' %}
{% set i2p_macnative_hash = '70447e8a352654afd940cfc6c05f094732de7ab05db7c42c173e49f37259d601' %}
{% set i2pinstall_windows_hash = '1aa1ac29620886a7d744424318287c67dc9ead488e6ab434848597ee9db7ce18' %}
{% set i2pinstall_jar_hash = '751f48cfb380c8796bd645621b149114d55f32cd4330784cb287be9413b02569' %}
{% set i2psource_hash = 'f23d0746d72a55cccbd17f40762e491ae1b42cdf55d7e73404d213a84985ca73' %}
{% set i2pupdate_hash = 'adba8b7512d27a44ed876ec4beb39a82ebb34dc243ec024aff289e91823fc0c7' %}
{% set i2p_android_hash = '272acf543c4489dc3775c07c42eb91710b4ed377c78aff605e3d44e73fad5110' %}
{% set i2p_macnative_hash = '18cb22cfcc3cbe0cec150e89a394d1a35703cb508ed627ef48084b7ba7c90dde' %}
{% set i2p_windows_subver = '' %}
{% set i2p_macosx_launcher_version = '0.1.8' %}
{% set i2p_macosx_launcher_version = '1.9.0' %}
{% set i2p_android_version = '1.5.0' %}
{% set i2p_android_version = '2.5.2' %}
{% set i2p_android_version_kytv = '0.9.22' %}
{% set i2p_android_version_fdroid = '0.9.47-1' %}
{% set i2p_android_version_fdroid = '2.2.1' %}
{% macro package_outer(type, name, icon) -%}
@ -48,7 +48,7 @@
{%- set signame = 'i2pupdate_%s.zip.sig' -%}
{%- set hash = i2pupdate_hash -%}
{%- elif type == 'macnative' -%}
{%- set name = _('Mac OS X Native (Beta)') -%}
{%- set name = _('Mac OS Native (Beta)') -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- set filename = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg' -%}
{%- set signame = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg.sig' -%}
@ -60,15 +60,18 @@
{%- set hash = 'geti2p/i2p@sha256:e622209388edc49b99d8216baa731b1f54a0634c87cd47c1739f2188891daf3a' -%}
{%- else -%}
{%- if type == 'mac' -%}
{%- set name = 'Mac OS X' -%}
{%- set name = 'Mac OS' -%}
{%- set icon = 'images/download/mac-osx.png' -%}
{%- set filename = 'i2pinstall_%s.jar' -%}
{%- set signame = 'i2pinstall_%s.jar.sig' -%}
{%- set hash = i2pinstall_jar_hash -%}
{%- elif type == 'unix' -%}
{%- set name = 'Linux / BSD / Solaris' -%}
{%- set icon = 'images/download/freebsd-tux.png' -%}
{%- set filename = 'i2pinstall_%s.jar' -%}
{%- set signame = 'i2pinstall_%s.jar.sig' -%}
{%- set hash = i2pinstall_jar_hash -%}
{%- endif -%}
{%- set filename = 'i2pinstall_%s.jar' -%}
{%- set signame = 'i2pinstall_%s.jar.sig' -%}
{%- set hash = i2pinstall_jar_hash -%}
{%- endif -%}
{%- set details = caller() -%}
@ -77,8 +80,8 @@
{%- if type == 'android' %}
<!-- do not use url_for here -->
<h3>{% trans %}Download I2P for {% endtrans %}{{name}}</h3>
<a class="default" href="https://download.i2p2.de/android/current/app.apk">{% trans %}Outside I2P{% endtrans %} ({{ i2p_android_version }})</a>
<a class="sig" href="https://download.i2p2.de/android/current/app.apk.asc">sig</a>
<a class="default" href="https://download.i2p2.no/android/current/app.apk">{% trans %}Outside I2P{% endtrans %} ({{ i2p_android_version }})</a>
<a class="sig" href="https://download.i2p2.no/android/current/app.apk.asc">sig</a>
<!-- do not use i2pconv here -->
<!--<a class="default" href="http://update.killyourtv.i2p/i2p.apk">{% trans %}Inside I2P{% endtrans %} ({{ i2p_android_version_kytv }})</a> -->
<a class="default" href="https://play.google.com/store/apps/details?id=net.i2p.android">Google Play ({{ i2p_android_version }})</a>

View File

@ -1,9 +1,9 @@
{"net": "clearnet", "protocol": "https", "domain": "files.i2p-projekt.de", "path": "/%(version)s/%(file)s", "org": "i2p-projekt", "country": "de"}
{"net": "clearnet", "protocol": "https", "domain": "download.i2p2.no", "path": "/releases/%(version)s/%(file)s", "org": "sigterm.no", "country": "no"}
{"net": "clearnet", "protocol": "https", "domain": "download.i2p2.de", "path": "/releases/%(version)s/%(file)s", "org": "sigterm.no", "country": "no"}
#{"net": "clearnet", "protocol": "https", "domain": "launchpad.net", "path": "/i2p/trunk/%(version)s/+download/%(file)s", "org": "Launchpad", "org_url": "https://launchpad.net", "country": "us"}
{"net": "i2p", "protocol": "http", "domain": "mgp6yzdxeoqds3wucnbhfrdgpjjyqbiqjdwcfezpul3or7bzm4ga.b32.i2p", "path": "/releases/%(version)s/%(file)s", "org": "idk.i2p"}
{"net": "i2p", "protocol": "http", "domain": "mgp6yzdxeoqds3wucnbhfrdgpjjyqbiqjdwcfezpul3or7bzm4ga.b32.i2p", "path": "/%(version)s/%(file)s", "org": "idk.i2p"}
{"net": "clearnet", "protocol": "http", "domain": "download.i2p2.de", "path": "/releases/%(version)s/%(file)s", "org": "sigterm.no", "country": "no"}
{"net": "clearnet", "protocol": "http", "domain": "download.i2p2.no", "path": "/releases/%(version)s/%(file)s", "org": "sigterm.no", "country": "no"}
{"net": "clearnet", "protocol": "https", "domain": "eyedeekay.github.io", "path": "/files/releases/%(version)s/%(file)s", "org": "idk.i2p"}
#{"net": "clearnet", "protocol": "https", "domain": "dl.dropboxusercontent.com", "path": "/u/18621288/I2P/%(version)s/%(file)s", "org": "Dropbox", "country": "us"}
#{"net": "clearnet", "protocol": "https", "domain": "googledrive.com", "path": "/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/%(version)s/%(file)s", "org": "Google Drive", "country": "us"}

View File

@ -131,7 +131,11 @@ and configure Firefox for I2P.{%- endtrans %} </p>
<h4>{{ _('Install the I2P Firefox Profile') }}</h4>
<ol>
<li>{% trans -%}Download the Firefox Profile Bundle from the I2P Web Site.{%- endtrans %}
<li>{% trans -%}
Download the Firefox Profile Bundle from the I2P Web Site.
The I2P Firefox Profile has been replaced by the Easy Install Bundle for Windows.
The Easy-Installl can still be used as a profile manager for an Un-Bundled I2P router installed via this procedure.
{%- endtrans %}
<ul style="list-style-type: none;">
<li><img src="/_static/images/download/windows/profile.png" alt="Grab the Firefox Profile" title="" /></li>
</ul></li>

Some files were not shown because too many files have changed in this diff Show More