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は匿名ネットワークです - コンテンツのブロックや検閲に耐えるよう作られており、誰もが使えるコミュニケーション手段を提供しています。 あなたのルータを通るI2Pのトラフィックは複数の暗号層で暗号化されています。 (今のところ知られてはいませんが)重大なセキュリティ脆弱性がない限り、 トラフィックの中身が何であるかを知る術はありません。従って、あなたが問題視するトラフィックとそうでないものの区別はつきません。 この質問の3つの側面を考えてみましょう。
-
拡散
I2P上の全てのトラフィックは複数の層で暗号化されます。あるメッセージの内容・発信者・宛先を知ることはできません。 あなたが中継する全てのトラフィックはI2Pネットワークで閉じており、あなたは出口ノードではありません(我々の文書ではアウトプロキシと呼んでいます)。 唯一の選択肢はあらゆるトラフィックの中継を拒否することです。それには共有帯域幅か最大参加トンネルを0に設定します(先述)。 これはやらない方がいいでしょう。他の参加者のためにトラフィック中継をしてネットワークを援助すべきです。 95%以上のユーザは他人のためにトラフィックを中継しています。 -
保存
I2Pはコンテンツの分散保持をしません。それには特別なインストールと設定が必要です(例えばTahoe-LAFSで)。 分散保持は別の匿名ネットワークFreenetの特徴であって、 I2Pの動作によって他ノード用にコンテンツが保持されることはありません。 -
アクセス
気に入らない秘匿サービスがあったら訪問を控えればよいでしょう。 あなたがそうしろと指示しない限り、ルータは何もコンテンツを要求しません。
Is it possible to block I2P?
はい、ずば抜けて簡単で一般的な方法は、ブートストラップ、つまり「再シード」のサーバーをブロックすることです。完全に不明瞭なトラフィックをブロックすることでも可能です(が、I2P以外の他の多くのものに悪影響が出ますし、大半はそこまで求めていないでしょう)。 再シードをブロックする場合、Githubに再シードのバンドルがあるので、それをブロックするとGithubもブロックします。 プロキシ越しにも再シード可能ですし(Torを使いたくなければ多くがインターネットで見つかります)友人を通じてでオフラインで再シードバンドルを共有することもできます。
wrapper.log
内に、I2Pがロード中の時の 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つの部分から成ります:
- インターネット用ポート。他のI2Pルータとのやり取りに使用される。
- ローカル接続用のローカルポート。
詳しい説明は以下。
- インターネット用ポート
注意:バージョン0.7.8以降の新規インストールでは8887番ポートを使用しません。 9000~31000番ポートが初回起動時にランダムに選ばれます。 選ばれたポートはルータ設定ページに表示されています。
発信側- UDP:設定ページに表示されているランダムなポートから任意のリモートUDPポートまで。返信用。
- TCP:ランダムなハイポートから任意のリモートTCPポートまで。
- 123番ポートのアウトバウンドUDPは返信用に確保されています。これはI2Pの内部時刻同期に必要です。(SNTP経由で。pool.ntp.org内または指定したサーバのSNTPホストからランダムに問い合わせ。)
- ローカル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 Outgoing mail to smtp.postman.i2p ルータコンソールのi2ptunnelページで無効化/変更可。 またインターフェイスのバインドを特定のものに限るか全てにするか設定可 8998 mtn.i2p-projekt.i2p (Monotone) ルータコンソールのi2ptunnelページで無効化/変更可。 またインターフェイスのバインドを特定のものに限るか全てにするか設定可 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つに分けて回答しましょう:
- 私のルータではよく「アドレス帳にWebサイトが見つからない」というメッセージが表示されます。なぜでしょうか。
http://website.i2pのような人間が読めるアドレスは、宛先である長いランダム文字列への参照です。 これら参照はアドレス帳サービスに登録され保管されています。例えば zzz が運営している stats.i2p 。 "b32"アドレスというものをよく見るでしょう。"b32" は宛先のハッシュ(特にSHA256)です。このハッシュに ".b32.i2p" が付けられて、アドレス帳サービスへの登録なしでも、秘匿サービスにリンクする簡便な方法として機能します。
ルータ設定に購読制の追加が可能です。それは件のメッセージの頻度を抑えるかもしれません。
- アドレス帳購読とはどんなものですか?
様々なI2Pウェブサイト上にホストされているファイルのリストであり、そのそれぞれがI2Pホストとその接続先のリストを保持しています。
アドレス帳はhttp://localhost:7657/dnsにあり、詳しい情報が見られます。
- 何かいいアドレス帳購読リンクはありますか?
以下を試すとよいでしょう:
他のマシンからウェブコンソールにアクセスしたり、パスワードで保護するには?
セキュリティ確保のため、ルータの管理コンソールはデフォルトではローカルインターフェイス上の接続のみを受け付けます。 リモートでコンソールにアクセスするには2つの方法があります:
- SSHトンネル
- コンソールを公開IPアドレス上でユーザ名&パスワードを付けて利用できるよう設定する
詳細は以下:
- SSHトンネル
もしUnix系のOSを使用しているなら、I2Pコンソールへのリモートアクセス法としてはこれが最も簡単です。 (注:SSHサーバーソフトはWindowsシステムでも利用可能。例えば https://github.com/PowerShell/Win32-OpenSSH)
SSHアクセスをシステムに設定すれば、'-L'フラグが適切な引数と共にSSHに渡されます。例えば:ssh -L 7657:localhost:7657 (System_IP)
ssh -NL 7657:localhost:7657 (System_IP)
- コンソールを公開IPアドレス上でユーザ名&パスワードを付けて利用できるよう設定する
~/.i2p/clients.config
を開いて置換しますclientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
clientApp.0.args=7657 ::1,127.0.0.1,(System_IP) ./webapps/
- http://localhost:7657/configuiに行き、必要であればユーザ名とパスワードを追加します - ユーザ名とパスワードの追加は強く推奨されます。匿名性を失わせるような改竄からI2Pコンソールを守るためです。
- 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などで。
- バグトラッカー
- 非プライベートインターネット: https://i2pgit.org/i2p-hackers/i2p.i2p/issues
- I2P上: http://git.idk.i2p/i2p-hackers/i2p.i2p/issues
- フォーラム: i2pforum.net
- 興味深いログをPasteサービスに貼り付けるのもいいでしょう。PrivateBin Wikiに載っているクリアネットサービスや、I2PのPasteサービス、例えばこのPriveteBinインスタンスやこのJavaScript不要のPasteサービスが利用できる。そして#i2pのIRCを追うとよいでしょう。/li>
- IRCの#i2p-devに参加し開発者と議論しましょう
ルータログのページ http://127.0.0.1:7657/logs から関連情報を含めてください。 当該ページに表示される様々なログの中のエラーや警告と共に、「I2Pバージョンと実行環境」セクション下の記述全てを晒してください。
質問があります!
いいですね!IRCで我々を見つけましょう:
-
irc.freenode.net
上のチャンネル#i2p
-
IRC2P
上のチャンネル#i2p