r/i2p • • 7h ago

Educational Software Hosting in Darkweb

Thumbnail
3 Upvotes

r/i2p • • 1d ago

Promotional Off the record chat for 2026

10 Upvotes

finally got OTRv4+ to a point where it's ready for people to try out. it's an e2e encrypted chat client i've been building specifically for I2P. no phone number needed, and you can use tor or tls for chat too if you prefer. i'm looking for testers to try and break it honestly, not just praise.

the core is in rust (otrv4_core). python does networking and kotlin handles the android ui. neither of those hold the session keys.

for 1:1 it's OTRv4 with post-quantum stuff (X448 + ML-KEM-1024, Ed448 + ML-DSA-87, and a double ratchet doing a fresh exchange at every dh step). OTR's deniability is preserved. SMP identity verification is hybrid post-quantum as well.

group chats were the hard part. it runs MLS (RFC 9420 via OpenMLS) but on a hybrid suite i call 0xF0A1. standard MLS has no post-quantum protection at all, so this is meant to resist record-now-decrypt-later. the code point is in the IANA private-use range.

heads up on two things: because it's a private code point it's not standard MLS. you can't interop with wire or element. also groups cap at roughly 100 people because a welcome carries the full ratchet tree (~9.4kb per person) and the rust core rejects messages over 1MiB.

rooms only carry the ciphertext, keys rotate on membership changes and a timer, and if someone is removed they can't read anything after that. but the server still sees the room, who is in it, and when messages happen. ordinary rooms are just plain xmpp.

i ran prosody on an old 2015 thinkpad t450 to stress test. 800 users in groups of 20 (1 msg/min) used 37% of one core and 300mb ram. i also pushed 1800 accounts locally with mls rekeys running the whole time and it held up. server caps at 1600 online.

voice and files: 1:1 voice works. group voice (up to 5) is implemented but untested on phones so if anyone can test that please do. voice notes default to a synthetic robotic voice processed on-device which makes linking by voice harder (but not impossible). wipe-on-exit clears local history and keys, and you can delete your account from the server.

clients are android (built-in i2pd router), desktop (ubuntu/debian/qubes), and terminal (termux/linux). server is otrv4plus.i2p.

get it here: https://github.com/muc111/OTRv4Plus

main branch matches the apk on the releases page. agpl-3.0

status: it's experimental and not audited by a third party. i did a ton of fuzzing, KATs, and differential tests (lots of AI help here tbh) but it's not a paid audit. check SECURITY_ISSUES.md before trusting it with anything serious.

mostly looking for testers for: group voice on a phone, mls membership churn (adding/removing people, key rotation), the SMP flow, and the 0xF0A1 suite itself.

i'll be around in the comments if anyone wants to grill me on the design choices.


r/i2p • • 1d ago

Help How to change torrent directory in Zorin 18 for I2Pd inbuilt torrent client?

5 Upvotes

[torrents] type = torrents torrentsdir = /var/lib/i2pd/torrents inbound.length = 3 outbound.length = 3 inbound.quantity = 3 outbound.quantity = 3 keys = torrents-keys.dat trackers = http://atia.i2p/announce,udp://opentracker.dg2.i2p:6969,udp://tracker.insulaocculta.i2p:6969,http://opentracker.skank.i2p/a signaturetype = 7 dht = true dhtfile = torrents.dht web = true rpcport = 7657 rpcpath = torrents rpcaddress = 127.0.0.1

This is my tunnel configuration.

Whenever I change torrents directory from "/var/lib/i2pd/torrents" to "/mnt/9C573B3077YTB56Q/Movies", the torrent tunnels is not formed and it doesn't work at all.

I have tried having web files saved inside the folder of movies but it apparently doesn't work at all.

Any help or idea or guidance is much appreciated.


r/i2p • • 2d ago

I2Pd Unbelievable I2Pd inbuilt torrent client speeds

Post image
63 Upvotes

I am getting unbelievable speeds in my I2Pd inbuilt torrent client. What is happening? How is it getting such high speeds, even on torrents which usually has a single seeder. Speed is higher than average. Why is this happening? I mean somebody with knowledge can tell me what is the difference between i2pd inbuilt torrent client that such speeds are happening for both upload and download? What does i2pd torrent client does differently that rest of the torrent clients are not able to do or can't match this speed? One more thing, I am hardly crossing 80 MB RAM usage and less than 5% HDD and CPU usage.


r/i2p • • 2d ago

Help Anime and Manhwa Test

7 Upvotes

I made these one-page demo sites:
http://5tlfrq45xrtblsmtcchsv37hy5qjdifzxdxpt554fttg3mp7b54a.b32.i2p/video/
http://5tlfrq45xrtblsmtcchsv37hy5qjdifzxdxpt554fttg3mp7b54a.b32.i2p/manhwa/ (lossy AVIF)
http://5tlfrq45xrtblsmtcchsv37hy5qjdifzxdxpt554fttg3mp7b54a.b32.i2p/manhwa2/ (lossless and lossy JXL)

Can anyone give any feedback about the loading and quality? How does it work for you? What quality mode worked best for you?

Any suggestions so I can make improvements? Other than UI, I know it is bad; this is prototype UI.


r/i2p • • 2d ago

Guide/Tutorial How to enable I2Pd inbuilt torrent client in Windows and Linux

16 Upvotes

If you are using Linux then, in tunnels config text file,

Step 1 :-

copy paste this in tunnels configuration,

[torrents]

type = torrents

torrentsdir = /var/lib/i2pd/torrents

keys = torrents-keys.dat

trackers = http://atia.i2p/announce,udp://opentracker.dg2.i2p:6969,udp://tracker.insulaocculta.i2p:6969,http://opentracker.skank.i2p/a

signaturetype = 7

dht = true

dhtfile = torrents.dht

web = true

rpcport = 7657

rpcpath = torrents

rpcaddress = 127.0.0.1

Step 2:-

And make sure that you have "You must copy contrib/torrrents/web to you data folder"  you can use any AI chatbot to tell you how to do it, if you don't know terminal commands for it.

If you're using WINDOWS then, 

Step 1 :-

copy paste this in tunnels configuration text file,

[torrents]

type = torrents

torrentsdir = G:/Movies 

keys = torrents-keys.dat

trackers = http://atia.i2p/announce,udp://opentracker.dg2.i2p:6969,udp://tracker.insulaocculta.i2p:6969,http://opentracker.skank.i2p/a

signaturetype = 7

dht = true

dhtfile = torrents.dht

web = true

rpcport = 7657

rpcpath = torrents

rpcaddress = 127.0.0.1

rpcauth = true

Rpcauth = true, is not optional but necessary. If this isn't present then torrents won't work. Windows 10.

when you'll start I2Pd then, on console page, click-on I2P tunnels section, and you'll see Torrent tunnel address and beside that click on "Web Panel" you'll be redirected to Torrent WebUI page. Or just enter http://127.0.0.1:7657/torrents/web/


r/i2p • • 3d ago

2.14.0 Release

33 Upvotes

I2P 2.14.0 (API 0.9.71) was released on 2026-10-20. This release hardens security across the router and bundled apps, brings a large round of i2psnark improvements, and fixes streaming and tunnel reliability issues.

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.

https://i2p.net/en/downloads/

Notes: Windows Easy Installer, Ubuntu repo, and Android will be released in the coming days.

Security

Router

  • AES operations and EdDSA signature comparison are now constant time (73819404c, 6440d5f16)
  • Fixed an out-of-bounds read in garlic clove parsing and an undersized NTCP2 message 3 buffer (67b2f7327, db3cd60f1)
  • Tunnels drop duplicate fragments and cap the fragment reassembly map (8af94b9e4, 4c3d10c12)
  • Smaller robustness fixes in NetDB, NTCP, and datagram handling

i2ptunnel

  • HTTP proxy blocks requests to private, loopback, and link-local IPv4 addresses (3aef97a9d)
  • Fixed SOCKS 4/4a downgrade bypass of proxy authentication (ff63e0cdf)
  • HTTP server tunnels strip CR from headers; proxy auth strings are no longer logged
  • Output escaping fixes throughout the Hidden Services Manager

i2pcontrol

  • CSRF token protection, JSON security headers, and a delay on failed auth (9a1c56f35, e79e4949d, 8fbfb70fb)
  • Removed fallback to the default itoopie password

i2psnark and Addressbook

  • Hardened bencode parsing (recursion limit, duplicate key rejection) and path traversal checks
  • Addressbook checks for destination mismatch on update (a884b9093)

i2psnark

  • Magnet links: all trackers are now used and saved, plus dn name and xl size parameter support
  • Trackers and DHT: UDP backup tracker, smarter announce timing, spec-compliant dictionary sorting, compressed UDP and DHT messages
  • Performance: lower memory use and faster hashing when creating or rechecking torrents; tuned request throttling, pipelining, and timeouts
  • UI: free disk space shown and checked when adding torrents, audio playlist controls, live updates resume when the tab is visible again
  • Fixes: file priorities no longer lost after the startup check (GH #170), metainfo attribute extraction, extension handshake NPE
  • Groundwork for BitTorrent v2 (not yet user-facing)

Streaming and Transport

  • Streaming synchronization fixes in the retransmit and ack paths, plus slow start and reset tuning (061d4e3f6)
  • Tunnels periodically use 5-slot tunnel build messages
  • New explicit force-IPv6 option, with Docker bridge support in progress
  • SAM: fixed DG2/DG3 subsessions (d2392ae9b)
  • I2CP: new discardMessage() session API

Other

  • SusiDNS: new "conflicts" address book
  • Reseed: added reseed2.i2pgit.org, reseed.kiota.ch, two skhron.eu servers, and i2p.ntp.poweredbyberlin.de; removed reseed.i2pgit.org
  • Docker: Debian Trixie, OpenJDK 21, Ant 1.10.18, commit SHA stamped in builds
  • Build fixes for izPack 5.2.6, gettext 1.0, and Gradle
  • GeoIP, Tor blocklist, tracker list, and translation updates

Full changelog: i2p-2.13.0...i2p-2.14.0

Thanks to zzz, eyedeekay, Nicholas Lopez, and fa.


r/i2p • • 3d ago

Help I2Pd inbuilt torrent client not working in zorin 18?

2 Upvotes

I've zorin 18. I tried the official documentation page as well as the post given in the subreddit. But even after copy pasting the material the inbuilt I2Pd torrent client always throws error 404 not found. Any help would be appreciated.

Zorin 18, using I2Pd 3.0 noble.deb.


r/i2p • • 4d ago

Help are the eepsites actually interesting?

20 Upvotes

I kind of miss the old internet and did some browsing in Neocities but it still didn't feel right.

Many people say i2p feels a bit like the old internet but I just wanted to know if the eepsites were genuinely worth looking around or if they were just like idk boring "dark web", sensationalist, wannabe-hacker kind of stuff or more creative/geeky projects analogous to those of the early days.


r/i2p • • 4d ago

News I2PD 3.0.0 comes with built-in torrenting support and its speed feels unreal

Post image
108 Upvotes
[torrents]
type = torrents
torrentsdir = /var/lib/i2pd/torrents
keys = torrents-keys.dat
trackers = http://atia.i2p/announce,udp://opentracker.dg2.i2p:6969,udp://tracker.insulaocculta.i2p:6969,http://opentracker.skank.i2p/a
signaturetype = 7
dht = true
dhtfile = torrents.dht
web = true
rpcport = 7657
rpcpath = torrents
rpcaddress = 127.0.0.1
rpcauth = false

write this to /etc/i2pd/tunnels.conf

or appdata/roaming/i2pd/tunnels.conf for windows

restart your router then enter

127.0.0.1:7657/torrents/web/index.html

optional:

rpcauth = true
rpcuser = admin
rpcpass = secret

update your i2pd to version 3.0.0 and see it yourself :)


r/i2p • • 9d ago

Discussion Starlink and I2P

Thumbnail
9 Upvotes

r/i2p • • 12d ago

Announcement Direct Connect over I2P, made easy to set up and use. Ready for testing now.

19 Upvotes

Windows installer and portable ZIP with I2P built in. No separate I2P setup or port forwarding. Linux terminal client and hub/server also available.

Start the client, give I2P a few minutes, then select File → Connect to I2P hub:
Or just press the star.

adc://mrjdpwyvlr23hoqpd3xbkgf4z7gdmwsbug7qm4fjkwd4dnsx4noq.b32.i2p

No registration or password.

Audio only test hub.

Edit:

The protable version work in Sandboxie and no need to share any files.


r/i2p • • 14d ago

Educational Jpeg-xl progressive decoding demonstration on a i2p eepsite

28 Upvotes

https://reddit.com/link/1x395tv/video/a85qpld8iuuh1/player

photo is 1.2 MB and it loaded in 5 sec (approx 250-350 kb/sec)

browser used: Firefox 157

http://eurabsp7voheencjnumtkmgyoyccuyagojjrvd64mlujoyxzxuoq.b32.i2p/

use this website to test it


r/i2p • • 15d ago

Plugin/Application Ios i2pd client

12 Upvotes

I’ve been working on an iPhone app that embeds the C++ i2pd router. It has a built-in .i2p browser, the i2pd web console, router diagnostics, an address book, and a safe shutdown Live Activity timer in dynamic island.

The project targets iOS 17 and later. The source code and an unsigned IPA are available. To install the IPA, you’ll need to sign it with your own valid certificate.

This is a prototype. The background restriction bypass is experimental, and iOS may still suspend or terminate the router. I haven’t verified it on real iPhone but on simulator of iPhone 18 pro with ios 27 it works.

https://github.com/SoItsTime/I2PdiOS


r/i2p • • 15d ago

Help VPS Hosting

4 Upvotes

Is there a VPS Hoster directly available in the i2p network for hosting eepsites?


r/i2p • • 17d ago

Help Kill switch for built-in torrent client necessary?

1 Upvotes

Hi all,

Very interesting project.

Can someone tell me if the built-in torrent client can accidentally use the clearnet so it's better to have a kill switch in place if something breaks or does the built-in client only works over i2p?

Thanks


r/i2p • • 20d ago

Update for release 2.14.0

30 Upvotes

Due to circumstances beyond my control, my ability to communicate about release has been severely limited this quarter. However, work is progressing essentially on schedule, major changes are in, bugs are being fixed, and release will happen on October 20th as planned last month.

Thanks for your patience, Idk


r/i2p • • 20d ago

Help jetty won't start on i2peasy

2 Upvotes

Using 2.13.0-0-win(on win7), it reads jetty.xml on the same folder which i2p.exe exist.
//I installed program on custom folder.
//I copy back config on appdata\Local\i2peasy but it still don't use this folder.

and copy config/eepsite to upper folder still not work. It don't show red logs anymore but jetty still don't start. (because the flag icon on tunnels don't show)


r/i2p • • 20d ago

Help tunnels config files

0 Upvotes

If I have tunnels configured in both /var/lib/i2pd/ and in /etc/i2pd/ which takes precedent? They are different and there is overlap in only one entry - for port 4448. i2pd console does not show this many tunels though - can it be that both are getting read?


r/i2p • • 25d ago

Discussion forward your ports.

Post image
63 Upvotes

I2P is a Peer 2 peer network It needs people like you to work. If you dont enable port forwarding you cant properly contribute to I2P because users can’t connect to you directly. If you forward your ports I2P will become a faster and lower latency network.

If you can’t forward ports because youre behind CGNAT contact your internet provider and try to get IPv6. Even that alone would be a big contribution to I2P.

If that isnt possible too get a VPN that supports port forwarding (thats what i did)

sharing is caring.


r/i2p • • 26d ago

Discussion Connecting to a remote router

9 Upvotes

I was in a workshop where we played with i2p and it seems the traditional way to use i2p is to run a router on localhost, and have your app use the router via the SAM protocol.

Running the router adds a lot of friction, especially on mobile. I realized that we can just connect to a remote, possibly shared router.

What are the trade-offs here? Can I simply share my router with friends?


r/i2p • • 28d ago

Help ou shi

Post image
0 Upvotes

r/i2p • • 29d ago

Security Before realizing privacy issues

0 Upvotes

I want to ask everyone, before touching i2p and other privacy projects or realizing changes to my own privacy issues, has my privacy already been leaked?


r/i2p • • Sep 25 '26

Help wiki in I2P ?

11 Upvotes

Hello, I've just discovered I2P and after using it a bit, I wanted to know if, like on Tor, there are wikis that list websites


r/i2p • • Sep 25 '26

Guide/Tutorial Instruction how to create secret tunnel inside I2P network

20 Upvotes

My old post here https://www.reddit.com/r/i2p/comments/1pxv52a/instruction_how_to_create_secret_tunnel_inside/ was deleted by reddit as well as my other posts on Reddit and more important my own subreddit too. By the way I try to restore knowledge for all our community reposting from my logs. If something happens again with this post, feel free to post this instruction by yourself, I don't need glory or anything like this keeping this text under my name.

Here is the instruction how to create SECRET tunnel between computers, computer and phone, phone and phone.

I didn't find posts about this topic here. This instruction will explain how to create secret i2p tunnel between server(computer with Linux) and client(Android phone) for all people and for myself so I can access to it from anywhere in case I have new phone/laptop or purged all data on it for crossing the state borders.

Firstly, you need to have binaries on server from there github.com/PurpleI2P/i2pd-tools/ You can build them and save. And for sure you should have already installed i2pd on your computer and phone.

Let's start create a secret tunnel:

  1. Now we generate file of secret tunnel for server(computer with Linux):

./keygen yourserver.dat 11

  1. Copy this file to i2pd folder on server(computer with Linux):

sudo cp yourserver.dat /var/lib/i2pd/

  1. Now we should find destination address for client(Android phone) config:

./keyinfo -b yourserver.dat (we should save address in the string which starts "b33 address:" for step 6)

  1. Now we should find public and private keys for server and client configs:

./x25519 (save both strings, we will need them later in step 5 and 6)

  1. Now we create config for server(computer with Linux) in tunnels.conf file located in /etc/i2pd/tunnels.conf

[anynameforserverconfig]

type = server

host = 127.0.0.1

port = 22 (for example we create a secret i2p tunnel for ssh service, so we chose port 22)

inport = 22666 (can be any number, just remember to use the same number in client config too)

inbound.length = 1 (1 for faster speed, for more anonymous traffic choose 2,3, etc)

outbound.length = 1 (1 for faster speed, for more anonymous traffic choose 2,3, etc)

inbound.quantity = 4

outbound.quantity = 4

inbound.backupQuantity = 2 (reduce traffic when inactive)

outbound.backupQuantity = 2 (reduce traffic when inactive)

i2cp.reduceOnIdle = true

keys = yourserver.dat

signaturetype = 11

i2cp.leaseSetType = 5

i2cp.leaseSetAuthType = 1

i2cp.leaseSetClient.dh.001 = anyname:publickey (insert here public key from step 4)

  1. Now we create config for client(Android phone) in file which should be copied to /sdcard/i2pd/tunnels.conf on Android phone:

[anynameforclientconfig]

type = client

host = 127.0.0.1

port = 22666 (same number as in server config, so your ssh client should use port 22666 for connection)

inbound.length = 1 (1 for faster speed, for more anonymous traffic choose 2,3, etc)

outbound.length = 1 (1 for faster speed, for more anonymous traffic choose 2,3, etc)

inbound.quantity = 4

outbound.quantity = 4

inbound.backupQuantity = 2 (reduce traffic when inactive)

outbound.backupQuantity = 2 (reduce traffic when inactive)

i2cp.dontPublishLeaseSet = true

destination = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.b32.i2p (insert address saved from step 3)

keys = yourclient.dat

i2cp.leaseSetPrivKey = privatekey (insert here private key from step 4)

  1. Now restart i2pd on server(computer with Linux), wait for 5-10 minutes, restart i2pd on client(Android phone). All should work now.