Tox (プロトコル)

From Wikipedia, the free encyclopedia

最新版
0.2.21[1] ウィキデータを編集 / 2025年5月15日 (7か月前)
プログラミング
言語
C言語
Tox
GNU/Linux上で動作するToxクライアントのµTox
最新版
0.2.21[1] ウィキデータを編集 / 2025年5月15日 (7か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語
対応OS クロスプラットフォーム
種別 VoIPインスタントメッセージテレビ電話
ライセンス GNU GPL v3+
公式サイト tox.chat ウィキデータを編集
テンプレートを表示

Toxは、エンドツーエンド暗号化を提供するP2Pインスタントメッセージテレビ電話のプロトコルである。全ての人に安全で簡単に接続できるコミュニケーションを提供することを目的としている。リファレンス実装GNU GPL v3+の下で配布されている。

GitHubへの最初のコミットは、2013年6月23日irungentooというユーザーによって行われた[2]2014年2月3日以降、プレアルファ版のテストバイナリをユーザーが利用できるようになり、ToxのナイトリービルドJenkinsによって公開されるようになった[3]。同年7月12日、Toxの開発はアルファ段階に入り、このことのために再設計されたダウンロードページが作成された。

特徴

ユーザーには公開鍵と秘密鍵が割り当てられ、完全に分散されたP2Pネットワークによって互いに直接接続する。ユーザーは友達にメッセージを送ること・友達や見知らぬ人とチャットルームに参加すること・音声と動画によるチャット・互いにファイルを送信することができる。Tox上の全てのやり取りは、NaClによってエンドツーエンド暗号化されており、認証付き暗号と完全な前方秘匿性を提供する。

Toxクライアントは安全で匿名性のある様々な通信機能をサポートすることを目的としている。全てのクライアントがインスタントメッセージをサポートしており、グループメッセージング英語版VoIPビデオ会議・タイピングインジケーター・メッセージの既読確認・ファイル共有・プロファイルの暗号化・デスクトップ共有英語版などの追加機能は、クライアントによってサポートの度合いは異なる。追加機能はコアプロトコルがサポートしている限りは、どのクライアントでも実装することができる。コアネットワークシステムに関連しない機能についてはクライアントに任されている。クライアントの開発者は、クライアントの互換性と最良のセキュリティを維持するために、Tox-Client-Standardに従うことが強く推奨されている。

アーキテクチャ

コア

ToxコアはプロトコルとAPIを確立するためのライブラリである。ユーザーにとってのフロントエンドであるクライアントは、コアの上に構築されている。コアを利用することで誰でもクライアントを作成することができる。主要開発者であるirungentooによって書かれたコアの設計に関する技術文書はMITライセンスの下で公開されており、自由に利用することができる[4]

プロトコル

Toxの中核となるものはToxプロトコルの実装である。このプロトコルはOSI参照モデルアプリケーション層の一例であり、恐らくプレゼンテーション層でもある。Toxプロジェクト以外によって作成されたToxプロトコルの実装も存在する[5]

Toxプロトコルは音声のストリーミングにはOpusを、動画のストリーミングにはVP8を使用する[6]

暗号化

Toxはlibsodiumを介してNaClに組み込まれている暗号化方式を使用する。具体的には、鍵交換にはCurve25519を、共通鍵暗号にはXSalsa20を、メッセージ認証符号にはPoly1305を採用している[7]

クライアント

Toxクライアントは、他のToxユーザーと通信するために、Toxコアライブラリを使用するアプリケーションである。様々なクライアントが存在し、多くのシステムに対応している[8]

名称 オペレーティングシステム プログラミング言語 公式ウェブサイト・リポジトリ
Antidote iOS Swift antidote.im
Antox Android Scala github.com/Antox/Antox
Cyanide Sailfish OS C++QML github.com/krobelus/cyanide
gTox Unix系Windows C++ (GTK+ 3) github.com/KoKuToru/gTox
qTox Unix系、Windows C++ (Qt) qtox.github.io
Toxic Unix系 C言語 (ncurses) github.com/Jfreegman/toxic
Toxy Windows C# (WPF) github.com/alexbakker/Toxy
Toxygen Unix系、Windows Python (PySide) github.com/toxygen-project/toxygen
TRIfA Android Java、C言語 github.com/zoff99/ToxAndroidRefImpl
µTox Unix系、Windows C言語 utox.io
xWinTox Unix系 Objective-C github.com/JX7P/XwinTox
Isotoxin Windows C++ github.com/isotoxin/isotoxin
ratox Unix系 C言語 ratox.2f30.org
WebTox ウェブベース HTML5 (クライアント)、Go (サーバ) github.com/codedust/WebTox

PidginMiranda NGにもToxプロトコル向けのプラグインが存在する[9][10]

Tox Foundationとの関係の解除

LWN.netによると、2015年7月11日、Tox Foundationの代表兼CEOによる「寄付金の悪用をめぐる争い」のため、Toxの開発者達は同財団との関係の解除したと正式に発表した[11]。プロジェクトのドメインは同財団が管理していたので、プロジェクトの大部分が新たなインフラ・サーバ・ドメインに移管した。

反応

Toxは初期の概念の段階で大きな注目を受け、各国の技術系ニュースサイトで取り上げられた[12][13][14][15]。2013年8月15日にはGitHubのトレンドで5位になった[16]メタデータの漏洩についての懸念が提起され、友人を探すプロセスでオニオンルーティングを使うようにすることで対応した[17]。Toxは2014年と2015年にGoogle Summer of Codeで学生に対して指導を行う組織として承認された[18][19]

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI