数ヶ月前、私たちはブログでここにコメントしましたRustに関するTorプロジェクトの開発者の意図、近年、多くの重要なオープンソースプロジェクトがこのプログラミング言語に目を向けており、時間の経過とともに多くの関連性を獲得し始めています。
そして今、匿名のTorネットワークの開発者について述べたように、これらは 公表 ブログ投稿を介しての立ち上げ Artiプロジェクトの最初のベータバージョン0.1.0 Rustで書かれたTorクライアントを開発します。
Artiについて
このプロジェクトを知らない人のために、私はあなたにそれを言うことができます Cの実装とは異なり、 もともとはSOCKSプロキシとして設計され、後に他のニーズに適合しました。 Artiは当初、モジュラープラグインライブラリとして開発されました 複数のアプリケーションで使用できます。
また、新しいプロジェクトを開発するときは、 過去のすべてのTor開発経験が考慮されます。 これにより、既知のアーキテクチャの問題が回避され、プロジェクトがよりモジュール化されて効率的になります。 コードは、Apache2.0およびMITライセンスの下で配布されます。
RustでTorを書き直す理由は、より高いレベルのセキュリティを実現したいという願望です。 メモリセーフな言語を使用してコードを作成します。 Torの開発者によると、コードが「安全でない」ブロックを使用していない場合、プロジェクトによって追跡されるすべての脆弱性の少なくとも半分がRustの実装で削除されます。
また、Rustを使用すると、言語の表現力と強力な保証により、Cよりも高速な開発速度を実現できます。これにより、不要なコードの再確認や記述に時間を浪費することを回避できます。
Arti0.1.0の主なノベルティ
バージョン0.1.0での変更から、 高レベルAPIの基本的な安定化があります 他のプロジェクトとの実験的統合のためにライブラリを準備します。
変更点のうち、言及されている TorClientをインスタンス化するためのAPIを追加し、 最初の使用時にバックグラウンドでコンパイルおよびブートストラップする機能を含みます。 また、エラー処理用の新しい高レベルAPIが追加されました。
今日、私たちは0.1.0マイルストーンに到達しました。これは、Artiの高レベルAPIが「ほぼ安定」しており、他のプロジェクトへの実験的統合の準備ができていることを意味します。 (APIの中断は約束していませんが、正当な理由がない限り、高レベルのAPIを中断することはありません。) 1.0.0月に予定されているXNUMXマイルストーンは、さらに強力なAPIコミットメントを表しています。
バージョン1.0.0のリリース前は、開発者はArtiを提供する予定です。 Torクライアントとしての作業を完全にサポート インターネットへのアクセスを提供します(タマネギサービスのサポートの実装は将来延期されました)。
C言語のメイン実装と同等にするためにこれを含める予定です。 ネットワークパフォーマンス、CPU負荷、信頼性などの分野で、またすべてのセキュリティ関連機能のサポートを確保します。
プロジェクトは実験的な開発状況にあり、メインのC言語Torクライアントの機能に遅れをとっており、完全に置き換える準備がまだ整っていないことを再度言及する価値があります。
1.0リリースは、API、CLI、および構成の安定化を備えたXNUMX月に計画されており、通常のユーザーによる最初の使用に適しています。
将来、RustコードがCバージョンを完全に置き換えることができるレベルに達したとき、開発者はArtiをTorのメイン実装にし、C実装の維持を停止する予定です。
私たちは、ユーザーとボランティアがソフトウェアの問題を見つけ、改善の方向性を提案することを頼りにしています。 Artiはまだ本番環境で使用する準備ができていませんが、SOCKSプロキシ(ソースからコンパイルする場合)および埋め込み可能なライブラリ(APIの不安定さを少し気にしない場合)として試すことができます。
最後に あなたがそれについてもっと知りたいなら この新しいリリースについては、詳細を確認できます 次のリンクで。