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/sms.
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.
Metadata
Release files for SMSGateway 0.7.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| SMSGateway-0.7.1.5.tar.gz | 22.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| SMSGateway-0.7.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.8 kB
Release files / SMSGateway-0.7.1.5.tar.gz
| Download URL | SMSGateway-0.7.1.5.tar.gz |
|---|---|
| Size | 22.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
20c05bae07136d84ef3664c1beac473e9ccfc9fd3a38e903d5f65d46dd99a7bf
|
|
BLAKE2b-256 checksum How to use checksums |
bbf9f5564616d11f607e21cf88cf998d891de919d25ad9eb636f6c898bde22af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / SMSGateway-0.7.1.5-py3-none-any.whl
| Download URL | SMSGateway-0.7.1.5-py3-none-any.whl |
|---|---|
| Size | 34.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3cf105774feae4a37c43f1378f10a949b4c8a89eafb9b45550a1a30ab1eb3710
|
|
BLAKE2b-256 checksum How to use checksums |
52e1c4c14bfe3e767b46de15375e6078bad4ff8e8c75eef95f43b3890be9eeca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|