Во-первых, для тех из вас, кто не знает, что такое Signal, Signal — это безопасная кросс-платформенная централизованная зашифрованная служба обмена мгновенными сообщениями с открытым исходным кодом.

Я разрабатывал какое-то приложение, и мне нужна была служба обмена сообщениями, которая отправляла бы мне нужные мне данные. Поскольку я не использую Whatsapp или Telegram или любое другое приложение для обмена сообщениями, кроме Signal, мне нужно было реализовать это в Signal. сильный>

После долгих поисков и сборок (не так много ресурсов, как в Whatsapp или Telegram) я нашел AsamK/signal-cli. После множества ошибок сборки мне наконец удалось сгенерировать Dockerfile.

Теперь вы можете просто использовать мой dogukanakkaya/signal-cliimage(https://github.com/dogukanakkaya/signal-cli-docker) и начните отправлять и получать Signal сообщения.

Извлеките образ из Docker Hub и запустите

docker pull dogukanakkaya/signal-cli
docker run --name signal-cli -dit dogukanakkaya/signal-cli
# Enter to container cli to run signal-cli commands
docker exec -it signal-cli bash

Используйте его в качестве основного устройства

Обратите внимание, что вы выйдете из своих устройств, если решите использовать его в качестве основного устройства, или же вы можете прокрутить вниз до раздела «связать устройство с помощью qr-кода».

Стандартный реестр

signal-cli -a {phone} register

Капча Регистрация

Иногда сервер Signal требует токен капчи для регистрации новой учетной записи. Если ваш IP-адрес не считается заслуживающим доверия.

Получите токен капчи с https://signalcaptchas.org/registration/generate.html

Решите капчу «Я не робот», откройте инструменты разработчика и проверьте консоль. Там вы увидите токен капчи (Все после signalcaptcha:// является токеном капчи)

Зарегистрируйтесь со своим токеном

signal-cli -a {phone} register --captcha {captcha_token}

После этого вы должны получить смс с проверочным кодом. Чем просто проверить это, набрав:

signal-cli -a {phone} verify {code}

Привязать устройство через QR-код

Создайте qr-код, чтобы связать свое устройство с мобильным приложением.

signal-cli link -n "device-name-test" | tee >(xargs -L 1 qrencode -t utf8)

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

signal-cli -u {phone} receive

Доверяйте новому удостоверению (используйте это, только если вы не заботитесь о безопасности)

signal-cli trust -a {phone}

Попробуйте отправить сообщение

signal-cli -a {phone} send -m "This is a test Signal message" {recipient_phone}

В конце концов, моей следующей задачей будет создание новой серверной службы, которая вызывает команды signal-cli, чтобы я мог просто вызывать REST API для отправки сообщений.