I2P Router Help

I2P はどんなシステムで動作しますか?

I2Pはプログラミング言語Javaで書かれています。 Windows、Linux、FreeBSD、OSXでの動作が確認されています。 Android移植も利用可能です。

メモリ使用に関して、I2Pは128MBのRAMを使用するようにデフォルトでは設定されています。 これはブラウジングやIRC使用には十分です。しかし、他の活動ではさらに多くのメモリ割り当てが必要になるかもしれません。 例えば、高帯域幅のルーターを動かしたい人や、I2Pトレントへの参加、高トラフィックの秘匿サービスを提供したい人は、 より多くのメモリが必要です。

CPU使用に関して、I2PはRaspberry Pi クラスのシングルボードコンピュータなどの控えめな環境でも動作することが確認されています。 I2Pは暗号技術を多用するので、I2Pで生ずる負荷とその他のシステム作業(i.e. OS、GUI、Webブラウジングのような他のプロセス)に対処するためには、より優秀なCPUが適しているでしょう。

Java Runtime Environments (JRE) ごとの比較は https://trac.i2p2.de/wiki/java で閲覧可能。 Sun/Oracle Java か OpenJDK の使用が推奨されています。

I2Pを使用するためにJavaをインストールする必要はありますか?

メインのI2PクライアントにはJavaが必要ですが、Javaを必要としない代替クライアントがいくつかあります。

I2P サイトとは何?

かつてeepSiteと呼ばれていたI2Pサイトは匿名でホストされているウェブサイトであり、ウェブブラウザからアクセスできる秘匿サービスです。 I2Pウェブプロキシ(通常はローカルホストのポート4444でリッスン)を利用するためにウェブブラウザのHTTPプロキシを設定して、サイトをブラウザで開くことでアクセスすることができます。ブラウザの詳細な設定方法はブラウザ設定ページを参照してください。

ルーターコンソールにおいて、アクティブ x/y の数値は何を意味しているのですか?

x は直近1分でメッセージの受け渡しがうまくできたピアの数、y は直近1時間程度で見かけたピアの数です。 マウスカーソルを情報行にホバーさせると簡単な説明が見られます。

特定の種類のコンテンツに反対しています。これらを配布したり、保存したり、アクセスしないようにするには?

I2P traffic that transits through your router is encrypted with several layers of encryption. Except in the case of a serious security vulnerability (of which none are currently known), it is not possible to know the content, origin or destination of routed traffic.

  • Distribution
    All traffic on the I2P network is encrypted in multiple layers. You don't know a message's contents, source, or destination. Traffic is internal to the I2P network, you are not an exit node (referred to as an outproxy in our documentation).
  • Storage
    The I2P network does not do distributed storage of content, this has to be specifically installed and configured by the user (with Tahoe-LAFS, for example). That is a feature of a different anonymous network, Freenet. By running an I2P router, you are not storing content for anyone.
  • Access
    Your router will not request any content without your specific instruction to do so.

Is it possible to block I2P?

はい、ずば抜けて簡単で一般的な方法は、ブートストラップ、つまり「再シード」のサーバーをブロックすることです。完全に不明瞭なトラフィックをブロックすることでも可能です(が、I2P以外の他の多くのものに悪影響が出ますし、大半はそこまで求めていないでしょう)。 再シードをブロックする場合、Githubに再シードのバンドルがあるので、それをブロックするとGithubもブロックします。 プロキシ越しにも再シード可能ですし(Torを使いたくなければ多くがインターネットで見つかります)友人を通じてでオフラインで再シードバンドルを共有することもできます。

wrapper.log 内に、ルーターコンソールがロード中の時の "Protocol family unavailable" というエラー状態がありました。

このエラーはしばしば、デフォルトで IPv6を使用するよう設定されている一部のシステム上でネットワークが有効になっている java ソフトウェアが原因で発生します。

  • Linux ベースのシステムでは、echo 0 > /proc/sys/net/ipv6/bindv6only でできます。
  • wrapper.config で次の行を探してください。
    #wrapper.java.additional.5=-Djava.net.preferIPv4Stack=true
    #wrapper.java.additional.6=-Djava.net.preferIPv6Addresses=false

    行があれば、"#"を除去して、コメント解除してください。行がなければ、"#"をつけず、以下を追加してください。
別のオプションは、 ~/.i2p/clients.config から ::1 を削除することです。

警告: wrapper.config への変更を適用するには、ルータ及びラッパーを完全に停止させる必要があります。ルーターコンソールで 再起動をクリックしても、このファイルは再読込されません!シャットダウンをクリックして、11分待ち、それから I2P を起動する必要があります。

I2P 内の I2P サイトのほとんどはダウンしていますか?

過去に作成されたすべてのI2Pサイトということなら、そうです、そのほとんどがダウンしています。 人もI2Pサイトも現れては消えます。 I2Pを始める良い方法は、現在繋がるI2Pサイトのリストを確認することです。 http://identiguy.i2p.xyz はアクティブなI2Pサイトを追跡しています。

何故 I2P は 32000番ポートでリッスンしているのですか?

我々が使用している Tanuki Java サービスラッパーがこのポート - localhostにバインド - を開けています。それはJVM内で動作しているソフトウェアと通信するためです。 JVM の起動時にキーが渡されラッパーに接続できるようになります。 JVMがラッパーへの接続を確立すると、ラッパーはそれ以上の接続を拒否します。

詳細な情報は、ラッパーの文書を参照のこと。

Configuration

ブラウザを設定するには?

それぞれのブラウザに対するプロキシ設定は別ページにスクリーンショット付きで載せてあります。 外部ツール、例えばブラウザプラグインFoxyProxyやプロキシサーバーPrivoxyなどによる高度な設定は可能ですが、漏洩を招く可能性があります。

I2P 内の IRC につなぐには?

I2PのメインIRCサーバー Irc2P へのトンネルは、I2Pのインストール時に作成され(I2Pトンネル設定ページを参照)、I2Pルーター起動時に自動的に開始されます。 接続するには、IRCクライアントにlocalhost 6668へ繋ぐよう指定します。 HexChat系クライアント使用者はlocalhost/6668サーバーで新しいネットワークを作成できます(プロキシサーバーを設定している場合「プロキシサーバーのバイパス」をONにするのを忘れずに)。 Weechatユーザは新しいネットワーク作成に次のコマンドを使用できます。

    /server add irc2p localhost/6668
  

自分の I2P サイトを立ち上げるには?

ルーターコンソール上部のWebサイトリンクをクリックして説明を確認してください。

自宅の I2P で、 HTML と CSS だけのウェブサイトをホストしたら危険ですか?

個人ブログをホストしたり、その他のセンシティブでないことをやる場合は明らかに危険度は小さいです。 基本的に具体的ではないプライバシーのニーズがある場合、危険度は小さいです。センシティブなコンテンツをホストしている場合は、 サービスはルーターがダウンした際に同時にダウンします。ダウンタイムを観測して、それを実世界の出来事に結び付けた 人物は、おそらく相当の努力をもってすればあなたを脱匿名化可能でしょう。I2PにはマルチホーミングやTahoe-LAFSのような この種の攻撃に対する防御がありますが、追加設定が必要であり、有効なのはいくつかの脅威モデルに対してのみです。魔法の解決策はなく、 自分を現実の今日から守るには、どんな場合でもじっくりと考えることが必要となります。

I2Pはどのようにして".i2p"のウェブサイトを見つけるのですか?

The I2P Address Book application maps human-readable names to long-term destinations, associated with services, making it more like a hosts file or a contact list than a network database or a DNS service. It's also local-first there is no recognized global namespace, you decide what any given .i2p domain maps to in the end. The middle-ground is something called a "Jump Service" which provides a human-readable name by redirecting you to a page where you will be asked "Do you give the I2P router permission to call $SITE_CRYPTO_KEY the name $SITE_NAME.i2p" or something to that effect. Once it's in your address book, you can generate your own jump URL's to help share the site with others.

アドレス帳にアドレスを追加するには?

開きたいサイトのbase32または base64を少なくとも知っていなければアドレスを追加できません。人間が可読な「ホスト名」は暗号化されたアドレスのエイリアスにすぎず、base32または base64に対応します。暗号アドレスがなければ、I2P サイトにアクセスする手段はありません。これは仕様です。アドレスを知らない人に配布するのは、通常ジャンプサービスプロバイダーの責任です。知らない I2P サイトを開くことがジャンプサービスの利用の引き金となります。stats.i2pは最も信頼できるジャンプサービスです。

i2ptunnelを通じてサイトをホストしている場合、まだジャンプサービスに登録されていません。ローカルに URL を与えるためには、設定ページを開いて、「ローカルのアドレス帳に追加」と書かれたボタンをクリックしてください。その後、 http://127.0.0.1:7657/dns を開き、アドレスヘルパーのURLを検索し、共有してください。

I2P はどのポートを使用しますか?

I2Pに使用されているポートは2つの部分から成ります:

  1. インターネット用ポート。他のI2Pルーターとのやり取りに使用される。
  2. ローカル接続用のローカルポート。

詳しい説明は以下。

  1. インターネット用ポート
     注意:バージョン0.7.8以降の新規インストールでは8887番ポートを使用しません。  9000~31000番ポートが初回起動時にランダムに選ばれます。  選ばれたポートはルーター設定ページに表示されています。
    発信側
    • UDP:設定ページに表示されているランダムなポートから任意のリモートUDPポートまで。返信用。
    • TCP:ランダムなハイポートから任意のリモートTCPポートまで。
    • 123番ポートのアウトバウンドUDPは返信用に確保されています。これはI2Pの内部時刻同期に必要です。(SNTP経由で。pool.ntp.org内または指定したサーバーのSNTPホストからランダムに問い合わせ。)
    着信側
    • (任意、推奨)UDP:任意のポートから設定ページに表示されているポートまで。
    • (任意、推奨)TCP:任意のポートから設定ページに表示されているポートまで。
    • 着信TCPは設定ページで無効にできます。
  2. ローカルI2Pポート。デフォルトではローカル接続のみを受け付ける。ただし以下を除く:
    ポート 目的 説明
    1900 UPnP SSDP UDP multicast listener 変更不可。全てのインターフェイスにバインドされている。confignetで無効にできる
    2827 BOB bridge クライアント用の高級ソケットAPI。既定では無効。configclientsで有効/無効設定。 bob.configファイルで変更可
    4444 HTTP proxy ルーターコンソールのi2ptunnelページで無効化/変更可。またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    4445 HTTPS proxy ルーターコンソールのi2ptunnelページで無効化/変更可。またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    6668 IRC proxy ルーターコンソールのi2ptunnelページで無効化/変更可。またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    7652 HTTP TCP event listener LANアドレスにバインド。高度な設定i2np.upnp.HTTPPort=nnnnで変更可。 confignetで無効にできる
    7653 UPnP SSDP UDP search response listener LANアドレスにバインド。高度な設定i2np.upnp.SSDPPort=nnnnで変更可。 confignetで無効にできる
    7654 I2P Client Protocol port クライアントアプリで使われる。 configclientsで別のポートに変更可、ただし非推奨。 configclientsでインターフェイスのバインドを別のものにするか全てにするか無効化するか設定可
    7655 UDP for SAM bridge クライアント用の高級ソケットAPI。SAM V3 クライアントがUDPセッションを要求した場合のみ開放。 configclientsで有効/無効設定。 clients.configファイルのSAMコマンドラインオプションsam.udp.port=nnnnで変更可
    7656 SAM bridge クライアント用の高級ソケットAPI。バージョン0.6.5以降の新規インストールでは既定で無効。 configclientsで有効/無効設定。 clients.configファイルで変更可
    7657 Your router console clients.configファイルで無効にできる。 またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    7658 Your I2P Site clients.configファイルで無効にできる。 またjetty.xmlファイルで、インターフェイスのバインドを特定のものに限るか全てにするか設定可
    7659 Outgoing mail to smtp.postman.i2p ルーターコンソールのi2ptunnelページで無効化/変更可。 またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    7660 Incoming mail from pop3.postman.i2p ルーターコンソールのi2ptunnelページで無効化/変更可。 またインターフェイスのバインドを特定のものに限るか全てにするか設定可
    7670 (8998) gitssh.idk.i2p git over ssh This used to be port 8998 for monotone. Elder installations may still have that and not this one. May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    31000 Local connection to the wrapper control channel port 32000番への発信のみ。受け入れは行わない。 31000番から始まり自由なポートを探して31999番まで番号を増やしていく。 変更にはラッパードキュメントを参照。 詳しい情報は後述
    32000 Local control channel for the service wrapper 変更にはラッパー文書を参照。 詳しい情報は後述

ローカルの I2P ポートと I2PTunnel のポートはリモートマシンから到達できるようにする必要はありませんが、ローカルで到達できる*べき*です。 http://localhost:7657/i2ptunnel/ を通じて I2PTunnel のインスタンスへの追加ポートを作成することもできます(同じく、ファイアーウォールにローカルアクセスを許可させる必要はありますが、望まなければリモートアクセスまでは必要ありません)。

ですので、要約すると、何も要求されていないリモートピアが到達できるようにする必要はありませんが、受信 UDP と TCP 、送信接続ポート を許可するよう NAT/ファイアーウォールを設定できるなら、パフォーマンスが改善します。また、任意のリモートのピアに、送信 UDP パケットを送信できるようにする必要があります (PeerGuardian のようなものでランダムに IP をブロックするのは、害になるだけです ―やらないでくださいね)。

アドレス帳に記載された多くのホストをなくしてしまいました。どこかいい購読リンクはありませんか?

この質問は3つに分けて回答しましょう:

  1. 私のルーターではよく「アドレス帳にWebサイトが見つからない」というメッセージが表示されます。なぜでしょうか。

    http://website.i2pのような人間が読めるアドレスは、宛先である長いランダム文字列への参照です。 これら参照はアドレス帳サービスに登録され保管されています。例えば zzz が運営している stats.i2p 。 "b32"アドレスというものをよく見るでしょう。"b32" は宛先のハッシュ(特にSHA256)です。このハッシュに ".b32.i2p" が付けられて、アドレス帳サービスへの登録なしでも、秘匿サービスにリンクする簡便な方法として機能します。

    ルーター設定に購読制の追加が可能です。それは件のメッセージの頻度を抑えるかもしれません。

  2. アドレス帳購読とはどんなものですか?

    様々なI2Pウェブサイト上にホストされているファイルのリストであり、そのそれぞれがI2Pホストとその接続先のリストを保持しています。

    アドレス帳はhttp://localhost:7657/dnsにあり、詳しい情報が見られます。

  3. 何かいいアドレス帳購読リンクはありますか?

    以下を試すとよいでしょう:

他のマシンからウェブコンソールにアクセスしたり、パスワードで保護するには?

セキュリティ確保のため、ルーターの管理コンソールはデフォルトではローカルインターフェイス上の接続のみを受け付けます。 リモートでコンソールにアクセスするには2つの方法があります:

  1. SSHトンネル
  2. コンソールを公開IPアドレス上でユーザ名&パスワードを付けて利用できるよう設定する

詳細は以下:

  1. SSHトンネル
    もしUnix系のOSを使用しているなら、I2Pコンソールへのリモートアクセス法としてはこれが最も簡単です。 (注:SSHサーバーソフトはWindowsシステムでも利用可能。例えば https://github.com/PowerShell/Win32-OpenSSH
    SSHアクセスをシステムに設定すれば、'-L'フラグが適切な引数と共にSSHに渡されます。例えば:
            ssh -L 7657:localhost:7657 (System_IP)
            
    where '(System_IP)' is replaced with your System's IP address. This command forwards port 7657 (the number before the first colon) to the remote system's (as specified by the string 'localhost' between the first and second colons) port 7657 (the number after the second colon). Your remote I2P console will now be available on your local system as 'http://localhost:7657' and will be available for as long as your SSH session is active. If you would like to start an SSH session without initiating a shell on the remote system, you can add the '-N' flag:
            ssh -NL 7657:localhost:7657 (System_IP)
            
  2. コンソールを公開IPアドレス上でユーザ名&パスワードを付けて利用できるよう設定する
    1. ~/.i2p/clients.configを開いて置換します
                      clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
                
      with
                      clientApp.0.args=7657 ::1,127.0.0.1,(System_IP) ./webapps/
                
      where you replace (System_IP) with your system's public IP address
    2. http://localhost:7657/configuiに行き、必要であればユーザ名とパスワードを追加します - ユーザ名とパスワードの追加は強く推奨されます。匿名性を失わせるような改竄からI2Pコンソールを守るためです。
    3. http://localhost:7657/indexに行き「Graceful restart」を押します。 JVMが再始動されクライアントアプリが再起動されます。
    起動が済めば、コンソールにリモートでアクセスできるはずです。 ルーターコンソールをhttp://(System_IP):7657で読み込んでください。ブラウザが認証ポップアップに対応していれば、上記ステップ2で設定したユーザ名とパスワードの入力が促されます。
    注:上記の設定で0.0.0.0を指定することができます。 これはネットワークやネットマスクではなく、あるインターフェイスを設定します。 0.0.0.0は「全てのインターフェイスにバインドする」ことを意味します。だから 127.0.0.1:7657 だけでなく、あらゆるLAN/WAN IPでアクセス可能になります。 この設定を使う場合は注意が必要です。なぜならシステム上で設定される**全ての**アドレス上でコンソールが利用可能になるからです。

他のマシンからアプリケーションを利用するには?

1つ前の回答を参照し、SSHポートフォワーディングについての手順を確認してください。またコンソールの http://localhost:7657/configi2cp を参照してください。

SOCKS プロキシとして I2P を使用することは可能ですか?

バージョン0.7.1以降SOCKS 4/4a/5がサポートされており、SOCKSプロキシは使用可能です。 I2PはSOCKS アウトプロキシを持たないので、I2P内の利用に限定されます。

ネット上の個人特定につながる機密情報を漏洩するアプリケーションは多いです。これはI2P SOCKSプロキシを使用する際に注意しておかなければならないリスクです。 I2Pは接続データのフィルタリングしかしませんが、あなたが立ちあげたいプログラムが機密情報を内容として送っていたら、I2Pにあなたの匿名性を保護する術はありません。 例えば、一部のメーラーは動作しているマシンのIPアドレスをメールサーバーへ送信します。 これを取り除く術をI2Pは持っていません。よって既存のアプリケーションを'sock化'するためにI2Pを使うことはできますが、極めて危険です。

とにかく socks プロキシアプリケーションに関する詳細な情報を求めるのであれば、 socks ページにいくつか役立つヒントがあります。

IRC や BitTorrent 、その他通常のインターネット上にあるサービスには?

接続したいサービス用の特別なアウトプロキシが設置されていない限りは、不可能です。 現在アウトプロキシは3つのタイプのみが稼働しています:HTTP、HTTPS、メール。 SOCKS アウトプロキシはないことに注意。このタイプのサービスが必要であれば、Torの使用を推奨します。 TorプロジェクトはTor経由でのBitTorrent使用を推奨していません。 その行為に関連して重大な匿名性の問題があるためです。

Privacy and Safety

私のルーターは通常のインターネットへの「出口ノード」ですか?そうしたくありません。

いいえ。Torと違い、「出口ノード」 - I2Pネットワークでは「アウトプロキシ」と呼ばれる - はI2Pネットワークの基本的部位というわけではありません。 トラフィックを通常のインターネットへ中継するのは、特別に別アプリを設定し実行したボランティアのみです。 こういったノードは極めて少数です。 デフォルトで、I2PのHTTPプロキシ(4444番ポートで動作)はfalse.i2pという単一のアウトプロキシを持ちます。これはMeehにより自主的に運用されています。 アウトプロキシ運用についてよく知りたい場合は、フォーラムにあるアウトプロキシガイドが利用可能。

I2Pの使用は安全ですか?

Before you use I2P, use Basic Computer Hygiene Always! Apply your OS vendor provided software updates in a prompt manner. Be aware of the state of your firewall and anti-virus status if you use one. Always get your software from authentic sources.

I2Pは、すべてのユーザーにとって、デフォルトの設定で安全であるように努めています。

プロジェクトが「厳しい国」と呼ぶ、匿名化ソフトウェアに関する法律が明確でなく、リスクがかなり高いと判断される国では、I2Pを使用するのは危険かもしれません。ほとんどのI2Pピアはそのような厳しい国にはなく、厳しい国にあるピアは、ネットワークの観察者から見えにくくするために、より限定的な方法で他のネットワークと通信する「秘匿モード」に設定されています。

ルーターコンソールからほかのすべてのI2PノードのIPアドレスが見えます。つまり私のIPアドレスも他者から見えていますか?

はい。それが完全分散型P2Pネットワークの動作です。全ての参加ノードは他の参加者へのパケット中継に参加します。従って、接続を確立するためにはあなたのIPが分かっている必要があります。

あなたのコンピュータがI2P稼働中であることが公になっていても、その中であなたが何をやっているかを見ることは誰にもできません。あるIPのユーザがファイル共有をしているのか、Webサイトをホスティングしているのか、調査をしているのか、単に帯域幅提供のために動かしているのかは分かりません。

ネットワークのトラフィックを分析することで、I2Pの使用を簡単に検出することができますか?

誰かがI2Pネットワークを利用していることは、ある程度確実に推測できますが、確実に知ることは少し難しいです。 最も確実な方法は、I2Pユーザーと思われる、かなり安定したIPアドレスを持つコンピュータと、異なるネットワーク上であなたがコントロールする、 すべてがI2Pを実行しているコンピュータ群を用意することでしょう。そのうちの1台が疑わしいコンピュータに接続すると、netDBにそのI2Pルーターが 表示されます。これは時間がかかるかもしれませんし、実現しないかもしれません。また、特定のネットワーク上のすべてのI2Pルーターがすべての ピアを失ったことを確認するまで、そのネットワーク上のすべての難読化トラフィックをブロックしてみることもできます。その時点で、より多く のピアを得るために再シードサーバーに手を伸ばすでしょうし、ネットワーク管理者はおそらくそれを観察できるでしょう。

アウトプロキシの使用は安全ですか?

I2Pはインターネットを暗号化しませんし、それはTorもしていないことです - 例えばTransport Layer Security (TLS)を使うといったこと。 I2PとTorはどちらも、対応するネットワークを介してあなたのトラフィックを安全に匿名で接続先に運ぶことを目標としています。 あなたのシステムで生じた未暗号化トラフィックは、アウトプロキシ(I2P)や出口ノード(Tor)に未暗号化トラフィックとして届きます。 これはアウトプロキシ運営者による詮索には脆弱であるということを意味します。 アウトプロキシトラフィックを守る1つの方法は、アウトプロキシによって扱われるだろうあらゆるトラフィックをTLSで暗号化しておくことです。

より詳しい情報は、この疑問に対するTor FAQの回答を読むといいでしょう。

さらに、アウトプロキシ運営者と他のI2Pサービスの運営者との結託があると、 それと同じトンネル("共有クライアント")を使っている場合に脆弱になります。 これについては zzz.i2pでさらなる議論がなされています。 この議論は我々のフォーラムでもミラーされています。

結局、これはあなたにしか答えられない問いなのです。なぜなら正しい解答は、あなたのブラウジングの振る舞い、脅威モデル、アウトプロキシ運営者をどこまで信頼するかによるからです。

「脱匿名性」攻撃とは何ですか?

匿名性の削減は、通常、A)匿名な識別子間で一貫性のある特性を特定するか、あるいは B)繰り返し接続される瞬間的な特性を特定することによって行われます。匿名性を「減らす」 と言ったのは、これらの特性の多くがユーザーうちの多くに共有されており、これらは匿名の「集合」となるからです。 匿名の集合が小さくなり、また自分が小さな集合に属するほど、匿名性はもろくなります。

過去のI2Pへの攻撃は、NetDBの保存と検証の相関に依存するものでした。保存と検証の間の遅延 時間をランダムにすることで、その検証がI2Pの活動に紐づけられうる一貫性を低下させ、 それにより、そのデータポイントの有用性を制限しています。

I2P で動作するように設定されたソフトウェアに対する攻撃は、I2P が解決すべき範囲を超えています。 I2P を閲覧したり、I2P サービスをホストする場合、その脅威モデルを考慮するのはユーザーの責任です。 ブラウザは、フィンガープリンティング攻撃や、そこから得られる様々な情報のために、特に問題が起こりやすいです。 標準化されたブラウジングプロファイルを使用することで、フィンガープリンティングの影響を軽減することができると考えられています。

Reseeds

自分のルーターは、数分間待っていても、接続はゼロかほとんどありません

I2Pの新規インストールは再シード手順を自動的に実行し、既知のピア数は劇的に小さい値になります。 ルーターの再シード実行が必要な場合は、再シードの説明を参照してください。

手動で再シードするには?

I2Pルーターがシード生成を必要とするのは一度だけで、初回のI2Pネットワーク参加の際です。 再シードを行うには、ボランティア運営の非プライベートインターネットのHTTPSサーバ群から選ばれた少なくとも2つの事前定義済みサーバーURLから、 複数の"RouterInfo"ファイル(署名されたzipファイルに圧縮されている)を取得しなければなりません。

再シード失敗の典型的症状は、「既知」インジケータ(ルーターコンソールの左サイドバー)が 極めて小さな値(たいてい5未満)を示し増加しないというものです。 中でも、ローカルのファイアウォールがアウトバウンドトラフィックを制限したり再シード要求を完全にブロックした場合に起こります。

プロバイダのファイアウォールやフィルタに阻まれている場合、次の手順(手動の技術的解決法)を使ってI2Pネットワークに入れます。

バージョン0.9.33時点で、プロキシを通じて再シードを行うように設定できます。 http://localhost:7657/configreseed に行き、プロキシのタイプ、ホスト名、ポートを指定しましょう。

再シードファイルを使ったI2Pネットワークへの参加

運用中のI2Pルーターを持っている既知の信頼できる友人に連絡して、 あなたのI2Pルーターの再シードを手伝ってもらいましょう。 彼の動作中I2Pルーターから再シードファイルをエクスポートして送ってくれるよう頼みましょう。 このファイルの受け渡しは安全な経路で行うことが肝要です。 例えば外的な改竄を避けるために暗号化する(信頼済み公開キーでのPGP署名、暗号化、検証)など。 ファイルそれ自体は署名されていないので、既知の信頼できる友人からのみファイルを受け取りましょう。 情報源が検証できない再シードファイルは絶対にインポートしてはいけません。

受け取ったi2preseed.zipファイルをあなたのI2Pルーターにインポートするには:

  • http://localhost:7657/configreseed に行く
  • 「ファイルから手動再シード」の下の「ファイル選択」をクリック
  • i2preseed.zipファイルを選択
  • 「ファイルから再シード」をクリック

ログから次のメッセージを探しましょう:
Reseed got 100 router infos from file with 0 errors

再シードファイルの共有

信頼できる友人を、自分のI2Pルーターを使って始動させることができます:

  • http://localhost:7657/configreseed に行く
  • 「再シードファイルの作成」の下の「再シードファイルの作成」をクリック
  • 安全にi2preseed.zipファイルを友人に送信

未知のユーザにこのファイルを公開することは、いかなる場合でもやってはいけません。 あなた自身のI2Pからの機密個人データ(100 RouterInfo)が含まれてるからです! 匿名性を保護するために:信頼できる友人とファイルを共有する前に何時間か何日かランダムに待つといいでしょう。 またこの手順は控え目に(1週に2回未満で)行うことが推奨されます。

I2Pの手動再シードの全般ガイドライン

  • 再シードファイルを公に開示したり友人の友人と共有してはいけません!
  • 限られた数の友人(3人未満)だけでファイルを使用しましょう!
  • このファイルが有効なのは数日だけです!(20日未満)

Internet Access/Performance

I2P を通じて通常のインターネットサイトにアクセスできません。

I2Pは通常のインターネットへのプロキシとしての使用を本来は意図・想定していませんでした。 そういうわけで、クリアネットのコンテンツへのプロキシとして動作するサービスはボランティアによりいくらか提供されています - I2Pネットワークでは「アウトプロキシ」と呼ばれています。 I2PのHTTPクライアントトンネルにはデフォルトでfalse.i2pというアウトプロキシが設定されています。 このサービスは今のところ存在していますが、ずっとあるという保証はありません。I2Pプロジェクトによる公式サービスではないためです。 もし匿名ネットワークからクリアネットの資源にアクセスできることを主に求めているのであれば、Torの使用を勧めます。

I2P を通じて https:// または ftp://にアクセスできません。

  • HTTPS
    I2P内ではHTTPSを使う必要がありません。 全てのトラフィックはエンドツーエンドで暗号化されており、それ以上の暗号化、例えばHTTPSの使用は、匿名性に関するメリットを何ら生まないからです。 しかし、HTTPSを使いたい人や使う必要がある人は、既存のデフォルトI2P HTTPプロキシがHTTPSトラフィックをサポートしています。 秘匿サービス運営者は特別な設定やHTTPSアクセスの有効化が必要になるでしょう。
  • FTP
    FTPは技術的な理由によりサポートされていません。 インターネットへのFTP "アウトプロキシ"は存在しません - 設置も不可能かもしれません。 その他のタイプのアウトプロキシなら、標準的トンネルを使って設置すれば動くかもしれません。 あるタイプのアウトプロキシを設置したいなら、潜在的リスクを慎重に調査してください。 I2Pコミュニティが技術的側面で助けられるかは分からないが、気軽に相談してください。 上でたびたび説明したように、どの既存のアウトプロキシもI2Pネットワークの中核部位ではありません。 それらは個人で運営されるサービスであり、いつも稼働しているとは限りません。

ルーターがCPUを大量に使用しています。何か対策は?

高い CPU 使用率のありうる原因は沢山あります。ここにチェックリストがあります。

  • Java Runtime Environment
    利用可能ならば、OpenJDK か Sun/Oracle Java のどちらかを使いましょう。 インストールしたJavaのバーション確認は java -version とコマンド/シェルプロンプトに入力すれば確認できます。 Javaの他の実装ではパフォーマンスが苦しくなりがちです。
  • ファイル共有アプリケーション、例えばBitTorrent
    I2P を通じて BitTorrent クライアントを動作させていませんか? Torrent の数や、帯域幅制限を減らしたり、完全にオフにしてみて、助けになるか確かめてください。
  • 高い帯域幅設定
    帯域幅が大きすぎるのではないですか?I2Pルーターに多量のトラフィックが流れ込み過負荷となっている可能性があります。 設定ページ帯域幅の共有割合の設定を下げてみましょう。
  • I2Pのバージョン
    増加したパフォーマンスとバグフィクスの恩恵を得るために、I2P の最新版を起動しているか確認してください。
  • メモリ割り当て
    I2P使用のために十分なメモリが確保されていますか?グラフページのメモリーグラフを見て、メモリ使用量が「頭打ち」- JVMがガーベジコレクションに大部分の時間を費やしている - になっていないか確認しましょう。 wrapper.configファイルのwrapper.java.maxmemory設定を増やしてみましょう。
  • Bursts of high-usage vs. constant 100% usage
    CPU使用量は単に予想より多いだけですか?それとも長時間100%で頭打ちになっていますか? 天井に張り付いている場合は、バグの可能性があります。ログを確認して手がかりを見つけてください。
  • Java関連
    あなたはJava版BigIntegerライブラリをネイティブ版の代わりに使っているかもしれません。特に、新しかったりマイナーなOSやハードウェア(OpenSolaris、mipselなど)を動かしている場合です。 jbigiページを確認し、診断、ビルド、テストメソッドに関する説明を参照してください。
  • 参加しているトンネル
    ネイティブ版jbigiが正常に動作している場合、一番CPUを使っているのはトンネル参加のためのトラフィック中継かもしれません。 これはCPUを食います。それぞれのホップで暗号層が複合されなくてはならないからです。トラフィックへの参加を制限するには2つの方法があります - confignetページで共有帯域幅を減らすか、configadvancedページでrouter.maxParticipatingTunnels=nnnを設定するかです。

自分のルーターにはほとんどアクティブなピアがありませんが、これは大丈夫ですか?

10以上のアクティブピアがあれば問題ありません。ルーターは少数ピアとの接続をずっと維持するはずです。 ネットワークへの「よりよい接続」を維持するのに最も良い方法は、より大きな帯域幅を共有することです。 ルーターが共有する帯域幅は設定ページ http://localhost:7657/config で変更可能。

自分のアクティブなピア / 既知のピア / 参加中のトンネル / 接続 / 帯域幅 がそのうちに著しく変化します!何かおかしいのでしょうか?

いいえ、おかしいところはありません。 これは通常の振る舞いです。 全てのルーターは変動するネットワーク状況と需要に対して動的な調整を行います。 インストールされたシステムが動作可能かどうか、また利用可能なネットワーク接続があるかどうかに応じて、ルーターはオンラインになったりオフラインになったりします。 ルーターは常にローカルのネットワークデータベースを更新しています。 参加しているトンネルは10分ごとに有効でなくなり、再構成されるかどうかは分かりません。

ダウンロード、Torrent、ウェブブラウジングなどがどれもI2P上では通常のインターネットに比べ低速になるのはなぜですか?

I2Pネットワークにおける暗号化と中継が相当量の負荷をかけ帯域幅を制限します。 図を用いて解説してみましょう:

図では、I2Pトラフィックがネットワークを渡っていくように通る経路が描かれています。 ユーザのI2Pルーターは A と書かれた箱、I2P秘匿サービス(例えばhttp://stats.i2p のサイト)は B で示されています。 クライアントとサーバーは両方3ホップのトンネルを使用していて、それらは P、Q、R、X、Y、Z、P_1、Q_1、R_1、X_1、Y_1、Z_1 と書かれた箱で表示されています。

P・Q・Rの箱は A の発信トンネル、X_1・Y_1・Z_1の箱は B の発信トンネルです。 同様に、X・Y・Zの箱は B の着信トンネル、P_1・Q_1・R_1は A の着信トンネルです。 箱の間の矢印はトラフィックの方向を表しています。 矢印上下の文字はホップ間の帯域幅と遅延の例を詳述しています。

クライアントとサーバーの両方が3ホップのトンネルを使うと、合計12の他ルーターがトラフィック中継に関わることになります。 6ピアがクライアントからサーバーへのトラフィックを中継します。それは A からの3ホップの発信トンネル(P・Q・R)と B への3ホップの着信トンネル(X・Y・Z)から成ります。 同様にして、6ピアがサーバーからクライアントに戻るトラフィックを中継します。

第1に遅延を考えてみましょう - クライアントからのリクエストがI2Pネットワークを渡り、サーバーに到着、クライアントまで戻ってくるのにかかる時間です。 全ての遅延を足し合わせると次のようになります:

      40 + 100 + 20 + 60 + 80 + 10 + 30 ms        (client to server)
    + 60 + 40 + 80 + 60 + 100 + 20 + 40 ms        (server to client) 
    -----------------------------------
    TOTAL:                          740 ms

この例における往復の合計時間は 740 ms です - 確かに通常のインターネットサイトを閲覧するときに通常観察される時間よりずっと大きいです。

第2に、利用できる帯域幅について考えましょう。 これはクライアントからサーバーに、またサーバーからクライアントにトラフィックが渡る際のホップ間のうち、最も遅い接続によって規定されます。 クライアントからサーバーへ行くトラフィックでは、この例で利用可能な帯域幅はホップ R-X間とX-Y間の32KB/sです。 他のホップではより大きな帯域幅が利用できるにも関わらず、これらのホップがボトルネックとなり、A-B間の最大利用可能帯域幅を32KB/sに制限してしまいます。 同様に、サーバーからクライアントの経路をたどれば、最大帯域幅は64KB/s - Z_1-Y_1間、Y_1-X_1間、Q_1-P_1間です。

我々は帯域幅設定を大きくとることを推奨します。 これにより利用可能帯域幅が増えるので、ネットワークが援助されます。それはあなたのI2P体験を改善することになります。 帯域幅の設定は http://localhost:7657/config ページにあります。 プロバイダが決めたネット接続の制限に気をつけて、それに応じ設定を調整しましょう。

我々はまた共有帯域幅を十分にとった設定を推奨します - これによりあなたのI2Pルーターで中継される参加トンネルへの余裕ができます。 参加トラフィックを割り当てることはあなたのルーターをネットワークによく統合されたものにし、転送速度を向上させます。

I2P 開発中のものです。数多くの改善や修正が実装されており、一般的に言って、最新のリリースを使用するとパフォーマンスが改善します。 そうでなければ、最新のリリースをインストールしてください

バグを見つけたと思うのですが、どこで報告できますか?

出くわしたバグや問題は我々のバグトラッカーに報告してください。クリアネットでもI2Pでも利用可能です。 ディスカッションフォーラムを持っており、これもクリアネットとI2Pで利用可能。 IRCチャンネルにも参加できます: 我々のIRCネットワーク、IRC2P、Freenodeなどで。

ルーターログのページ http://127.0.0.1:7657/logs から関連情報を含めてください。 当該ページに表示される様々なログの中のエラーや警告と共に、「I2Pバージョンと実行環境」セクション下の記述全てを晒してください。


質問があります!

いいですね!IRCで我々を見つけましょう:

  • irc.freenode.net 上のチャンネル #i2p
  • IRC2P 上のチャンネル #i2p
あるいはフォーラムに投稿してください。我々が投稿を付けます(できれば回答付きで)。