Skip to main content

Broadcast bot for Signal

Project description

signalblast

Signalblast is a tool to send encrypted messages anonymously over Signal to a subscriber list. The sender does not know who the subscribers in the list are, nor the subscribers know who the sender is.

A server is required to host the bot, find instructions on how the set it up below.

The idea for this bot came from Signalboost, which unfortunately is no longer alive.

Usage

Once the bot is up and running, several commands are available:

  • !subscribe send this to sign up to the list
  • !broadcast after subscribing any message preceded by this will be broadcasted to every subscriber
  • !unsubscribe to stop receiving messages
  • !help to be reminded of which commands are available
  • !admin send a message only to the list admin, useful for getting technical support

Installation

  • Install docker.
  • Set up signalbot as specified here
  • Create a new virtual environment, uv is recommended
  • Install with pip install signalblast
  • Run via python -m signalblast.main

Development

  • Set up docker and signalbot as specified in the installation section.
  • Clone the repo
  • Install uv
  • Install the repo and the dependencies in a new virtual environment with uv sync
  • Install the pre-commit hook uv run pre-commit install
  • Run
    • Directly via uv run python -m signalblast.main
    • Via systemd with systemd/signalblast.service
      • Run once with the password in the env file.
      • From there one, the password is stored encrypted and it can be removed from the env file

Roadmap

  • Fix docker deployment
    • Fix the Dockerfile and docker-compose.yaml files
    • Add hodolint to the pre-commit config
    • Build docker images for arm and x86 targets using the github CI
  • Figure out how to use poetry build with the git signalbot dependency
  • Split the bot_answers.py in several files
  • Make instructions clearer and add pictures to the readme

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signalblast-0.5.0.tar.gz (62.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signalblast-0.5.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file signalblast-0.5.0.tar.gz.

File metadata

  • Download URL: signalblast-0.5.0.tar.gz
  • Upload date:
  • Size: 62.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.18

File hashes

Hashes for signalblast-0.5.0.tar.gz
Algorithm Hash digest
SHA256 da8eb2a9fa7688e398f7da19ec930a921a9c42c1ec0a68145c1d1fba693840b6
MD5 664aed8a5d013be99d6c2b189d6e519b
BLAKE2b-256 67344cb0cf8c7b49668fa81da01616355aae486f4eedd850dd9313aa242bf171

See more details on using hashes here.

File details

Details for the file signalblast-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for signalblast-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd6487558520184ea14f8aa22cc3f98f47e109d3327a59560f6a76444d39b106
MD5 aaba35c4be215beffa52f7973a09ae0a
BLAKE2b-256 81247938c4f1096a375435e80b707227e2497009ced3048919ffaff4997f3ed2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page