Forwards messages via SMS from and to instant messengers
Project description
SMSGateway
This project is in Beta stage, so documentation is quite limited. Pull requests welcome!
The following instructions apply to a Raspberry PI running Ubuntu, but it should work similarly on other Linux distributions and platforms.
Some commands might require to be invoked with sudo
.
See SMSGateway-Android for an Android client.
SMS Tools
Install smstools:
apt install smstools
Edit /etc/smsd.conf
, see Confiuration/smsd.conf
for an example configuration.
It uses to user smsd
for the sms spooler at /var/spool/sm
s.
Configuration
pip install smsgateway
Copy smsgateway/config.example.py
to /home/smsd/.config/smsgateway/config.py
and adapt it.
Handle incoming SMS
To handling incoming sms Scripts/smshandler
needs to be copied to the eventhandler
specified in smsd.conf
. In the example it points to /usr/local/bin/smshandler
.
Make sure to make it executable (chmod +x
).
Logging
mkdir /var/log/smsgateway/ && chown -R smsd:smsd /var/log/smsgateway/
Permission to control systemctl, shutdown, etc.
Copy Configuration/010_smsd-nopasswd
to /etc/sudoers.d/
Make sure that the file is correct, otherwise you might lock yourself out! If you're unsure, run
visudo -f /etc/sudoers.d/010_smsd-nopasswd
, enter the contents in the editor and save it.
Messengers
Telegram
Uses Telethon.
Run python3 -m smsgateway.sources.telegram
to authorize for receiving messages, similarly run python3 -m smsgateway.sources.commands.send_telegram
to authorize for sending messages.
Uses fbchat, see documentation
apt install python3-dev libxml2-dev libxslt-dev
pip install fbchat
Signal
Uses signal-cli
SGVER="0.6.2"
apt install openjdk-8-jre-headless
wget "https://github.com/AsamK/signal-cli/releases/download/v$SGVER/signal-cli-$SGVER.tar.gz"
tar xvf "signal-cli-$SGVER.tar.gz" -C /opt
ln -svf "/opt/signal-cli-${SGVER}/bin/signal-cli" /usr/local/bin/
signal-cli link
# You can remove old versions at /opt/signal-cli-<version>
Slack
Go to https://api.slack.com/custom-integrations/legacy-tokens
Sign in, create a token and store it in your configuration at SL_TOKEN
Uses Yowsup
pip install yowsup
# TODO
Tweaks and optimizations
Ramdisk for SMS
When lots of SMS are processed it can wear out SD cards (I destroyed one after several months). A workaround is to store the SMS messages in a ramdisk. The following is an entry in the fstab:
tmpfs /var/spool/sms tmpfs nodev,nosuid,size=64M 0 0
To mount it simply call mount /var/spool/sms
.
The downside is, that when the device restarts/crashed, currently processed SMS messages are lost.
To work around that there are two scripts for saving&restoring the messages in Scripts/
and a oneshot-service, which can be enabled to restore the message when the device is starting.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file SMSGateway-0.7.1.5.tar.gz
.
File metadata
- Download URL: SMSGateway-0.7.1.5.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20c05bae07136d84ef3664c1beac473e9ccfc9fd3a38e903d5f65d46dd99a7bf |
|
MD5 | 947c6f157903b3c577319df6792b3af9 |
|
BLAKE2b-256 | bbf9f5564616d11f607e21cf88cf998d891de919d25ad9eb636f6c898bde22af |
File details
Details for the file SMSGateway-0.7.1.5-py3-none-any.whl
.
File metadata
- Download URL: SMSGateway-0.7.1.5-py3-none-any.whl
- Upload date:
- Size: 34.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cf105774feae4a37c43f1378f10a949b4c8a89eafb9b45550a1a30ab1eb3710 |
|
MD5 | fa228887af7ef1ed0fa82395cbf595d7 |
|
BLAKE2b-256 | 52e1c4c14bfe3e767b46de15375e6078bad4ff8e8c75eef95f43b3890be9eeca |