console v0.4.0 [extra]


Интерактивный PTY-терминал: веб (/ws/terminal) и Telegram (промпт-цикл, секреты, hostkey).

versiondatecommitфайлов
0.4.02026-10-04da453bfbe55910

README

# console

Интерактивный терминал хоста: в веб-панели и в Telegram.

Тип: Модуль. Категория: `extra`. Зависимости: pip-пакеты `pexpect`, `ptyprocess` (TG-сессии).
## Описание
Веб — настоящий терминал в браузере поверх живого канала (`/ws/terminal`): командная строка хоста бота, ввод и вывод в реальном времени. На каждого пользователя держится одна сессия — новая закрывает старую.

Telegram — покадровая консоль (`tg_session.ConsoleManager`, сессии держит console, admin только делегирует): каждое сообщение — итерация промпт-ориентированного цикла. Понимает интерактив: запрос секрета (ssh/sudo — следующим сообщением, оно удаляется и не попадает в лог), fingerprint нового SSH-хоста («да»/«нет», вслепую не подтверждает). Вывод чистится от ANSI и режется под лимит TG (полный — в `console_sessions.log`).

Команды сессии: `#quitconsole` — закрыть, `#killconsole` — убить зависший процесс (например, повисший ssh). Простой 30 минут — авто-закрытие.

Это полный доступ к машине, поэтому право на терминал выдаётся только себе и никогда — кому попало.
## Права
- `console_session` — Интерактивный терминал (WS + Telegram)
## Telegram
- кнопка «💻 Консоль» → терминальная сессия
## Web
- WebSocket `/ws/terminal` — интерактивная shell-сессия
- карточка «Терминал» в кабинете

Манифест

{
  "name": "console",
  "version": "0.4.0",
  "category": "extra",
  "description": "Интерактивный PTY-терминал: веб (/ws/terminal) и Telegram (промпт-цикл, секреты, hostkey).",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "da453bfbe5595f5519764b3d150c21eb8df0e7cd",
  "updated": "2026-10-04 15:37:38 +0300",
  "integrity": "sha256:1c6235288ade78cee9cf27aee7b889bd81c43b764babd5ff530d68e78556617c",
  "files": "[10 файлов — см. вкладки ниже]",
  "note": "",
  "wdesc": "",
  "wbody": "",
  "_extra": {
    "api": "",
    "events_emitted": "[]",
    "events_subscribed": "[]",
    "audit_allow": "",
    "ws_routes": ""
  }
}

Файлы и исходники

Дерево файлов

  • · корень
    • 2.0 КБ
    • 0.9 КБ
    • 1.8 КБ
    • 0.2 КБ
    • 27.7 КБ
    • 0.4 КБ
    • 0.5 КБ
    • 6.3 КБ
  • web/
    • 0.5 КБ
    • 2.6 КБ

Предпросмотр

Выберите файл в дереве выше — код откроется здесь.