Signal Broadcaster is a web application that integrates with Signal to facilitate sending messages to contacts and groups. It utilizes Flask for the web interface and communicates with the Signal CLI REST API to send messages.
- Send Messages: Dispatch messages to individual contacts or groups.
- User Authentication: Secure access with login functionality.
- Device Management: Link and unlink devices with Signal.
- Configuration: Manage user and contact information through YAML files.
-
Clone the Repository
git clone https://github.com/MPDieckmann/SignalBroadcaster.git cd SignalBroadcaster
-
Set Up Docker
Ensure Docker and Docker Compose are installed on your system.
-
Configuration
Create the following configuration files in the root directory:
.env
(you can use.env.template
as a template)users.yaml
(you can useusers.yaml.template
as a template)contacts.yaml
(you can usecontacts.yaml.template
as a template)
-
Build and Start
docker-compose up -d --build
This command builds the Docker images and starts the services as defined in
compose.yaml
. -
Access the Application
Open your web browser and navigate to
http://localhost:80
to access the Signal Broadcaster web application.
- Login: Access the login page at
/login
. - Send Messages: Use the main interface to compose and send messages to contacts and groups.
- Link Device: Navigate to
/link
to link your Signal device with the application. - Help: Navigate to
/help
to get a small tutorial on how to use the service.
- Python: PSF License
- uWSGI: GPL-2.0 License + Linking Exception
- Flask: BSD 3-Clause License
- Flask-Babel: BSD 3-Clause License
- Flask-WTF: BSD 3-Clause License
- Requests: Apache License 2.0
- PyYAML: MIT License
Signal Broadcaster is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details.