Show HN: Signal-Android – A fork of Signal that provides SMS support

github.com

65 points by ryukoposting 2 years ago

Signal was a brilliant app. It can send messages with rich media, host group chats, and even do voice and video calls, all with the peace of mind that comes from a proper secure messaging app. The best part was that you could still send messages to people who don't use Signal. Signal was the messaging app everyone wants - all the benefits of iMessage, without being siloed in one particular ecosystem.

Sometime leading up to October of 2022, the folks at the Signal foundation lost the plot. Signal has since dropped support for SMS, and is inexplicably adding "stories" to their personal messaging app. I despise this.

Instead of just complaining about it, I decided to do something about it. Here is a link to a version of the Signal Android app that still supports SMS, and doesn't have stories. There also isn't a stupid, nagging banner telling you to update. Right now, it's just Signal 5.38 with a couple lines commented out, but I plan to integrate any upstream security/UX improvements in the near future. For now, you'll have to build/install it yourself, but I will eventually put an APK out there for people to download. Enjoy!

matxip 2 years ago

I really did loath the removal of SMS. It went like this for me: I would set up non-techie family with signal and that would be SMS and secure messaging for them. Then Signal removed SMS, so I had to explain to them that I had actually set them up with something "unstable" and needed to change their apps around. As a consequence, they're more hesitant to try things I suggest and I can't blame them. As for the actual messaging, inevitably they'll forget to juggle apps and just default to SMS and there's only so much I can go against the stream here.

This is cool, but I think being the default in the mainline app is critical. Also, iirc signal doesn't like modified apps, so this might be on shaky ground.

  • ryukoposting 2 years ago

    The key here is that this isn't really a "third party app," per se. It's all their code. All I did was replace this:

      return getBoolean(CLIENT_DEPRECATED, false);
    
    With

      return false;
    
    I also updated a dependency on libsignal.
mlindner 2 years ago

> Sometime leading up to October of 2022, the folks at the Signal foundation lost the plot. Signal has since dropped support for SMS, and is inexplicably adding "stories" to their personal messaging app. I despise this.

On iPhone Signal never support SMS in the first place. Just sounds like they're smartly keeping it consistent that all messages are secure rather than intermixing non-secure and secure messaging, which was a dumb idea from the get go.

  • chungy 2 years ago

    Couldn't disagree more. Having a singular app handle all messaging was brilliant and a key feature to bring people over.

    Apple disallowing competition isn't a good reason to remove something useful for Android users.

    • growse 2 years ago

      > Couldn't disagree more. Having a singular app handle all messaging was brilliant and a key feature to bring people over.

      > Apple disallowing competition isn't a good reason to remove something useful for Android users.

      Nice in theory, but RCS breaks everything here.

      You send someone at SMS in Signal, they reply but their client "upgrades" it to RCS. Signal never receives the reply (because the RCS android API is private), and now everyone blames Signal for "dropping messages".

    • mlindner 2 years ago

      But why does putting all your messaging in a single app help bring people over? People have always juggled multiple messaging clients since forever ago.

      I personally use 4 different ones at the moment (Signal, Messages(SMS+iMessage), LINE, and Snapchat) and lots of other people I know also use WhatsApp, Messenger, or one of the various Chinese messaging apps. I don't think I know anyone who uses just a single messaging app.

  • monetus 2 years ago

    "dumb idea from the get go."

    You could potentially send an unencrypted msg if you fat fingered the send button into a long press, a swipe, and then another tap.

    Otherwise, people messaging you would just find themselves silently upgraded to encrypted messenging, because it was the default already on both phones. It was a boon for security overall, but allowed a.. Not a pitfall so much as a pit climb that could be a security let down.

    The silent upgrade of everyday messages broadened signal from that platform people use to talk about black market stuff to that platform people use to text.

    • jamal-kumar 2 years ago

      I guess politicians and their staffers are just doing black market dealings if your reductionistic point of view holds out to be true [1]

      [1] https://www.forbes.com/sites/zakdoffman/2020/02/24/new-whats...

      • monetus 2 years ago

        Hyperbole is useful for illustrating a point, please take people in good faith.

        The point was that the signal users are being fragmented, divided amongst those who do and don't mind inconvenience to hide their messaging. At the time they are pushing the social media features like stories, groups, and payments, it doesn't make sense to tamp down on android's network effect.

        Politicians don't have to worry about their staffers uninstalling the app but forgetting to tell the campaign.

    • omeid2 2 years ago

      Silent upgrade and so silent downgrade instead of fail to send? Risky.

      • rcthompson 2 years ago

        It's not silent, the UI clearly indicated when you were sending messages encrypted or unencrypted.

    • mlindner 2 years ago

      That doesn't sound like a silent upgrade but instead a silent downgrade to cleartext, a big security no-no that should never be performed.

  • fluidcruft 2 years ago

    The real problem is that Google and carriers are moving Android to RCS+SMS. SMS is awaiting execution.

    • simfree 2 years ago

      Good luck killing SMS when the RCS APIs are for Google Messages (and rebranded Android OEM messages apps) only. The few paid RCS messaging APIs that exist are priced like caviar compared to SMS.

      • fluidcruft 2 years ago

        Yeah. The reality is that RCS is happening and leaves Signal in the same position they are on iOS where SMS is only supported/allowed via Apple's app and they can't touch.

        SMS-only users will be left in the cold. It used to be that if you use SMS you were a pariah on iOS with low quality MMS etc. Pretty soon SMS users will be a pariah on both iOS and Android. Not to mention how things change if/when the EU forces Apple to support RCS.

        Furthermore RCS is adding encryption. So Signal users who communicate via SMS are missing out on that possibility to improve their use of encrypted communication with users who don't use Signal.

        The narrative of the Signal+SMS silent upgrade is also falling apart. As RCS support continues to roll out, you are actively downgrading a user's experience if you install Signal as their SMS client.

        Frankly I don't see these facts support SMS in Signal being worth any developer effort. And if literally anything in the SMS stack results is a security breach of a Signal user, Signal gets all the egg on their face. It just does not make sense for SMS to exist in Signal.

    • petodo 2 years ago

      Right, just like MMS killed SMS. Good luck trying to kill simple plain text message with shaky Google RCS support, which ain't some international open standard.

  • wolverine876 2 years ago

    I agree. It was risky for users, who associate Signal with 'secure'.

palata 2 years ago

Settings > Stories > Turn off stories. Done.

As per SMS, I am fine using a separate app, and I understand that it may be harder than it seems to properly support SMS. I know some people really want SMS in Signal though.

  • doublerabbit 2 years ago

    How long until you have to turn the story mode off on every update? Microsoft does it.

    The IOS version of signal has no option to permanently turn off notifications. So you say no, and the app reminds you asking if you wish to turn on notifications every x app launches.

    Why is this so difficult to implement? If your asking me, then reminding me that I'll be asked again. Surely it's just a matter of adding a UI toggle with switch case of "if user says no, stay no".

    Thats my only gripe with signal.

    • climb_stealth 2 years ago

      I'm glad you mention a specific example. I was going to say that all the nagging notifications can be turned off and they don't come back. And that I'm not worried about that regardless of whether Microsoft does it.

      But I'm running Signal on Android and it seems like that makes a difference.

    • palata 2 years ago

      Did you have a look at the codebase? Is it on purpose or is it a bug?

      • doublerabbit 2 years ago

        On purpose.

        A message box after selecting "No" as an option displays with a message of "We will remind you later".

        • palata 2 years ago

          Right. Yeah it would be nice to let you choose, I agree.

  • ryukoposting 2 years ago

    > Settings > Stories > Turn off stories. Done.

    I wouldn't know. I turned off updates for Signal before they removed SMS support, and then when my version of the app "expired" (i.e. bricked itself by checking a build timestamp) I made this.

  • landemva 2 years ago

    I hadn't bothered to look if stories could be turned off. Thanks!

    If you have another moment for tech support, how to turn off picture metadata stripping? When I send a picture I know who I send it to and I want the GPS in there.

    • palata 2 years ago

      I don't know that this is possible. That's a security feature, and I can understand that they may not want to compromise (too much) on security.

      But yeah it means that sometimes it's limiting features. Everything is a tradeoff!

smlavine 2 years ago

An advantage I found of signal having SMS support just a few days ago was when I met a new person and went to text them to confirm the numbers. I texted him, he texted back, and as it happened we both have Signal, so it was encrypted. If/when Signal removes SMS support, this sort of automatic, frictionless, natural discovery will not happen. Less people will use encrypted messaging because it relies on more people caring about encrypted messaging. Not going to happen, unfortunately, because nobody wants to be the weirdo who asks to use a special app.

  • fragmede 2 years ago

    Unlike the normies, who ask for each other's Insta? Don't get me wrong, losing SMS support is the wrong direction, imo, but its just a different platform, no need to get so judgemental about who uses it.

    • simfree 2 years ago

      Casual discovery is so much easier than having a conversation about what platform you would prefer to use followed by trading unique ids from said platform.

  • ryukoposting 2 years ago

    I have had the same experience on multiple occasions, and it's one of the reasons I made this fork.

jeroenhd 2 years ago

Edit: looks like Signal isn't disabling SMS support yet. I guess I can put off uninstalling it for a few months longer.

I'm confused.

I have Signal installed and set as my default SMS app and it still works perfectly fine. Is this something specific to my device or is there something keeping the "disabled" feature alive? Am I going to get an update that will break my SMS messages?

My app reports version 6.8.3.

  • climb_stealth 2 years ago

    SMS still works currently. But on my version 6.9.1 it shows a nag message at the bottom that SMS support is going to go away at some point. With an offer to export the SMS to the phone database.

    It is also not possible to enable SMS support again from the Signal options itself. Though it can still be set from the Android settings.

    I presume it will actually stop being supported completely in a future update. I wouldn't think the feature requires any support from the Signal servers, so I reckon you would be able to use it for as long as the app still works.

    In the end I accepted this turn to the worse and exported my SMS history and switched to Silence. Turns out I don't actually use SMS much. Mostly just for delivery notifications.

barbazoo 2 years ago

> Signal Android (but less sucky)

Interesting how upset people got about all this. I just use the Android SMS app just like I would if I wasn't on Signal at all and I'll ignore stories because they're not important to me.

  • sodality2 2 years ago

    A lot of people, me included, are upset because now all of the SMS message history within Signal is locked inside Signal, and it doesn't seem to transfer to the default app.

    • growse 2 years ago

      > A lot of people, me included, are upset because now all of the SMS message history within Signal is locked inside Signal, and it doesn't seem to transfer to the default app.

      I seem to remember there was a button to export SMS history when disabling Signal as the default SMS app?

    • barbazoo 2 years ago

      That sucks because it did export messages for me. Or maybe they explained how to do it but it couldn't have been much work because otherwise I wouldn't have done it.

e12e 2 years ago

Do the upstream Signal servers allow third party clients now, or does this need separate infrastructure for the signal part (to be compliant and/or avoid an account ban)?

cowmix 2 years ago

If your fork takes off, I (and others) would love to help contribute. Things like ChromeOS/Android table support (which many forks have added in the past) and being able to use an Android phone/tablet as a link device would be great.

  • ryukoposting 2 years ago

    These are intriguing ideas, but I can't guarantee that will happen. I'm a firmware engineer by trade, but I know enough Android stuff to do basic things.

sinistersnare 2 years ago

I appreciate your effort! I was loathe to leave Signal, but I can't support them after all of the dumb stuff they've been doing. They also added some sort of crypto a couple years ago?

The default android messenger is good enough I guess.

dTal 2 years ago

There's also Silence, which is a fork of Signal from back when it used to be TextSecure. It only does SMS, and it actually encrypts it. I get the appeal of having one app that does it all, but Signal hasn't been that app for a long time anyway. Silence is a more sustainable and secure option than using an old version of Signal with deprecation checks commented out.

https://silence.im/

kornhole 2 years ago

Some people want Signal to do SMS, but it was using the phone number associated with the SIM card. We should only use SIM cards for data and never for OTA calls or SMS. jmp.chat, voip.ms, and other VOIP services can be used for calls and SMS at low cost to improve security. Of course I use anonymous prepaid cards and only away from house.

mlindner 2 years ago

This is a bad feature to have in Signal as it causes confusion which messages are securely encrypted and which are just being sent in effective cleartext over the carriers networks as SMS has no real encryption. Keep SMS in the system Messages apps of the phone.

  • zoklet-enjoyer 2 years ago

    It's not confusing at all to tell which messages are encrypted and which are sms. I don't like the default sms app and have been using Signal for all my texting for as long as I've had a smartphone, back when it was TextSecure.

  • swap77 2 years ago

    Never confused about lock or unlock - Signal is trying to see how many users they have, who will flock to them as "the" secure msg app - they will quickly see a majority of their users drop, we all have more NOT using signal than are

    So everyone using 2 apps, losing texts, confused about splitting up permissions, apps confused/not allowing for split SMS delivery (as experienced all over reddit) - they have caused a mess in the name of purity and you reap what you sow, an app nobody uses because they have 3 contacts on signal and 100 on xyz replacement

  • Defletter 2 years ago

    Isn't that solvable by doing something similar to iMessage and colouring SMS and Signal messages differently?

    • chungy 2 years ago

      How about the lock/unlock icon that was already there?

  • ryukoposting 2 years ago

    I have never been confused by this.

petodo 2 years ago

You could save yourself work and just link Johann's fork with no APK expire

https://github.com/johanw666/Signal-Android

Personally I just uninstalled the fork yesterday and just switched to default Lineage messaging app to receive SMS messages (and rarely write some) and for the rest I'm using Whatsapp, since only like 4 of my contacts were on Signal anyway (and I talk rarely only with 1 of them).

But I'm always looking for E2E messaging app with SMS support as backup option for Whatsapp (and pls no Facebook/Google/Microsoft product, I'm aware they all have something like that).

rbut 2 years ago

For now I have simply locked my Signal version in Aurora and F-droid to 6.2.3, by disabling updates for Signal.

Not sure how long it will last, but if it helps anybody else until a fork like this one becomes the mainstream solution.

  • monetus 2 years ago

    The signal protocol keeps old versions from being used I think, so in like 9 months iirc your version won't be able to send/receive

  • public_defender 2 years ago

    I'm on 6.8.3 and still using it as my default SMS app. Everyone in this thread is acting like SMS is already disabled. What am I missing?

    • ryukoposting 2 years ago

      As soon as I got that warning about losing SMS support, I disabled updates. That was months ago. For the sake of getting this thing put together quickly, I forked from the latest version that was compatible with the version that was on my phone when I disabled updates. That will be rectified in due time, but I'm pretty busy with life right now.

    • rbut 2 years ago

      You're only an automatic update away from losing it. Hence why I suggested locking the version now until you find out what the last version with SMS support was, before transitioning to a fork.

monetus 2 years ago

Can anyone point me to or tell me how the signal servers work? This fork will use the signal foundation servers, and face all that that entails right?

hacker_junky 2 years ago

Wow, that sounds great! What led you to make these changes to the Signal Android app? How can others join you in these efforts?

  • capableweb 2 years ago

    Seems like they wrote exactly why?

    > Sometime leading up to October of 2022, the folks at the Signal foundation lost the plot. Signal has since dropped support for SMS, and is inexplicably adding "stories" to their personal messaging app. I despise this.

    > Instead of just complaining about it, I decided to do something about it.

    True hackers :) Thank you

NayamAmarshe 2 years ago

I think it's against their policies to create third party clients unlike Telegram?

IIRC, Moxie disliked the idea of modified clients.

  • 4bpp 2 years ago

    Well, part of the point of the GPL (under which the official client is licensed) is that you can't really prevent people from doing that. Of course the party operating the servers has the discretion to ban users of modified clients on sight, but recognising those users may be difficult. The GPL forces them to provide sources with any new release of the official client, and barring some sort of endpoint integrity attestation in the spirit of DRM systems in games (which a far larger segment of their target group than those who would use unofficial clients would reject) they could not distinguish a patched build whose behaviour on the network is the same as the official client from their own.

    I think any "homesteading the noosphere"-style arguments that grant Moxie moral rights to control the use of the software that go beyond his contractual rights are rendered much less compelling by the presence of network effects. To interface with Moxie's captive userbase, you can't avoid trespassing on his homestead.

    • akerl_ 2 years ago

      The GPL doesn't require them to provide source with any new release of the official client. They're the author, and hold the copyright. They can decide tomorrow that all future versions of Signal will be closed-source, and then just stop providing source.

      They can't retroactively un-GPL existing released versions/code.

      • 4bpp 2 years ago

        For them to relicense it, they would need to hold the copyright to all the code. Do the Signal authors actually have it?

  • gwillen 2 years ago

    Moxie has made his decision; now let him enforce it.

  • ryukoposting 2 years ago

    Refer to other comments - this isn't really a "third party client," it's an exact copy of their code with two or three lines changed.

  • arafatamim 2 years ago

    Molly is a hardened Signal fork without the crypto stuff

    • NayamAmarshe 2 years ago

      Oh cool, reproducible builds without GCM.

      The only flaw is this: > you cannot use the same phone number on both apps at the same time. Only the last app to register will remain active, and the other will go offline

zoklet-enjoyer 2 years ago

Uhhh, I can still send SMS messages. I just sent a text a couple minutes ago on version 6.8.3

ehPReth 2 years ago

why is everyone so anti-stories? I really don't understand

  • hadlock 2 years ago

    I don't want social media crap in my messaging app. I use it for work and business notifications. When I want to waste time I have other apps for that sort of thing.

    • WithinReason 2 years ago

      Have you even seen a single Signal story?

  • joshspankit 2 years ago

    It’s a canary in the coalmine. Stories shows a shift away from a singular focus on security and towards being a copy of everything else. As well, many of us have seen good services die because they started to try to be like everyone else.

timmit 2 years ago

I like the idea, it will be good to have the SMS back and has Signal as only one message app.

barbazoo 2 years ago

> I will eventually put an APK out there for people to download

That defeats the purpose of Signal I would say