После почти трех лет разработки объявили о выходе новой версии Transmission 4.0.0, версия, в которой был проведен существенный рефакторинг кодовой базы, позволивший уменьшить размер кода на 18%, улучшить тестовое покрытие и упростить сопровождение.
Для тех, кто плохо знаком с Transmission, вы должны знать, что это относительно легкий и нетребовательный BitTorrent-клиент, написанный на C и совместимый с различными пользовательскими интерфейсами: GTK, Qt, собственный Mac, веб-интерфейс, демон, CLI.
Основные новые возможности Transmission 4.0.0
El ключевым изменением в новой ветке стал перевод кодовой базы с C (C90) на C++.. Раньше на C++ писался только интерфейс на основе Qt. Главная причина портировать весь проект на C++ — это желание воспользоваться дополнительными функциями, предоставляемыми стандартной библиотекой C++ и наличие более продвинутой проверки типов в C++. Интерфейс GTK был перемещен для использования gtkmm, оболочки GTK для языка C++.
Что касается улучшений, то следует отметить, что добавлена поддержка использования торрентов в формате BitTorrent v2 и гибридные торренты (пока только готовые торренты, возможность создавать торренты на базе BitTorrent 2 появится в одном из следующих релизов). В BitTorrent v2 использование алгоритма SHA-1 заменено на SHA2-256, который используется как для контроля целостности блоков данных, так и для записей в индексах (инфо-словарь), что нарушает совместимость с DHT и трассеры.
Веб-интерфейс был переписан с использованием более современных методов разработки JavaScript. и был адаптирован для использования на мобильных устройствах. Код сохранен из-за использования библиотеки jQuery, плюс сжатый веб-интерфейс теперь составляет всего 68 КБ.
El производительность была значительно улучшена— Тестирование запуска демона передачи с 25k торрентами показало снижение нагрузки на процессор на 50% и снижение потребления памяти на 70% по сравнению с Transmission 3.00.
Взаимодействие фонового процесса с интерфейсами GUI (transmission-qt и Transmission-web) было изменено на RPC, работающий в табличном режиме, что уменьшило размер передаваемых данных и уменьшило требования к пропускной способности. Для сжатия данных, передаваемых по RPC, вместо zlib используется более оптимизированная библиотека libdeflate.
Из других изменений, которые выделяются:
- У пользователя есть возможность установить трекеры по умолчанию, которые можно использовать для рекламы всех публичных торрентов.
- Новые добавленные семена выпускаются немедленно, а операции проверки выполняются по мере необходимости (без выполнения полной проверки перед запуском).
- Добавлена возможность исключать при создании новых торрентов информацию, которая может быть использована для косвенной идентификации пользователя (например, дату создания и User-Agent).
- Добавлена поддержка черного списка для IPv6.
- Система модульного тестирования была перенесена для использования Google Test.
- Обеспечил выпуск сборок на основе Clang в системе непрерывной интеграции.
- Базовая библиотека прошла фазз-тестирование.
- Новый процесс проверки кода реализован в статических анализаторах Sonarcloud, Coverity, LGTM и clang-tidy.
В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.
Как установить Transmission в Linux?
к Те, кто являются пользователями Debian, Ubuntu, Linux Mint или любого другого дистрибутива, созданного на их основе, устанавливают приложение с помощью:
sudo add-apt-repository ppa:transmissionbt/ppa -y sudo apt установить передачу
Если они Пользователи Fedora или дистрибутивы на ее основе, они могут установить приложение со следующими команда:
sudo yum установить передачу
А для тех, кто Пользователи Mandriva Linux должны установить эту команду:
передача sudo urpmi
Для тех, кто Пользователи openSUSE должны ввести в терминал следующее:
sudo zypper установить передачу
Наконец, в случае пользователей Arch Linux и производные от него дистрибутивы можно установить с помощью этой команды:
sudo pacman -S передача
Аналогичным образом вы можете скомпилировать Transmission в системе из исходного кода, вам просто нужно выполнить следующие шаги, чтобы сделать это.
Их исходный код размещен на GitHub, поэтому у них должна быть поддержка git, чтобы они могли клонировать репозиторий.
Мы собираемся открыть терминал и набрать в нем следующее.
Сначала мы собираемся получить исходный код с помощью:
git clone https://github.com/transmission/transmission Передача
Входим в каталог:
CD-передача
И мы начинаем компиляцию со следующих команд, которые мы должны вводить одну за другой:
обновление подмодуля git --init mkdir build cd build cmake .. make sudo make install