An open API service indexing awesome lists of open source software.

https://github.com/thisisparker/tuttle

A basic Signal client with an Onion interface
https://github.com/thisisparker/tuttle

Last synced: 8 months ago
JSON representation

A basic Signal client with an Onion interface

Awesome Lists containing this project

README

          

This project—codenamed `tuttle`—allows a server to receive Signal messages and provides an administrative interface over a Tor Onion Service for users to read and reply to those messages. It is currently in active development and should only be used with great care.

As currently envisioned, `tuttle` could be used as a "tipline" or "help desk," where one or more users can process and reply to secure messages and attachments sent to a public Signal number.

Authentication is not currently built in to `tuttle`, meaning access control is currently performed through `tor`. As of `tor 0.3.5.7`, new Onion services are created as `v3` by default, and client access is managed through that protocol's [Client Authorization](https://www.torproject.org/docs/tor-manual-dev.html.en#_client_authorization) scheme. Address and keypair management aren't currently built into `tuttle`.

### How it works

`tuttle` depends on `signal-cli` to send and receive Signal messages. Messages are logged to an internal database using `logincoming.py`, running as a background process. `app.py` is run with `flask` to serve on a localhost port the dynamic interface generated by `readlog.py`. Finally, an externally configured Onion service makes that interface available to users.