Arti 的第一個測試版,Rust 中的 Tor 實現

匿名 Tor 網路的開發人員推出了 Arti 專案的第一個測試版 (0.1.0),該專案開發了一個以 Rust 編寫的 Tor 用戶端。 該專案處於實驗性開發狀態,它落後於 C 語言的主要 Tor 用戶端的功能,並且尚未準備好完全取代它。 計劃在 1.0 月創建 XNUMX 版本,穩定 API、CLI 和設置,適合普通用戶初次使用。 在更遙遠的未來,當 Rust 程式碼達到可以完全取代 C 版本的水平時,開發人員打算讓 Arti 成為 Tor 主要實現的地位,並停止維護 C 實作。

與最初被設計為 SOCKS 代理然後根據其他需求進行定制的 C 實現不同,Arti 最初以模組化可嵌入庫的形式開發,可供各種應用程式使用。 此外,在開發新專案時,會考慮到所有過去的 Tor 開發經驗,這將避免已知的架構問題,並使專案更加模組化和高效。 該程式碼根據 Apache 2.0 和 MIT 許可證分發。

用 Rust 重寫 Tor 的原因是希望透過使用確保記憶體安全操作的語言來實現更高層級的程式碼安全性。 據 Tor 開發人員稱,如果程式碼不使用「不安全」區塊,則該專案監控的所有漏洞中至少有一半將在 Rust 實作中消除。 Rust 還可以實現比使用 C 更快的開發速度,因為語言的表達能力和嚴格的保證可以讓您避免浪費時間進行雙重檢查和編寫不必要的程式碼。

在 0.1.0 版本的變更中,進階 API 基本上穩定,並使函式庫準備好與其他專案進行實驗性整合。 在這些變更中,提到了新增用於建立 TorClient 實例的 API,包括首次使用時在後台建置和初始化(引導)的能力。 此外,還新增了用於錯誤處理的新進階 API。

在版本 1.0.0 發布之前,開發人員打算為 Arti 提供全面支持,以作為提供互聯網訪問的 Tor 用戶端(未來將推遲對洋蔥服務的支持)。 這包括在網路效能、CPU 負載和可靠性等方面實現與主流 C 實現的同等水平,以及為所有安全相關功能提供支援。

來源: opennet.ru

添加評論