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:
!subscribesend this to sign up to the list!broadcastafter subscribing any message preceded by this will be broadcasted to every subscriber!unsubscribeto stop receiving messages!helpto be reminded of which commands are available!adminsend a message only to the list admin, useful for getting technical support
Installation
Option 1: local python environment
- 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
Option 2: docker compose
This will pull the project docker images from https://hub.docker.com/r/eradorta/signalblast
- Install docker.
- Download the docker-compose.yml file.
- Create a data folder
mkdir -p $HOME/.local/share/signalblast - Define the relevant environment variables
export DOCKER_TAG="The version of signalblast to run, can be latest" export SIGNALBLAST_PHONE_NUMBER="The phone number of the bot" export SIGNALBLAST_PASSWORD="The password for the admin" export SIGNALBLAST_HEALTHCHECK_RECEIVER="The contact or group to send health check messages"
- Run via docker compose:
docker compose up
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 prek hook
uv run prek 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
- Directly via
- Optional: install signalbot as an editable dependency
uv add --editable ../signalbot/
Docker compose
The docker/compose_build.sh and docker/compose_up.sh are provide for easier development.
Roadmap
- Make instructions clearer and add pictures to the readme
- Add unit testing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signalblast-0.12.0.tar.gz.
File metadata
- Download URL: signalblast-0.12.0.tar.gz
- Upload date:
- Size: 150.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bf509f52cdb15f4ee56fa8bb7745b26d4654722a918c855798c12268e88a995
|
|
| MD5 |
138d2ad21a262fe2eaf0225e72dfb5f8
|
|
| BLAKE2b-256 |
ea42323e071e73f475ebda6968c17ac0d8635f6ac4613796a1e03f5e2de76e15
|
Provenance
The following attestation bundles were made for signalblast-0.12.0.tar.gz:
Publisher:
publish-pypi.yml on Era-Dorta/signalblast
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
signalblast-0.12.0.tar.gz -
Subject digest:
0bf509f52cdb15f4ee56fa8bb7745b26d4654722a918c855798c12268e88a995 - Sigstore transparency entry: 937658717
- Sigstore integration time:
-
Permalink:
Era-Dorta/signalblast@cf31ba37f525e64b40011453612e60011365ea7d -
Branch / Tag:
refs/tags/v0.12.0 - Owner: https://github.com/Era-Dorta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@cf31ba37f525e64b40011453612e60011365ea7d -
Trigger Event:
release
-
Statement type:
File details
Details for the file signalblast-0.12.0-py3-none-any.whl.
File metadata
- Download URL: signalblast-0.12.0-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
802eb96b4f9210e6709b57253ac632dff6f6aa45f5ad84949478c689dab5272a
|
|
| MD5 |
1032007843b1fe6df5fbbbfa193c700b
|
|
| BLAKE2b-256 |
25670747fba5fec1804f687f8db89f9434879acfc8612cb2ae824a1099ef5839
|
Provenance
The following attestation bundles were made for signalblast-0.12.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Era-Dorta/signalblast
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
signalblast-0.12.0-py3-none-any.whl -
Subject digest:
802eb96b4f9210e6709b57253ac632dff6f6aa45f5ad84949478c689dab5272a - Sigstore transparency entry: 937658782
- Sigstore integration time:
-
Permalink:
Era-Dorta/signalblast@cf31ba37f525e64b40011453612e60011365ea7d -
Branch / Tag:
refs/tags/v0.12.0 - Owner: https://github.com/Era-Dorta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@cf31ba37f525e64b40011453612e60011365ea7d -
Trigger Event:
release
-
Statement type: