Skip to content

Bot to anonymously send E2EE messages over Signal to a subscriber list.

License

Notifications You must be signed in to change notification settings

Era-Dorta/signalblast

Repository files navigation

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 docker-compose.yaml files and use signalblast version from hatch
    • Build docker images for arm and x86 targets using the github CI
  • Make instructions clearer and add pictures to the readme