Хотел бы поделиться модернизированным и адаптированным для русскоязычной аудитории решением для проведения видеоконференций – Galène. Мною был полностью переведен на русский язык интерфейс и произведен ряд улучшений, делающий данный сервер удобным и функциональным инструментом для организации онлайн-встреч.

Основные изменения и улучшения

Полный перевод на русский язык

Весь интерфейс Galène был полностью переведен на русский язык, что делает использование сервера интуитивно понятным для русскоязычных пользователей. Теперь общение и управление сервером стало еще проще и удобнее.

Новый режим "Только камера"

В Galène был добавлен новый режим "Только камера", который позволяет пользователям участвовать в видеоконференциях, используя только камеру, без микрофона. Это расширяет возможности использования сервера в различных сценариях.

Обновленная цветовая палитра и мелкие корректировки

Я изменил цветовую палитру интерфейса, сделав его более приятным и современным. Также были проведены мелкие корректировки в вёрстке, что улучшило общую эргономику и удобство использования.

Локальная запись экрана

Добавил функционал локальной записи экрана. Теперь пользователи могут записывать свои экраны локально, что позволяет сохранять важные моменты встреч и презентаций для последующего просмотра и анализа.

Поддержка Emoji в текстовом чате

В текстовый чат были добавлены Emoji, что позволяет пользователям выражать свои эмоции и реакции более живо и разнообразно. Независимо от используемой операционной системы, все Emoji будут отображаться одинаково, для этого пришлось пойти на некоторые хитрости.

Обновленная главная страница

Главная страница была переработана: теперь на ней появился логотип и генератор ссылок для групп с активированными подгруппами. Брендирование выполнено в качестве примера, и вы можете легко отредактировать логотип и favicon под свои нужды.

Установка с использованием Docker

Установка Galène предельно проста благодаря Docker. Для запуска сервера выполните следующую команду:

docker run -d \
--network host \
--name galene \
--restart=unless-stopped \
-e GALENE_HTTP=:443 \
-e GALENE_TURN=:10000 \
-e GALENE_UDP_RANGE=10001-20000 \
-e GALENE_DATA=/data \
-e GALENE_GROUPS=/groups \
-v /data/galene/data:/data \
-v /data/galene/groups:/groups \
-v /data/galene/static:/opt/galene/static \
zerolabnet/galene:latest

Статические файлы переносятся в смонтированную директорию, для удобства редактирования, при необходимости.

Пример конфигурации

data/config.json:

{
    "admin": [{"username":"root","password":"secret_root_pwd"}]
}

groups/zerolab.json:

{
    "displayName": "zerolab",
    "description": "Свободная для собраний группа",
    "users":{
        "admin": {"password":"secret_adm_pwd", "permissions": "op"},
        "user1": {"password":"secret_pwd1", "permissions": "presenter"},
        "user2": {"password":"secret_pwd2", "permissions": "presenter"}
    },
    "codecs": ["vp8", "vp9", "opus"],
    "allow-recording": false,
    "allow-subgroups": true,
    "unrestricted-tokens": true,
    "autolock": false,
    "public": true,
    "authServer": "https://example.org:8444",
    "authKeys": [
        {"alg":"HS256","k":"xxx","key_ops":["sign","verify"],"kty":"oct"}
    ]
}

Поддержка Microsoft Active Directory

Для обеспечения совместимости с корпоративными системами я внес изменения для поддержки Microsoft Active Directory заместо OpenLDAP.

Логика взаимодействия с группами была переосмыслена: теперь в "groups-exception" указываются группы, исключаемые из процесса аутентификации через LDAP, что упрощает управление доступом.

Новые возможности

  • Права на создание ссылок-приглашений: По умолчанию аутентифицированным пользователям выдаются права на создание ссылок-приглашений.
  • Пользовательская конфигурация TLS: Добавлена возможность пропуска проверки сертификата при создании LDAPS-соединения.
  • Устранение ошибок: Исправлена ошибка закрытия соединения сервером LDAP из-за неактивности.
  • Права "Оператор": Добавлен функционал для выдачи прав "Оператор". В файле galene-ldap.json нужно заполнить поле "op", указав группы и пользователей, которым предоставляются эти права.

Установка с использованием Docker

Установка проста и осуществляется следующей командой:

docker run -d \
--network host \
--name galene-ldap \
--restart=unless-stopped \
-v /data/galene-ldap/data:/srv/app/data \
zerolabnet/galene-ldap:latest

Пример файла galene-ldap.json автоматически копируется в смонтированную директорию.

Пример конфигурации

data/galene-ldap.json:

{
    "httpAddress": ":8444",
    "ldapServer": "ldap://ldap.example.org:389",
    "ldapBase": "OU=users,DC=domain,DC=example,DC=org",
    "ldapClientSideValidate": false,
    "ldapAuthDN": "CN=users-sync,OU=spec,OU=users,DC=domain,DC=example,DC=org",
    "ldapAuthPassword": "secret_pwd",
    "passwordFallback": true,
    "key": {"alg":"HS256","k":"xxx","key_ops":["sign","verify"],"kty":"oct"},
    "groups-exception": [""],
    "op": [
        {"group": "groupname1", "username": ["username1","username2"]},
        {"group": "groupname2", "username": ["username1","username2"]}
    ]
}

Исходный код опубликован на GitHub

galene-ru:

GitHub - zerolabnet/galene-ru: Galène – сервер для проведения видеоконференций. Полностью переведён на русский язык, сделаны доработки.
Galène – сервер для проведения видеоконференций. Полностью переведён на русский язык, сделаны доработки. - zerolabnet/galene-ru

galene-ldap:

GitHub - zerolabnet/galene-ldap: Поддержка LDAP для сервера видеоконференций Galène
Поддержка LDAP для сервера видеоконференций Galène - zerolabnet/galene-ldap