Hacker News new | past | comments | ask | show | jobs | submit login
SMS over IRC (mndrix.blogspot.com)
84 points by buovjaga on July 1, 2018 | hide | past | favorite | 42 comments



An interesting alternative to SMS over XMPP/IRC over Twilio is SMS over XMPP over your Android phone. This lets you send and receive SMS on the computer and share the history with the phone. For this I'm using MAXS (http://projectmaxs.org/), an open source modular system available on F-Droid and Play store where each module is installed separately and provides a specific service over XMPP, such as receiving new messages, reading old messages, querying location, etc.


I can attest that this works well (I'm using it with the Profanity client), although the contacts aren't treated as IRC users. And a personal plan is much cheaper than Twilio.


> This lets you send and receive SMS on the computer and share the history with the phone

Google has added support for this to their "Android Messages" SMS app on the playstore. They call the feature "messages for web". It's pretty slick actually.


I looked at MAXS once, but couldn't find anything about encrypting or signing messages, which kinda killed it for me.


I use JMP.chat but I'm not exactly sure it is what you are looking for.


Unless I’m looking in the wrong place, this seems like a good way to ring up a massive bill. 10,000 messages/month doesn’t seem like a stretch. At $0.0075/message that’s $75/month. Not exactly cheap just so you can SMS from your favorite IRC client.


Is there somewhere in the world that still charges per SMS?


Like the author, I also rolled my own SMS-over-XMPP solution a few years ago. One central ongoing frustration is that a lot of what people think is SMS really ends up being MMS. Not only do I miss pictures, but people send group texts that silently miss me, and messages over the SMS character limit are also sent over MMS. It sends 160 characters over SMS, and the rest is chopped off if you don't have MMS. Some (many/most?) messaging apps don't give you a character count any more, so I can't even tell people to watch the characters...

I believe Twilio has some sort of MMS support, so maybe this could be made to work with their service. My VoIP provider doesn't support MMS, so I may have to migrate to Twilio some day.


https://jmp.chat/ supports MMS and concatenated SMS.

JMP has full support for sending and receiving picture messages, and can receive group texts as well (which Twilio doesn't support). Sounds like JMP is what you want for an SMS-over-XMPP solution.

You can even port in your number from your existing VoIP carrier - see https://jmp.chat/#existing for details.


> messages over the SMS character limit are also sent over MMS. It sends 160 characters over SMS, and the rest is chopped off if you don't have MMS

I've never seen my phone switch to MMS automatically because of the length. I've had old black/white Nokias support concatenated SMS

https://en.wikipedia.org/wiki/Concatenated_SMS


I see. It may be that Concatenated SMS is what my VoIP provider is failing to support. (I saw some talk once about fallback to MMS for long messages, but maybe that was just speculation or an uncommon scenario.) I guess I'm in the same boat either way. :/


Using google voice and hangouts connected I have a libpurple connection for hangouts in Bitlbee. I can send SMS through that connected interface via voice/hangouts. Works well for me (especially when in China on business) I also live in Japan and travel to EU about once a month. Keeping in touch with my family/friends in US via my one phone number I've had since google voice launched is quite useful...


The author says in another post from 2017 that they had to abandon Google Voice when they moved to Europe. I had no idea.

I'm in Europe and I've used Google Hangouts to audio and video call people with Android phones for longer than 2017 so I have no idea what the author is talking about. Clearly Google Voice must be something different because Hangouts most likely "dials" over data.

Quick googling says Google Voice is PC to PC so no mention of SIP or GSM being used.

Either way I think using IRC seems a bit outdated, especially when you're trying to accomodate non-technical people.

XMPP would give more support for modern clients like Conversations for example. And it's just as easily scriptable as IRC imo. You don't actually touch XML, you use client libraries. So even if IRC is simple on the protocol level XMPP is just as simple to script with.


The fact that google voice works in Europe is not the authors' qualm. His qualm is that you cannot get an european number from google voice, nor call european numbers for free, nor send sms messages to them, etc.. It just "doesn't work" when your life is european-centric.


Google Voice does phone termination, but only in the US & canada. Like how you'd normally consider skype device-to-device, but you can pay extra to get a skype number and make & receive calls to/from other phone numbers? Just like that, but with a bunch of extra features (automatically transcribing voicemails is the one I heard the most about).

GV exists in Europe, but the call termination part (which doesn't) sounds like it'd be very central to the usage he describes replicating.


For XMPP there is also https://jmp.chat


Nice to see old protocols used for new purposes - I'm using nntp for some things it wasn't designed for (mailing lists, RSS/Atom-feeds), but which fits nicely.

I understand the wish not to be dependent on a third party - but isn't Twilio such a dependency?


In my case, it's not wanting to avoid external dependencies - it's how hard those dependencies are. An external that you can swap out in an afternoon is a perfectly healthy vendor relationship. But if, eg, some machination flagged your account out of the blue, and your only recourse is to stare blankly at the screen in disbelief, this is not a healthy dependency.

So as long as other sms gateways/delivery services are available, his dependency isn't "Twilio", it's "an sms gateway/delivery service".


> So as long as other sms gateways/delivery services are available, his dependency isn't "Twilio", it's "an sms gateway/delivery service".

That depends of the depth of Twilio-specific integration and the ease of abstraction of course. Author mentions converting custom statuses and the like.


> I'm using nntp for some things it wasn't designed for (mailing lists, RSS/Atom-feeds), but which fits nicely.

Do you have any recommendations for server-side software/libraries, or docs beyond the original RFCs? I've idly contemplated various uses in the past, but never really fully understood how the various bits would go together.


As I see it, there are two ways to go:

* Run an existing news server (INN2 https://www.eyrie.org/~eagle/software/inn/), and add scripts around it, or:

* Make a small server that talks NNTP and does exactly what you need

I've been doing the latter a number of times (most recently on Feedbase https://feedbase.org/ where the NNTP-part is written in Perl, and I am working on and off on a server (in Haskell) to run a blog where NNTP is the primary interface for the author; not quite finished yet), Gmane/Gwene http://gwene.org/ does the former.

NNTP is a pretty simple protocol - an easy way to get going is to create a server that reads lines from a socket and replies when it recognizes something, connect an nntp-client and see what it sends and check the RFC for what is expected back, and then just go from there.


Sorry about the really late reply, just wanted to ack and say thanks for the reply. I did have a look at INN and wondered if that might be the way to go, but seemed potentially quite hacky.

I'll have to poke around with feedbase and see what you're up to. My (probably badly though-out) idea was a somewhat generic server / API adapter that could be hooked up to make less terrible interfaces for something like HN or reddit, similar to how bitlbee does IM <-> IRC.


I love this. Won't some distro'ers please just make a boot'n-play variant that puts all this together into a single image, let the rPi crowd have it (i.e. mass syndication at personal, inexpensive scale), and we can be done with the The Problem™ forever...


Why choose SMS today given it’s message length limitations? Also there’s the lack of security: SMS isn’t encrypted and can be sniffed. It’s expensive, while other modern messaging alternatives doesn’t charge by message.


No need for data connection, which can be (more) expensive and energy intensive. The phone can be in deep sleep, consuming nothing, and yet deliver texts in a timely manner. Sometimes in bad network conditions, texts work while calls and data fail.

Some pitfalls are reliability and lack of encryption and usually requiring a phone (which almost requires running non free today in practice, and having an entity knowing your position at all time and exposition to electromagnetic waves)

In France texts are usually unlimited in any offer, starting at 2€


> Why choose SMS today

Ubiquity.


Now all they need is a mobile IRC interface to close the loop? :)


So, Quassel and Quasseldroid? (e.g. the new beta of https://quasseldroid.info/, requires the new beta of Quassel, both are expected to be released in the next week, only minor bugfixes pending)?

Or Weechat + Weechat Android?

Or IRCCloud?

Mobile IRC can be an amazing experience, if done right. Now we need to make sure it becomes more accessible.

Disclaimer: Quasseldroid author


If only there were a good iOS quassel client. iQuassel is hot garbage. Quassel-webserver would be okay, if only iOS didn’t immediately reload PWAs when you reopened them.


Some people have offered donating me an iPhone so I can build a proper iOS quassel client.

Once the Quasseldroid beta is released, I'll start working on that.


I like 'mutter'.


Could anyone comment on how stable/hassle-free Weechat-android is? I see that fdroid only carries the nightlies and the release version on play store is from 2015.


The "nightly" versions are very stable in my experience, the stable not so much (and as you pointed out hasn't been updated in 3 years). Nightly isn't actually nightly, I've no clue why its labeled as such - I don't understand their release system.


Thanks. Now I look again fdroid says development version, it's play store where it's referred to as nightly.


I hope that the numbers are fake.


The central office code "555" indicates fake numbers under the NANP[1].

[1]: https://en.wikipedia.org/wiki/555_(telephone_number)


I'd replace the whole thing with Slack :)


I bridge SMS to matrix, I currently have no use for slack, but if I were forced to use it I would bridge that to matrix as well.

Of course the matrix IRC bridges are also quite good. I'm in a couple of bridged IRC rooms.


What do you use to bridge sms to matrix? I've seen a couple projects people were working on, but some were very hacky, and the rest were lacking features.


I use the one by tijder: https://github.com/tijder/SmsMatrix

It works well enough for me, though I don't use SMS too often though.

What I did like is that I can add another account to a room such that I can monitor texts from both matrix accounts.


And I'd replace Slack with this thing. To each their own :).


Can you impersonate Slack users the same way you can with IRC, to give each incoming SMS’s author its own user account?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: