Skip to content

akiszka/signal-bot

Repository files navigation

Signal Bot · ci GitHub license

This is a dockerized bot for the Signal Messenger. It can be used to log in to Signal and send messages over the Internet.

WARNING: This is by no means production-ready software. Please note that using it carries the possibility of leaking your Signal keys. You should never publically expose this service.

Features

  • containerized
  • written in Rust
  • supports reproducible builds with Nix

Usage

Download the container from GitHub Container Registry:

docker pull ghcr.io/akiszka/signal-bot:latest

Then, start the container:

docker run --rm -it -p 52340:8000 -v ./some_directory:/data --tmpfs /tmp:exec ghcr.io/akiszka/signal-bot

Building

If you want to build signal-bot for development, using cargo will suffice. For example, this will build the project from source and run it:

cargo run

NOTE: you will need to have signal-cli installed to run the project with cargo. However, building the container image with nix-build will install signal-cli for you.

If you want to build the container image yourself, you will need to have Nix installed. Then, running the following command will read the instructions at default.nix, download all the dependencies, build the container image and place it under ./result.

nix-build

After that, you can load the image into Docker:

docker load -i result

Roadmap

  • manage the Signal daemon from inside Rust
  • add tests
  • add access control (possibly with JWT)
  • add webhook support for GitHub
  • add docs

About

A containerized bot for Signal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages