Релиз FreeRDP 1.0, форка проекта rdesktop
В процессе подготовки FreeRDP 1.0 основные компоненты проекта были полностью переписаны. Если ветка FreeRDP 0.x лишь продолжала развитие кода rdesktop, то FreeRDP 1.x отныне может рассматриваться как полностью самостоятельный и не пересекающийся с rdesktop проект. Наиболее важным изменением, связанным с переработкой кода, является переход на новую лицензию. Начиная с версии FreeRDP 1.0 код распространяется под лицензией Apache, в то время как прошлые версии были доступны под лицензией GPLv2.
Изначально намеченный план по выпуску ещё одного релиза в ветке FreeRDP 0.x - 0.9, отменён. Вместо поддержки устаревшей ветки разработчики решили приложить все свои усилия к развитию переписанной кодовой базы FreeRDP 1.x. Несмотря на то, что список новшеств в версии FreeRDP 1.0 впечатляет, у разработчиков остаётся множество планов, которые ещё предстоит реализовать в будущих выпусках. Например, среди приоритетных задач на будущее упоминается обеспечение поддержки протокола RDP8 и реализация возможности работы FreeRDP в роли RDP-сервера, а не только клиента.
Основные новшества FreeRDP 1.0:
- Поддержка технологии RemoteFX, позволяющей оптимизировать трансляцию клиенту видео и текста, а также обеспечить задействование средств 3D-акселерации (DirectX) через предоставление доступа к виртуализированному представлению физического GPU для гостевых систем, запущенных под управлением гипервизора Hyper-V. В FreeRDP подготовлена реализация как декодера RemoteFX, так и кодировщика, при создании которых задействованы оптимизации с использованием инструкций SSE2 (Intel) и NEON (ARM);
- Реализация RDP-расширения NSCodec с реализацией кодека, обеспечивающего быстрое и эффективное кодирование изображений;
- Поддержка работы с сервисом RemoteApp, предоставляющим доступ к приложениям, размещённым на стороне сервера, но работающим с полной интеграцией в окружение клиента (доступ не к целому рабочему столу, а к отдельному приложению по RDP, с которым пользователь работает как с обычным локальным приложением);
- Поддержка перенаправления мультимедиа потоков (Multimedia Redirection) с использованием FFmpeg, что позволяет увеличить эффективность передачи звукового и видео контента поверх протокола RDP. При использовании Multimedia Redirection с сервера по сети передаётся изначально сжатый мультимедиа поток, декодирование которого осуществляется на стороне клиента;
- Поддержка аутентификации с использованием NTLMv2, реализация функций проверки валидности сертификатов и обеспечение работы других механизмов безопасности RDP, соответствующих требованиям FIPS;
- Представлена реализация трёх клиентских интерфейсов: xfreerdp - официальный клиент для работы в X11, поддерживающий RemoteApp и реализующий работу GDI поверх X11. dfreerdp - клиент с поддержкой работы поверх DirectFB с программной реализацией GDI (libfreerdp-gdi). wfreerdp - клиент для платформы Windows. В качестве графического интерфейса также предлагается использовать универсальное приложение Remmina, написанное с использованием библиотеки GTK+ и поддерживающее расширение функциональности через подключение плагинов (доступны плагины с поддержкой протоколов RDP, VNC, NX, XDMCP и SSH).
- Представлена экспериментальная реализация RDP-сервера xfreerdp-server, пока поддерживающего только работу через RemoteFX и трансляцию событий от мыши и клавиатуры;
- Добавлены новые виртуальные каналы для проброса различных устройств между клиентом и сервером:
- cliprdr - перенаправление буфера обмена для приложений, вызываемых через RemoteApp;
- drdynvc - реализация динамических виртуальных каналов, в качестве примера представлен канал audin для проброса звука (поддерживается ALSA и PulseAudio)
- tsmf - проброс мультимедиа потоков (поддерживается FFmpeg, ALSA и PulseAudio);
- rdpdr - проброс различных типов устройств, таких как диск, параллельный порт, последовательный порт, принтер (поддерживается CUPS) и устройства для чтения смарт-карт;
- rdpsnd - проброс звука (поддерживается ALSA и PulseAudio).
- Новая система сборки, основанная на использовании cmake;
- Переработанная внутренняя архитектура проекта. Ядром выступает библиотека libfreerdp-core с серверной и клиентской реализацией базового протокола. Операции кэширования вынесены в библиотеку libfreerdp-cache. Распаковка битмапов и операции кодирвоания/декодирования контента реализованы в библиотеке libfreerdp-codec. В libfreerdp-kbd реализованы функции работы с клавиатурными раскладками, в libfreerdp-channels функции управления виртуальными каналами, в libfreerdp-gdi представлена переносимая реализация GDI, в libfreerdp-rail функции поддержки RemoteApp, в libfreerdp-utils - вспомогательные функции.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32827
|
0 | Tweet | Нравится |
|