Metadata-Version: 2.1
Name: signal-cli-rest-api
Version: 0.1.97
Summary: 
Home-page: https://github.com/SebastianLuebke/signal-cli-rest-api
Author: Sebastian Noel Lübke
Author-email: sebastian@luebke.io
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: fastapi (>=0.58.0,<0.59.0)
Requires-Dist: pypng (>=0.0.20,<0.0.21)
Requires-Dist: pyqrcode (>=1.2.1,<2.0.0)
Requires-Dist: python-jose (>=3.1.0,<4.0.0)
Requires-Dist: requests (>=2.24.0,<3.0.0)
Requires-Dist: uvicorn (>=0.11.5,<0.12.0)
Project-URL: Repository, https://github.com/SebastianLuebke/signal-cli-rest-api
Description-Content-Type: text/markdown

# signal-cli-rest-api
signal-cli-rest-api is a wrapper around [signal-cli](https://github.com/AsamK/signal-cli) and allows you to interact with it through http requests.

## Features
* register/verify/unregister a number
* send messages to multiple users/a group with one or multiple attachments
* receive messages (with attachments)
* block/unblock users and groups
* link to existing device
* list/create/update/leave groups
* update profile (name/avatar)

## To-Do
* integrate dbus daemon for faster sending
* authentication

## Installation

### pip

If you install signal-cli-rest-api through pip you need to manually install [signal-cli](https://github.com/AsamK/signal-cli) on your system.

```console
# by default the app will look for the signal config files in ~/.local/share/signal-cli
# you can change the directory by setting the SIGNAL_CONFIG_PATH env var to the desired path
# e.g. export SIGNAL_CONFIG_PATH=/opt/signal
pip install signal-cli-rest-api
uvicorn signal_cli_rest_api.app.main:app --host 0.0.0.0 --port 8000
```

### Docker

```console
export SIGNAL_DATA_DIR=~/signal/
docker run --name signal --restart unless-stopped -p 8000:8000 -v $SIGNAL_DATA_DIR:/root/.local/share/signal-cli sebastiannoelluebke/signal-cli-rest-api
```

### docker-compose
```console
git clone https://github.com/SebastianLuebke/signal-cli-rest-api.git
cd signal-cli-rest-api
# docker-compose build
docker-compose up -d
```

## Security Notice
signal-cli-rest-api doesn't have any authentication for now. Everyone who knows the service address+port and the number is able to get your messages and send messages. So only use it a trusted environment and block external access.

## Interactive Documentation

After installing signal-cli-rest-api start it and open the following page [http://localhost:8000/docs](http://localhost:8000/docs)


