scli: Signal в терминале для любителей Vim и CLI

30 Nov, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

539
🔱 44
👥 9

Знакомая ситуация? Открываешь мессенджер в браузере или на смартфоне, а хочется быстро ответить на сообщение прямо из терминала, не переключая контекст. Или нужен удобный способ обмениваться сообщениями на удалённом сервере. Именно для таких случаев создан scli — терминальный клиент для Signal с поддержкой Vim-подобных команд.

Что это и кому нужно

scli — это TUI (Text User Interface) для Signal, реализованный на Python. В основе лежит signal-cli — официальная консольная утилита для работы с Signal. Проект особенно понравится:

  • DevOps-инженерам, работающим с удалёнными серверами
  • Разработчикам, предпочитающим CLI-инструменты
  • Поклонникам Vim и любителям хоткеев
  • Тем, кто заботится о конфиденциальности и хочет минимизировать использование GUI

Ключевые возможности

1. Vim-like навигация

В scli реализованы привычные для пользователей Vim команды:

  • j/k — перемещение по списку контактов и сообщениям
  • g/G — переход в начало/конец списка
  • : — ввод команд (аналогично командному режиму в Vim)

Пример отправки сообщения с вложением:

:attach ~/screenshot.png "Вот скриншот ошибки"

2. Гибкие настройки

  • Поддержка внешнего редактора через $EDITOR
  • Возможность переназначения хоткеев
  • Настраиваемые цвета интерфейса (включая 256-цветные схемы)

3. Расширенные функции

  • Локальное удаление сообщений (d) и удаление для всех (D)
  • Реакции на сообщения (e или R)
  • Копирование текста в буфер обмена (y)
  • Поиск по истории (/ + строка поиска)

Технические детали

scli написан на Python с использованием библиотеки urwid для создания TUI. Для работы требуется:

Реклама
  1. signal-cli (версия 0.11.0 и выше)
  2. Python 3.7+
  3. DBus (для взаимодействия между процессами)

Установка зависимостей через pip:

pip install urwid urwid-readline

Практическое применение

  1. Удалённая работа — доступ к перепискам через SSH без GUI
  2. Автоматизация — интеграция с shell-скриптами через :read FILE | !COMMAND
  3. Безопасность — минималистичный клиент с меньшей поверхностью атаки
  4. Скорость работы — мгновенный запуск и отклик

Ограничения

На данный момент не поддерживаются:

  • Голосовые вызовы
  • Цитирование сообщений
  • Упоминания (@username)
  • Сообщения с самоуничтожением

Вывод: стоит ли пробовать?

scli — отличный выбор для технически подкованных пользователей Signal. Особенно рекомендую:

  • Любителям терминальных интерфейсов
  • Системным администраторам
  • Разработчикам, ценящим минимализм

Проект активно развивается, а его открытый код позволяет адаптировать функциональность под свои нужды. Хотите Signal без лишних элементов интерфейса и с удобными хоткеями? scli вас не разочарует.

screenshot screenshot screenshot

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.