Skip to main content

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.

Facebook

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

WhatsApp

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)

Source distribution for SMSGateway 0.7.1.5
File Size Uploaded
SMSGateway-0.7.1.5.tar.gz 22.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SMSGateway 0.7.1.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.7.1.5 This release

2 release files

0.7.0.5

1 release file

0.7.0.4

1 release file

0.7.0.3

1 release file

0.5.2.3

1 release file

0.5.2.0

1 release file

0.5.1.3

1 release file

0.5.1.2

1 release file

0.5.1.1

1 release file

0.5.1.0

1 release file

0.5.0.1

1 release file

0.4.4.9

1 release file

0.4.4.8

1 release file

0.4.4.6

1 release file

0.4.4.5

1 release file

0.4.4.4

1 release file

0.4.4.3

1 release file

0.4.4.2

1 release file

0.4.4.1

1 release file

0.4.4.0

1 release file

0.4.3.8

1 release file

0.4.3.7

1 release file

0.4.3.6

1 release file

0.4.3.5

1 release file

0.4.3.3

1 release file

0.4.3.2

1 release file

0.4.3.1

1 release file

0.4.3.0

1 release file

0.4.2.1

1 release file

0.4.2.0

1 release file

0.4.1.1

1 release file

0.4.1.0

1 release file

0.4.0.5

1 release file

0.4.0.4

1 release file

0.4.0.3

1 release file

0.4.0.2

1 release file

0.4.0.1

1 release file

0.4.0.0

1 release file

0.3.9.9

1 release file

0.3.8.8

1 release file

0.3.8.7

1 release file

0.3.8.6

1 release file

0.3.8.5

1 release file

0.3.8.4

1 release file

0.3.8.3

1 release file

0.3.8.2

1 release file

0.3.8.1

1 release file

0.3.8

1 release file

0.3.7.3

1 release file

0.3.7.1

1 release file

0.3.7.0

1 release file

0.3.6.2

1 release file

0.3.6.1

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.7

1 release file

0.1.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page