El Проект Tor продолжает методично переписывать Конфиденциальность в интернете с запуском Арти 2.0Хотя переход к версии «2.0» обычно указывает на существенные изменения, улучшения в обновленных интерфейсах или революционные функции, в экосистеме Rust и в рамках принципа семантического версионирования (SemVer) эта проблема говорит о другом: о зрелости проекта и необходимости его доработки.
Разработчики ясно дали понять, что В этом релизе нет существенных видимых улучшений. для конечного пользователя, а не просто порвать с прошлым, чтобы обеспечить программные интерфейсы (API) держите их в порядке и устойчивым в долгосрочной перспективе.
Что нового в Arti 2.0?
Как мы упоминали в начале, Этикет 2.0, по сути, — это уборка. Это было сделано в рамках проекта. Команда разработчиков отмечает, что они воспользовались этим релизом, чтобы устранить все накопившиеся проблемы. удаление параметров конфигурации, которые давно были помечены как устаревшиеНапример, администраторы, которые по-прежнему использовали proxy.socks_port или proxy.dns_port, обнаружат, что их конфигурации больше не работают, и им придётся перейти на современные proxy.socks_listen и proxy.dns_listen. Аналогичным образом, старый синтаксис для определения полномочий каталогов был окончательно упразднён.
Перо Наиболее существенное изменение для разработчиков заключается в следующем: новый статус пакета arti сам по себе. Все его API, за исключением основной функции ввода, помечены как экспериментальные.Этот шаг является явным предупреждением: пакет arti следует рассматривать как окончательный исполняемый файл, а не как библиотеку для разработки. Тем, кто планирует создавать приложения в сети Tor, следует обратить внимание на arti-client или другие пакеты более низкого уровня, поскольку прямое использование внутренних инструментов Arti теперь выходит за рамки гарантий стабильности и может быть изменено или удалено в будущем без предварительного уведомления.
Хотя цифра "2.0" может звучать как впечатляющая цифра для запуска, на самом деле это довольно тривиальная задача.
Semver требует от нас увеличивать номер основной версии при внесении существенных изменений, и у нас было несколько важных изменений, которые мы хотели реализовать для поддержания организованности наших API. Заметить существенные изменения в этой версии должны только разработчики, создающие приложения, использующие articrate напрямую, а не рекомендуемый крейт arti-client или другие крейты более низкого уровня.
Помимо уборки, Реальная инженерная работа в Arti 2.0 Это произошло между строк кода, где закладывается фундамент, чтобы Arti наконец-то смог выступать в качестве ретранслятора и центра управления каталогами. Реализована новая модульная и универсальная архитектура реактора. Это обещает стать основой управления трафиком в будущем. Хотя возможность полноценного функционирования в качестве ретранслятора еще не готова к внедрению в производство, прогресс ощутим: теперь можно запускать каналы ретрансляции, отвечать на рукопожатия и выступать в качестве сервера в TLS-соединениях.
Что касается совета директоров, то Улучшено управление сертификатами., поскольку в этой новой версии Arti 2.0, Теперь система способна автономно загружать, проверять и хранить сертификаты центров сертификации.Кроме того, добавлено небольшое, но полезное улучшение удобства использования: поддержка типа сокета inet-auto, которая позволяет RPC-серверу автоматически выбирать свободный TCP-порт, упрощая развертывание в средах, где ручное управление портами затруднено.
Среди прочих заметных изменений можно отметить следующие:
- Поддержка предыдущего синтаксиса для указания полномочий каталога удалена. Новый синтаксис можно увидеть в примере конфигурации.
- Исправлена ошибка, из-за которой ограничение скорости при регистрации работало некорректно.
- Были обновлены несколько зависимостей до более новых версий.
- Обновлен список каталогов резервных копий Tor до последней версии.
- Устаревшие функции memquotay dialoguerde carga (которые ничего не делали) были удалены.
- Функции "signal-hook cargo", являвшиеся псевдонимами для " ", были удалены. Функцию следует использовать напрямую: signal-hook-async-stdasync-signal
Наконец, если вас интересует более подробная информация, вы можете найти её в… по следующей ссылке.