docs: задача по аватарам TG в мосте (HTTP не через SOCKS5) + инструкция регистрации slidgram (WALKTHROUGH 12)

This commit is contained in:
2026-08-29 14:49:30 +00:00
parent 3c4190402b
commit 2763ffb012
3 changed files with 80 additions and 4 deletions
+54 -2
View File
@@ -513,9 +513,61 @@ python3 -c "import socket,ssl; ..." # см. раздел 8
curl -sS https://upload.nixg.ru/upload
```
## 12. TODO (следующие шаги)
## 12. Slidgram: регистрация telegram-аккаунта (пошагово)
> Мост уже подключён к Prosody (внешний компонент telegram.nixg.ru, трафик TG → SOCKS5
> 172.27.0.1:1080 → VPS01). Осталось привязать аккаунт. Вся механика — из кода slidgram
> (в контейнере icq-slidgram: /venv/.../slidgram/gateway.py) и офлайн-доков docs/slidgram/.
### 12.1 Что понадобится
- **api_id и api_hash** — свои, с https://my.telegram.org/apps (завести приложение Telegram).
⚠️ HTTP my.telegram.org из РФ открывается в обычном браузере на вашей машине (туннель для этого не нужен).
- XMPP-клиент под `admin@nixg.ru`: веб-чат **https://chat.nixg.ru** (Converse) или Gajim.
Converse поддерживает ad-hoc команды; либо просто отправить сообщение `register` — оба способа ниже.
### 12.2 Способ A: ad-hoc команда «Register» (Converse/Gajim)
1. Открыть https://chat.nixg.ru, войти как admin@nixg.ru.
2. Начать чат с контактом **telegram.nixg.ru** (JID компонента — без @ и логина).
3. В Converse: открыть карточку контакта (info) → там пункт «Команды» (adhoc) → выбрать **Register**.
В Gajim: Правка → Команды (или иконка) → Register.
4. Заполнить форму: **phone** (в международном формате `+7...`), **api_id**, **api_hash**.
5. На ваш Telegram придёт SMS/код подтверждения → ввести его в форму (поле «Confirmation code»).
6. Если у TG-аккаунта включён 2FA-пароль — мост спросит пароль (поле password).
### 12.3 Способ B: текстовое сообщение «register» (Conversations и др.)
1. Отправить сообщение `register` на адрес **telegram.nixg.ru**.
2. Мост ответит формой-запросом: ввести номер телефона, api_id, api_hash (и код).
3. Далее как в способе A: код из SMS + (опционально) 2FA-пароль.
### 12.4 Что происходит под капотом (для диагностики)
- Мост сначала `Client.connect()` — если уже залогинен, сообщает «two factor» / завершает;
- затем `send_code(phone)` → возвращает `phone_code_hash` (80 сек на ввод кода,
`REGISTRATION_AUTH_CODE_TIMEOUT` в slidgram/config.py);
- `sign_in(phone, code_hash, code)` — при 2FA ловит `SessionPasswordNeeded` → запрашивает пароль;
- после успеха аккаунт привязан: контакты появляются в ростере XMPP как
`123456789@telegram.nixg.ru` (puppet-JID), сообщения Telegram дублируются в XMPP.
- Всё это идёт через **MTProto поверх нашего SOCKS5** (SLIDGRAM_PROXY) — из РФ работает.
### 12.5 Проверка после регистрации
```bash
docker logs icq-slidgram --since 10m | grep -iE 'register|login|session|avatar|error'
docker exec icq-prosody prosodyctl list 2>/dev/null # зарегистрированные XMPP-аккаунты
```
- В Converse после входа появится список контактов Telegram (появятся с задержкой синхронизации ростера).
- Переписка: сообщения, пришедшие в Telegram, будут дублироваться в XMPP-диалог с puppet-контактом.
### 12.6 Известные грабли
- **Код/пароль 2FA** — вводить быстро: таймаут ввода кода 60 сек (по умолчанию).
- **api_id/api_hash** нельзя «забыть» ввести: без них мост сам запросит их в форме
(если не заданы в конфиге `API_ID`/`API_HASH`).
- **На одном номере** — только один аккаунт на сервер (при повторной регистрации с тем же
номером мост ответит «Someone is already using this phone number on this server»).
- **Аватары** могут не подтягиваться (URL-загрузка web.telegram.org не ходит через SOCKS5) —
это отдельная задача в STATUS.md; на приём сообщений не влияет.
## 13. TODO (следующие шаги)
- [x] ~~OMEMO (XEP-0384)~~ — ВЫПОЛНЕНО: раздел 9; скрипт scripts/omemo_check.py.
- [ ] Бот-книгоискатель (slixmpp + OPDS) — Этап 3 PRD. venv уже создан (/opt/icq/.venv: aiohttp, slixmpp).
- [ ] Мосты mautrix-telegram / mautrix-whatsapp — Этап 4 (нужен Prosody mod_component / external component).
- [ ] Мосты mautrix-whatsapp — Этап 4 (нужен Prosody mod_component / external component). [Telegram уже на Slidge]
- [ ] Push-уведомления APNs/FCM — ОТЛОЖЕНО, варианты в разделе 10.4.
- [ ] Продление LE-серта nixg.ru — 2026-10-15 10:00 (cron Hermes, job ca2a23a34905); процедура в разделе 4.