Steps to reproduce this problem with netcat: (applicable to java i2p too, but beware of pings and timeouts, i.e just respond with PONG when it asks you)
Open two terminals.
In terminal 1, enter this command:That should open a netcat session with the SAM bridge.
Now type these two SAM commands to handshake and initialize:That will create an i2p destination that we will use to contact.
Be sure not to close it until you're done following these instructions.
Then, in terminal 2, open another netcat session to the SAM bridge:Then enter these SAM commands to handshake and connect to a destination that should work (namely i2p-projekt.i2p, because it has both elgamal and ecies):It should now tell you that it connected successfully.
Now let's do a HTTP request:(empty newline at the end is important)
Now it should output some text about some redirection. That means it worked.
Now let's get to an ecies-only destination, such as tracker2.postman.i2p.
Close the netcat session in terminal 2, by pressing Ctrl-C.
In terminal 2, open another netcat session:And try to connect to that destination:This is where java i2p and i2pd diverge.
Java i2p will tell you "Unsupported encryption options".
i2pd will happily say that it connected.
Next steps are i2pd-specific.
In terminal 2 (without closing its netcat session), try to actually make a request to the postman tracker!What do we see here? It just waits... On and on.... On and on....
In some time (like a lot of time) it will eventially timeout (and will print a message in i2pd log).
But until it timed out, you can open i2pd console, then go to "SAM sessions", click the "testing123" session, then select the only destination there.
You will see at the bottom 1 stream listed (connected to 6a4kx...). This stream is the one you made to postman tracker. You will see that it will display some number sent, but 0 received.
Open two terminals.
In terminal 1, enter this command:
Code:
nc <ip-of-i2p-router> 7656
Now type these two SAM commands to handshake and initialize:
Code:
HELLO VERSIONSESSION CREATE STYLE=STREAM ID=testing123 DESTINATION=TRANSIENT inbound.length=2 outbound.length=2 inbound.quantity=3 outbound.quantity=3
Be sure not to close it until you're done following these instructions.
Then, in terminal 2, open another netcat session to the SAM bridge:
Code:
nc <ip-of-i2p-router> 7656
Code:
HELLO VERSIONSTREAM CONNECT ID=testing123 DESTINATION=i2p-projekt.i2p
Now let's do a HTTP request:
Code:
GET / HTTP/1.1
Now it should output some text about some redirection. That means it worked.
Now let's get to an ecies-only destination, such as tracker2.postman.i2p.
Close the netcat session in terminal 2, by pressing Ctrl-C.
In terminal 2, open another netcat session:
Code:
nc <ip-of-i2p-router> 7656
Code:
HELLO VERSIONSTREAM CONNECT ID=testing123 DESTINATION=tracker2.postman.i2p
Java i2p will tell you "Unsupported encryption options".
i2pd will happily say that it connected.
Next steps are i2pd-specific.
In terminal 2 (without closing its netcat session), try to actually make a request to the postman tracker!
Code:
GET / HTTP/1.1
In some time (like a lot of time) it will eventially timeout (and will print a message in i2pd log).
But until it timed out, you can open i2pd console, then go to "SAM sessions", click the "testing123" session, then select the only destination there.
You will see at the bottom 1 stream listed (connected to 6a4kx...). This stream is the one you made to postman tracker. You will see that it will display some number sent, but 0 received.
Statistics: Posted by anikey — 05 Jan 2024 19:19