I2P を利用したアプリケーション: 思ったより簡単

インビジブル・インターネット・プロジェクト(I2P、インビジブル・インターネットのプロジェクト) は、個人情報転送技術のリーダーです。完全な分散化と独立性により、I2P ネットワークは構造的に複雑になりますが、その種類は独特です。この記事は、暗号化やネットワークに無知なプログラマーが I2P 上で動作するアプリケーションを作成できるという質問に専念しています。





I2P ルーターの最新の実装では、Simple Anonymous Messaging (SAM) API がサポートされています。これにより、外部アプリケーションは、いくつかの簡単なコマンドを使用して I2P 経由で通信できます。この記事の枠組みの中で、独自の実験を開始するために必要な最小限のことを検討します。





小さな回顧展

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