Draft of README
This commit is contained in:
parent
a94a7b7868
commit
a7937ade6c
1 changed files with 75 additions and 0 deletions
75
README.md
Normal file
75
README.md
Normal file
|
@ -0,0 +1,75 @@
|
|||
# signal-mass-dockerized
|
||||
|
||||
Set of docker containers for asynchronous Signal message processing (sending & receiving).
|
||||
It can be used as a gateway for automated notifications, bot with automatic replies or Signal equivalent of Telegram public groups where individuals can't see other users in group.
|
||||
|
||||
## Signal-cli-rest-api
|
||||
Slightly edited version of https://github.com/bbernhard/signal-cli-rest-api
|
||||
Manages installation and running of signal-cli, registrations of new Signal accounts sending and receiving of Signal messages over REST API.
|
||||
In future, it will probably be remade in Python to allow for receiving and sending attachments.
|
||||
In future, it should use DBus for messages, because it is a LOT faster than calling signal-cli all the time.
|
||||
|
||||
## registrations.json
|
||||
Simple json file that receiver and sender scripts use as source of registered Signal accounts. At this time registrations need to be added manually to this file.
|
||||
It's also possible to run signal-cli-rest-api on different server, or in multiple instances by using the "url" field-
|
||||
|
||||
## Receiver
|
||||
Periodicaly asks signal-cli-rest-api for new messages on Signal servers for each registered number. If there is new message, it writes it to RabbitMQ (queue signal-receive) for processing.
|
||||
|
||||
## Sender
|
||||
Listens for new messages in RabbitMQ (queue signal-send) and sends them to signal-cli-rest-api server accroding to registrations.json
|
||||
|
||||
## RabbitMQ
|
||||
Stores received messages and messages that are supposed to be sent out.
|
||||
Reason for using it is to accomodate communication between scripts and to be able to receive, send and process messages asynchronously.
|
||||
|
||||
## Worker
|
||||
Processes recieved messages in RabbitMQ and sends new messages into it.
|
||||
Doesn't care about the state of sending or receiving (for now).
|
||||
More workers could be added for different tasks if needed.
|
||||
|
||||
Right now, worker just takes received message and sends it back to the sender.
|
||||
|
||||
In future, there should be API for receiving messages from other apps and respond to automatic messages.
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
+-------------------------+
|
||||
| |
|
||||
+--------------+ signal-cli-rest-api <------------------+
|
||||
| | | |
|
||||
| +-------------------------+ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+------------v---------+ +---------------------+ +----------------------+
|
||||
| | | | | |
|
||||
| Receiver +-------> registrations.json <-------+ Sender |
|
||||
| | | | | |
|
||||
+----------------------+ +---------------------+ +-----------^----------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| +----------------------+ |
|
||||
| | | |
|
||||
+-----------------> RabbitMQ +------------------+
|
||||
| |
|
||||
+-----------^----------+
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
+-----------v----------+
|
||||
| |
|
||||
| Worker |
|
||||
| |
|
||||
+----------------------+
|
||||
|
||||
|
||||
|
||||
```
|
Loading…
Reference in a new issue