Установка sogs сервера
Session — это децентрализованный мессенджер без номеров, email и централизованной авторизации. Вместо этого — 12 слов и Session ID. Работает на блокчейне Oxen . Полное скрытие IP, в отличие от p2p-решений вроде Tox.
Что такое Open Group?
- Группы — чаты (как в Signal или WhatsApp).
- Open Groups (сообщества) — серверные каналы с возможностью модерирования.
Установка SOGS
Есть два варианта установки:
sogs-standalone
— простой сервер, сам слушает HTTP-порт. Не требует nginx.sogs-proxied
— для серверов с HTTPS через nginx или apache.
Добавим репозиторий:
curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list
sudo apt update
Устанавливаем нужный пакет:
sudo apt install sogs-standalone # или
sudo apt install sogs-proxied
Прописываем внешний адрес в /etc/sogs/sogs.ini
:
[net]
base_url = https://sogs.yourdomain.tld
Настройка Nginx для sogs-proxied
server {
listen 80;
server_name sogs.yourdomain.tld;
client_max_body_size 50M;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name sogs.yourdomain.tld;
ssl_certificate /etc/letsencrypt/live/sogs.yourdomain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sogs.yourdomain.tld/privkey.pem;
client_max_body_size 50M;
location / {
proxy_pass http://127.3.2.1:4242;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Откуда берётся 127.3.2.1:4242
?
Этот адрес указан в /etc/sogs/uwsgi-proxied.ini
:
http-socket = 127.3.2.1:4242
Создание сообщества и управление
# Создать сообщество
sogs --add-room ТОКЕН --name "Название" --description "Описание"
# Добавить себя в админы
sogs --rooms + --add-moderators ВАШIDSESSION --admin --visible
# Назначить права (r = read, w = write, u = upload, a = access)
sogs --room ТОКЕН --add-perms rwa --remove-perms w
# Добавить модератора
sogs --room ТОКЕН --admin --add-moderator SESSION_ID
Посмотреть список комнат и статистику:
sogs -L
Кастомизация шаблонов (веб-интерфейс)
# Шаблоны по умолчанию:
/usr/lib/python3/dist-packages/sogs/templates
# Копируем в свою директорию:
cp -r /usr/lib/python3/dist-packages/sogs/templates /var/lib/session-open-group-server/custom_templates
В sogs.ini
указываем путь:
template_path = /var/lib/session-open-group-server/custom_templates
Полезные параметры sogs.ini
active_threshold = 60 # сколько дней считать пользователя активным
active_prune_threshold = 60 # через сколько дней удалять старые данные об активности
[files]
expiry = 30 # хранить загруженные файлы 30 дней
max_size = 6000000 # максимальный размер файла (6MB)
На обложке неизвестно почему моя любимая картина Всадница Брюллова.