открытый код, AGPL-3.0 · ваше железо, ваши правила

Групповой чат, который живёт на вашем железе.

Backspace — аналог Discord с открытым исходным кодом, который вы держите у себя: пространства, роли, голос и видео, демонстрация экрана до 4K при 120 кадрах в секунду и федерация между серверами, каждый из которых остаётся у своего владельца.

один интерактивный установщик · HTTPS настроится сам · работает на Raspberry Pi

чердак
текстовые
# общий
# свой-сервер
# 3d-печать
голосовые
гостиная
mara
felix
Голос подключён
гостиная · 34 мс
mara
@mara
#общий сервер теперь живёт в шкафу
mara

вчера вечером переехали с discord. теперь всё крутится на малинке у меня в шкафу

jonas

намучился с настройкой?

mara

один установщик. caddy сам получил сертификаты, первый аккаунт стал админом. на этом всё

felix

заходи в гостиную, покажу базу в factorio

jonas

слушай, картинка неприлично чёткая. это что, 1440p?

felix

4k. открой сведения о соединении, если не веришь

голос-и-демонстрация-экрана

Пульт управления, а не одна кнопка «выключить микрофон».

Большинство мессенджеров дают вам один ползунок громкости и кодек, который вы никогда не увидите. Backspace отдаёт вам весь тракт. Когда трансляция начинает подтормаживать, сведения о соединении показывают, что именно происходит на линии, и вы устраняете неполадку, а не гадаете о ней.

кодек
VP9 или аппаратный H.264, выбирается для каждой трансляции
разрешение
до 4K при 120 кадрах в секунду, в пределах, заданных администратором
битрейт
задайте вручную или в любой момент верните автоматический
громкость
от 0 до 200%, отдельно для каждого человека и каждой демонстрации экрана
шум
шумоподавление RNNoise убирает стук клавиатуры
соединение
битрейт, кодек, пинг, потери пакетов и джиттер в реальном времени

голос и видео работают на LiveKit и подключаются по желанию. всё остальное работает без них.

Голосовой канал Backspace: сетка из девяти плиток с камерами и демонстрациями экрана, рядом список каналов и список участников. Панель настроек трансляции: предустановки разрешения от 540p до 4K, включая исходное, частота кадров от 30 до 120, режим содержимого, выбор кодека между VP9 и аппаратным H.264, ползунок битрейта и переключатель системного звука.

настоящие скриншоты: звонок на девять человек и панель настроек трансляции.

федерация

Независимые серверы, общий разговор.

Свяжите два сервера Backspace, и их пользователи смогут дружить, переписываться и звонить друг другу, а каждый сервер останется собственностью того, кто его держит. Запросы между серверами подписываются HMAC, секреты меняются по расписанию, которое задаёте вы, а пиринг можно отозвать в любой момент. Здесь нет ни каталога, ни центрального узла: два администратора договариваются, и их серверы жмут друг другу руки.

Честные ограничения: это связь Backspace с Backspace, а не Matrix и не ActivityPub, и она ещё молодая. Если вам нужен зрелый открытый стандарт федерации уже сегодня, Matrix подойдёт лучше, и в нашем сравнении так и написано.

Список связанных серверов в панели администратора: два активных пиринга, один раскрыт и показывает проверки доступности, время последнего ответа и синхронизации, расписание смены секрета и кнопки для смены общего секрета или отзыва пиринга.

из панели администратора: доступность серверов проверяется, секреты меняются по расписанию, отзыв пиринга в один клик.

всё-остальное

Всё, чего вы ждёте, и сделано как следует.

роли-и-правапобитовые права с переопределением для категорий и отдельных каналов
личные-сообщенияличные сообщения и групповые звонки до 10 человек
модерациябаны с причиной и журналом, ограничения голоса, которые не сбрасываются
поискполнотекстовый по всему, с фильтрами from: has: before: и after:
компьютер-и-телефонприложение на Electron, плюс устанавливаемое PWA на телефонах
файлы-и-превьюзагрузки с миниатюрами, превью ссылок, поиск GIF
Экран каталога пространств: сетка открытых пространств и тех, в которых вы уже состоите с пастельными карточками-баннерами, рядом список личных сообщений и список тех, кто сейчас активен.

каталог пространств: открытые, по запросу и закрытые.

$
$
домен, порты, голос: установщик спрашивает, вы отвечаете
HTTPS через Caddy: сертификаты приходят сами
готовый образ: amd64 и arm64, без локальной сборки
✓ поднялось. первый зарегистрированный аккаунт становится администратором.
установка

Один установщик, и дальше он ваш.

Интерактивный установщик проводит вас через Docker Compose, а Caddy сам берёт на себя HTTPS — просить дважды не придётся. Здесь нет паролей по умолчанию, о которых потом забывают: администратором становится первый зарегистрированный аккаунт.

  • работает на Raspberry Pi: готовый образ собран под amd64 и arm64
  • ваши данные — это файлы SQLite на вашем собственном диске, с автоматическим резервным копированием
  • AGPL-3.0, с коммерческой двойной лицензией там, где AGPL не подходит
прежде-чем-ставить-звезду

Прочитайте это, прежде чем ставить звезду.

Backspace ещё молод, и инструменты стоит выбирать с открытыми глазами. Три вещи, которых он сегодня не даёт:

  • Никакой экосистемы Discord. Здесь нет магазина ботов и армии интеграций. Вы получаете платформу, а не толпу.
  • На телефоне это PWA. Оно ставится на домашний экран и работает хорошо, но нативные приложения для iOS и Android пока в планах.
  • Федерация молодая. Она связывает Backspace с Backspace. Если нужен зрелый открытый стандарт, охватывающий много экосистем, лучше взять Matrix.
в-цифрах

И вот как это выглядит.

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

Открыть весь архив

Для графиков нужен браузер. Если вы предпочитаете просто читать числа или хотите, чтобы их читало что-то другое, тот же архив опубликован в виде простых таблиц и в виде одного файла, data.json.

на-фоне-других

Честная картина.

Полный разбор, включая то, где каждый из них оказывается лучшим выбором, лежит в документе со сравнением.

ВозможностьBackspaceDiscordRevoltMatrixMumble
Можно поднять у себяДаНетДаДаДа
Открытый исходный кодAGPL-3.0НетДаДаДа
Интерфейс в духе DiscordДаДаДаДругойНет
Видео и демонстрация экранаДо 4K/120 к/сДаОграниченноДаНет
Настройки медиа для каждой трансляцииДаНетНетЧастичноТолько звук
ФедерацияМежду серверамиНетНетДа, открытый стандартНет
вопросы

Вопросы, которые задают на самом деле.

Backspace — это аналог Discord на своём сервере?

Да. Всё устроено привычно по Discord: пространства, каналы, роли, голос, видео, демонстрация экрана, личные сообщения и друзья. Всё это работает целиком на вашем сервере, поэтому данные принадлежат вам и правила устанавливаете вы.

Есть ли демонстрация экрана и видео высокого качества?

Да. Демонстрация экрана поддерживает до 4K при 120 кадрах в секунду, в пределах, заданных администратором. Кодек, битрейт и разрешение выбираются для каждой трансляции, есть шумоподавление RNNoise и сведения о соединении в реальном времени. Голос и видео работают на LiveKit, включать их не обязательно.

Что здесь означает федерация?

Независимые серверы Backspace можно связать друг с другом, чтобы пользователи с разных серверов могли дружить, переписываться и звонить друг другу, при этом каждый сервер остаётся в собственности того, кто его держит. Запросы между серверами подписываются HMAC. Это связь Backspace с Backspace, а не Matrix и не ActivityPub.

Можно ли запустить его на Raspberry Pi?

Да. Установщик скачивает готовый образ сразу под несколько архитектур, amd64 и arm64, поэтому на слабых и ARM-машинах ничего не нужно собирать локально.

Он действительно с открытым исходным кодом?

Да, под лицензией GNU AGPL-3.0, есть и коммерческая лицензия для случаев, когда AGPL не подходит. Каждая выпущенная версия остаётся доступной под AGPL.

Следующее место, где вы зависаете, может быть вашим.

Склонируйте репозиторий, запустите установщик, и администратор здесь вы.