Aplicación con tecnología I2P: más fácil de lo que parece

El Proyecto de Internet Invisible (I2P, el proyecto de Internet invisible) es el líder entre las tecnologías para la transferencia de información privada. La total descentralización e independencia hacen que la red I2P sea arquitectónicamente compleja, pero única en su tipo. El artículo está dedicado a la pregunta: ¿puede un programador, ignorante de la criptografía y las redes, escribir una aplicación que funcione sobre I2P?





Las implementaciones modernas de los enrutadores I2P admiten la API de mensajería anónima simple (SAM), que permite que las aplicaciones externas se comuniquen a través de I2P utilizando solo unos pocos comandos simples. En el marco de este artículo, consideraremos el mínimo necesario para iniciar sus propios experimentos.





Pequeña retrospectiva

I2P 2000-. . (API) .





. , - , , , , «example.i2p», . , .





, « – »! – - : , IRC- . peer-to-peer , ?





I2P- I2CP (I2P Control Protocol), . , : I2CP . - , . , - !





I2P Java- BitTorrent Email, I2P- .





API- SAM BOB (Basic Open Bridge). I2P ( SHA1), Java- . , .





, , C++ (i2pd) BOB SAM. PurpleI2P , ( ) . , .





, I2P- SAM. . , .





SAM – . netcat i2pd (Java- ). telnet , (\n\r



), SAM \n



.





i2pd SAM , , . , - (http://127.0.0.1:7070



), . SAM - , sam.enabled = true



. 127.0.0.1:7656



.





Hello hidden world

, SAM, (handshake). HELLO VERSION



. SAM. RESULT=OK



, . HELLO VERSION



: HELLO VERSION MIN=3.0 MAX=3.3



. , . , 3.0 .





(id), , , (destination). – , . TRANSIENT



, , ( base64), . , (, ). , SAM , .





DEST GENERATE



, (SIGNATURE_TYPE=7



). , , . I2P.





, (PUB) (PRIV). .





. SAM : STREAM ( TCP), DATAGRAM ( UDP) RAW ( UDP). TCP. , STREAM-.





SESSION CREATE STYLE=STREAM ID=HabraHabr DESTINATION=__
      
      



STYLE



( STREAM



), DESTINATION



– ( PRIV



), ID



– , ( : HabraHabr



).





. , , . . , , , .





. «HabraHabr»: , , . , , STREAM ACCEPT ID=HabraHabr



.





. , «Novosibirsk» , , TRANSIENT



DESTINATION



. .





«HabraHabr», , :





STREAM CONNECT ID=Novosibirsk DESTINATION=___HabraHabr
      
      



, , ( ). , , .





. , I2P-, , . .





, , , . P2P (--) - .





, . , , . , . , .





: , . , , .





, , . , SAM .





- ITSOFT.








All Articles