i2pd - エンドツーエンド暗号化された匿名ネットワーク層向けI2Pクライアント
(github.com/PurpleI2P)- i2pd は、I2Pクライアントの機能を完全に備えたC++実装であり、匿名I2Pネットワークを構築して利用するためのソフトウェア
- I2P は汎用的な匿名ネットワーク層であり、I2P上のすべての通信は匿名で、エンドツーエンドで暗号化され、参加者は実際のIPアドレスを公開しない
- 匿名I2Pネットワークは、ファイル共有や暗号資産のような匿名P2Pアプリケーション、Webサイト・インスタントメッセンジャー・チャットサーバーのような匿名クライアントサーバーアプリケーションで一般的に利用される
- 主な特徴は、分散型匿名ネットワーキングフレームワーク、エンドツーエンド暗号化通信、小さなインストール容量、シンプルな依存関係、高速な性能、セキュリティアプリケーション開発者向けのAPI群
- インストールは、事前コンパイル済みパッケージとバイナリを使用する方法が最も簡単で、その多くは release ページから入手可能
- ビルドと実行方法は documentation で提供されており、設定ファイルの例は
contrib/i2pd.conf - 対応システムは GNU/Linux、CentOS、Fedora、Mageia、Alpine、ArchLinux、openSUSE、Gentoo、Windows、Mac OS、Docker image、Snap、FreeBSD、Android、iOS
- Android向けi2pdは i2pd-android、Qt GUI版は i2pd-qt、macOS GUI版は gui-i2pd で提供されている
- ライセンスは、プロジェクトルートの
LICENSEファイルにある BSD 3-clause license
1件のコメント
Hacker News の意見
I2P プロジェクトは本当に好きで、多くの面で適切に設計されていると思う
たとえば、リレー運営者の善意だけに頼らず、すべてのネットワーク参加者に内部トラフィックの一部を中継させれば、単一の主体がユーザーを非匿名化できるほど十分なホップを支配するのはずっと難しくなる
残念ながら、Torrent 以外では I2P はあまり traction を得られず、資金がより潤沢な Tor プロジェクトに押されているように見える
特に qBitTorrent 4.6 がサポートを統合したので、うまく広まってほしい。最近のファイル共有は、何をするにも VPN が必要という形で停滞しているので、揺さぶりが必要だ
Tor Project がそうしないのには理由がある: https://support.torproject.org/alternate-designs/
「多くの Tor ユーザーは良いリレーにはなれない。たとえば、一部の Tor クライアントは制限の厳しいファイアウォールの背後にいたり、モデムで接続していたり、トラフィックを中継できない環境にいたりする。こうしたユーザーにもサービスを提供することは、すべての人に有効な匿名性を提供するうえで重要だ。このような制約を受ける Tor ユーザーは多く、彼らを含めてこそ匿名集合のサイズが大きくなるからだ…」
「また、攻撃者が私のリレー経由でトラフィックを送るのと同時に、私が匿名化されたトラフィックを開始する場合のリスクを、よりよく理解する必要がある。3本の研究論文は、候補リレーにトラフィックを流し、回線がアクティブな間のトラフィック減少を観察することで、回線内のリレーを識別する方法を説明している。こうした輻輳攻撃は、リレーが決してクライアントにならない限り、Tor の文脈ではそれほど恐ろしいものではない…」
もし暗号化アルゴリズムが破られたら、人々が知らないうちに CSAM を転送していた事実が明らかになる可能性がある。意図的でなくてもそうだ。I2P のモデルも同じ懸念を生まないだろうか?
以前は Tor で Torrent を使うとネットワークを飽和させるとして、だいたい白い目で見られていた記憶がある。目的が著作権通知を避けることなら、特に速度面で、ほとんどどんな VPN よりも優れている理由はなさそうだった
Tor ユーザーの 99% は単に通常のインターネットを見るために Tor を使っているだけなので、本当の「Tor コミュニティ」はないと思う
このリンクは I2P の C++ 版のように見える
より複雑で組み込み機能がはるかに多い、元の「公式」Java 版はこちら: https://geti2p.net
いずれにせよ、現在の i2pd は IRC、メール、NNTP、Gopher、Web、Telnet と非常にうまく動作する
実際、こういう低レベルに近いものに、なぜ C 実装がないのか不思議に思う
I2P の最も実用的な用途は、Tailscale のようなものを使えない、または使いたくない場合に、NAT の背後にある目立たないデバイスへの SSH アクセスをトンネルすることだと思う
あるいは、希少な本や音楽コレクションをシードする Torrent ボックスを考えてもよい。サーバー費用は暗号通貨で払えるが、I2P はそのサーバーに非公開でアクセスし、設定できるようにしてくれる
Yggdrasil は「グレイネット」だ。エンドツーエンドで暗号化され、分散ハッシュテーブル(DHT)で自己組織化するが、オニオン/ガーリックルーティングはない。それでも Tor と I2P の両方と相互運用でき、一部の Yggdrasil ノードは I2P 専用または Tor 専用だ。存在のあらゆる領域、つまり複数のネットワークへ根(トンネル)を伸ばす世界樹のような構造だ
ユーザーに IPv6 アドレスを割り当てる。このアドレスは公開鍵署名から自動生成されるため、事実上スプーフィングが不可能で、自動認証とエンドツーエンド暗号化を同時に提供する。IPsec が全面的に、完全に透過的に敷かれているような感覚だ
検閲体制向けのステルスモードもあり、ルーターが自分を広告せず静かに待機できる
関連記事:
Invisible Internet Project (I2P) - https://news.ycombinator.com/item?id=25734254 - 2021年1月、コメント23件
Kovri – I2P ネットワークの安全でプライベートかつ追跡不能な C++ 実装 - https://news.ycombinator.com/item?id=14963044 - 2017年8月、コメント53件
I2P-Bote – 分散ハッシュテーブルを使用する I2P ネットワーク向けメールプラグイン - https://news.ycombinator.com/item?id=14236331 - 2017年5月、コメント20件
I2P: Invisible Internet Protocol - https://news.ycombinator.com/item?id=12022917 - 2016年7月、コメント56件
数年前、I2P が提供できる匿名性の限界を試してみようと思って使ってみた
あまり資金提供を受けていないように見えるのが残念。あらゆる面で Tor よりずっと優れていると思う。実装の前に理論を本当に徹底的に固めていた
それでもルーターのユーザー体験は本当にひどかった。あらゆるプラットフォームで完全かつ高速に動作するスタンドアロンのバイナリが必要だし、事前の技術知識をあまり要求しない GUI も必要。現在のルーターは Java で書かれていて、i2p-rust が追いつくことを期待していたが、ほとんど半分死んだプロジェクトのように見えた
人々にピカピカの新しい言語を試すよう説得するほうがずっと簡単
ただ、その目的では Rust/Go もすでに少しスポットライトから外れつつあると思う。ハイプが欲しいなら Zig や Nim、あるいは自分がまだ聞いたことのない何かを見る必要がありそう
I2P で新しい回線を作るのがどれくらい簡単なのか気になる
API でサポートされているのか、どれくらい時間がかかるのかも知りたい
背景を言うと、仮名で署名された投票を匿名チャネルで送信する必要がある投票システムを開発中。また、2つの仮名が同じ匿名チャネルを使うと匿名性が弱まるので、それが絶対に起きないことが重要
[1]: https://janiserdmanis.org/artefacts/EVOTEID-2023-poster.pdf
自分で分散型インターネット製品群を作っているので、以前はこの分野にかなり深くはまっていた
Freenet の創始者 Ian Clarke にインタビューしたことがある: https://www.youtube.com/watch?v=JWrRqUkJpMQ
PerfectDark も興味深かった
一番好きなのは http://maidsafe.net/。14年を経て、ようやくリリースが近づいているようだ。ちなみに自分は彼らとは関係ない
i2p のメンテナー zzz が政治関連の反発を受けた後にプロジェクトを去ったようで残念だった
オープンソースのメンテナーたちが無報酬で注いでいる大変な努力に感謝すべきだと思った
確かに非常に突然の離脱だった
I2P は素晴らしい人たちが運営している素晴らしいプロジェクト
Tor と比較して簡単に言えば、I2P は I2P 内部エコシステムで強い。残念ながら最後に確認したときは出口ノードが数個しかなく、その部分は Tor が強い
Tor Browser は Tor のキラーアプリ
I2P にも、基本的な HTML だけを処理する、安全でシンプルでフィンガープリント追跡されにくいブラウザが必要。そうでないと、自ら問題を招くことになる
一般的なブラウザを使うことは、I2P の匿名性にとって大きな弱点。Tor Browser は Tor ネットワークのすべてのユーザーが同じに見えるようにしようとしている
I2P ユーザーも単に Tor Browser を使えば、ブラウザのフィンガープリント追跡の可能性が減るという同じ利点を得られるのでは?