UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    I wrote a Python3 script to Bridge SMS/MMS to matrix/riot.im

    Scheduled Pinned Locked Moved General
    1 Posts 1 Posters 395 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • K Offline
        kjhg84j9
        last edited by

        First, Please know that I'm not a developer so the code you're about to look at is.. well... probably very ugly.

        This script I wrote will bridge SMS and MMS messages with matrix.org synapse server. Everything works in both directions and I've been using it for about a week now. Think of it as texting from the web with Google Messages just without the google 🙂 I still have to catch some more errors and clean up some stuff but overall I think its ready to share.

        Also, its not an "app", its just a Python cli script I keep running in a screen session. My goal here is to have a 'server cell phone' that I leave at home, plugged in, and bridging messages 24/7. I'll never touch it other than to do some updates and fix any problems. I'll use a matrix app such as riot on my desktop and any other device I want. I'll be able to send and receive messages from any where any deivce as long as it has internet.

        How I got it to work is a little hacky. I'm not sure if there's a better way to do it but I'll note it here. Eventually I'll be moving this over to my PinePhone.

        I created a libertine-container,
        Connect to the container as root
        apt install python3/pip3 and then pip install some packages.
        apt install screen
        https://docs.ubports.com/en/latest/userguide/dailyuse/libertine.html#shell-access

        Then I got out of the container and added all of this stuff to my path. Python3 in a container called "learning" is

        /home/phablet/.cache/libertine-container/learning/rootfs/usr/bin/python3

        and screen would be something like
        /home/phablet/.cache/libertine-container/learning/rootfs/usr/bin/screen

        So you just run the app as the normal phablet user but using the containers python3 binary. if you want to leave it running like I do you use the screen binary from the same container.

        If anyone wants to turn this into a real app or really do anything with it, I'm happy to help! I also have some poorly written C code to do the same thing. I got SMS/MMS sending/receiving working and I got SMSes bridged to matrix but when I started to look into dealing with html and json I decided that I'd just use python.

        1 Reply Last reply Reply Quote 1

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • First post
          Last post