I just noticed today that Signal (not talking Molly) is now available on F-Droid via the “Guardian” repository.

Just wanted to give everyone a heads up.

  • @[email protected]
    link
    fedilink
    English
    29
    edit-2
    4 days ago

    It’s weird that this isn’t mentioned on the signal website or blog? They also distribute the binary with a signature you can check there if you want a non-play store source that’s actually verifiable.

    • Andromxda 🇺🇦🇵🇸🇹🇼
      link
      fedilink
      English
      14
      edit-2
      3 days ago

      It’s probably not an official thing. F-Droid can’t distribute apps in the official repo via their own policy if the developer doesn’t agree. Third-party repos like Guardian can.

        • Andromxda 🇺🇦🇵🇸🇹🇼
          link
          fedilink
          English
          21
          edit-2
          3 days ago

          I think they ship prebuilt binaries, i.e. the exact same ones you find on the Signal website

          AFAIK this also applies to Tor Browser, Orbot and other third-party apps distributed by Guardian


          Edit: I downloaded the files and manually verified the signatures. They are indeed the exact same files.

          Because I didn’t really know how to grab an APK from the Guardian F-Droid repo, I used their S3 bucket and downloaded the Signal APK. It’s named Signal-Android-website-prod-universal-release-7.30.2.apk, which is the exact same file name as the one of the APK you can get from the Signal website.

          I then used keytool to print the signature certificate fingerprint: (renamed the files to make it less confusing)

          keytool -printcert -jarfile signal-website.apk
          
          Signer #1:
          
          Certificate #1:
          Owner: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
          Issuer: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
          Serial number: 4bfbebba
          Valid from: Tue May 25 17:24:42 CEST 2010 until: Tue May 16 17:24:42 CEST 2045
          Certificate fingerprints:
          	 SHA1: 45:98:9D:C9:AD:87:28:C2:AA:9A:82:FA:55:50:3E:34:A8:87:93:74
          	 SHA256: 29:F3:4E:5F:27:F2:11:B4:24:BC:5B:F9:D6:71:62:C0:EA:FB:A2:DA:35:AF:35:C1:64:16:FC:44:62:76:BA:26
          Signature algorithm name: SHA1withRSA (weak)
          Subject Public Key Algorithm: 1024-bit RSA key (weak)
          Version: 3
          
          keytool -printcert -jarfile signal-guardian.apk
          
          Signer #1:
          
          Certificate #1:
          Owner: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
          Issuer: CN=Whisper Systems, OU=Research and Development, O=Whisper Systems, L=Pittsburgh, ST=PA, C=US
          Serial number: 4bfbebba
          Valid from: Tue May 25 17:24:42 CEST 2010 until: Tue May 16 17:24:42 CEST 2045
          Certificate fingerprints:
          	 SHA1: 45:98:9D:C9:AD:87:28:C2:AA:9A:82:FA:55:50:3E:34:A8:87:93:74
          	 SHA256: 29:F3:4E:5F:27:F2:11:B4:24:BC:5B:F9:D6:71:62:C0:EA:FB:A2:DA:35:AF:35:C1:64:16:FC:44:62:76:BA:26
          Signature algorithm name: SHA1withRSA (weak)
          Subject Public Key Algorithm: 1024-bit RSA key (weak)
          Version: 3
          

          The fingerprints are identical.


          Another edit: I just noticed that Signal even has official instructions for checking the signature on their APK download page. They use apksigner instead of keytool, but it’s basically the same process.

              • @[email protected]
                link
                fedilink
                23 days ago

                You have quite a bit of background knowledge to know how to do that though, you should give yourself more credit!

                • Andromxda 🇺🇦🇵🇸🇹🇼
                  link
                  fedilink
                  English
                  2
                  edit-2
                  2 days ago

                  Thanks, I mean I used to work as a Java developer before, and I’m quite interested in the Android platform, so I’m familiar with the SDK and build tools, and know how app signatures work

                  But it’s really not that hard to figure out. There are countless guides on the internet, and as I said, Signal even has a quick guide for how to verify the APK signature on the download page

  • Tlacuachito
    link
    fedilink
    22 days ago

    I was gonna say, I got Molly-FOSS from F-droid, but I actually had to go back and check. It checks out though. I did also get obtainium so I can keep a better eye on updates and actually check the changes on git before updating something as important as secure, encrypted coms. Also I figured I should really start checking the signature each update from now on.

  • Andromxda 🇺🇦🇵🇸🇹🇼
    link
    fedilink
    English
    53 days ago

    Please rename the thread to “Signal in the Guardian project F-Droid repo” or something like that to avoid confusion, because as you have noticed, it’s not available in the main F-Droid repo, just in the third-party repo maintained by the Guardian project

  • Tlacuachito
    link
    fedilink
    113 days ago

    Is there anything specifically wrong with molly. It seems more locked down by default and is fully open source. Seems better to me.

    • @[email protected]OP
      link
      fedilink
      English
      73 days ago

      No, nothing wrong with it. I use it actually. People are used to Molly being on F-Droid so I didn’t want anyone to think that I was referencing that instead of actual Signal.

    • @[email protected]
      link
      fedilink
      English
      02 days ago

      They do not ship updates as fast as official Signal client does. Do not use it unless you specifically need one of its security features

    • @[email protected]
      link
      fedilink
      4
      edit-2
      3 days ago

      Iirc Molly in F-droid still using FCM and the google maps API. If you want Molly-Foss, you have to use Obtanium to pull APKs from their git releases.

      Edit: I was wrong, you can get it off their F-Droid repository.

  • @[email protected]
    link
    fedilink
    English
    244 days ago

    Perhaps a result of the proposed ban on distributing tiktok via google and apple is that some developers rethink their distribution mechanisms

  • @JubilantJaguar
    link
    9
    edit-2
    3 days ago

    I have a tangential question. Would it not make sense for an OS, in this case Android, to have some proper mechanism for installing apps (in this case APKs) directly from a website (as lots of people have been doing fastidiously from signal.org by necessity)?

    After all, this is all about trust. With software, assuming that you trust the developer, the goal is to be sure that nobody interfered with the developer’s compiled software - and who better to guarantee that than the developer themself, at their own domain? DNS resolution is already based on the “web of trust” principle, which is why you can trust your bank’s website. Arguably F-Droid performs a valuable role as a curator and selector of good software, but is there any good technical need for it to actually distribute the software?

    • @[email protected]
      link
      fedilink
      153 days ago

      Not exactly answering your question but you can use the app Obtainium to fetch the apk URL from a website/github repo and many other sources to install directly. It also supports fdroid repos and many other sources out of the box. Kinda half way what you mentioned in your first paragraph.

      • @JubilantJaguar
        link
        4
        edit-2
        3 days ago

        Yes true! Forgot about Obtainium. Personally I’m not much tempted because all it does is swap out F-Droid for Github (i.e. Microsoft) as the middleman. But I agree that it’s definitely a win for convenience.

        PS: Turns out Obtainium is source-agnostic. Good news.

        • @[email protected]
          link
          fedilink
          53 days ago

          Of course Github is just an example but you can pretty much regex any URL and further filter out anything in order to get the apk link with it. So depending on your level of privacy requirement and trusted sources, you can skip all the centralized ones and build your own list of sources.

          • @JubilantJaguar
            link
            33 days ago

            So it does! OK so this is pretty close to a decent solution after all (the ideal one being IMO exactly the same thing but native to the OS). Thanks for the correction.

    • @[email protected]
      link
      fedilink
      53 days ago

      Not sure if this fits your definition of OS, proper, or install, but FWIW you can already download an apk directly from github using most Android browsers and it will open (or give you the option to open) it with the system’s package installer.

      • @JubilantJaguar
        link
        53 days ago

        Yep and that’s exactly what we doing with Signal to avoid the Play Store. It’s a bit of a PITA and it’s the same on desktop. It’s because they don’t want third parties maintaining their packages.

        My crazy utopian idea is for some kind of protocol (or equivalent) that would allow native package managers (mobile or desktop) to “plug in” to the website repos of authors, directly.

        • @[email protected]
          link
          fedilink
          33 days ago

          Isn’t this basically the same thing as clicking a .apk or .exe link in a browser (which already works on mobile/desktop)?

          • @JubilantJaguar
            link
            33 days ago

            Other than (a) having to use a browser and (b) no update mechanism, yes.

  • @KnightontheSun
    link
    4
    edit-2
    3 days ago

    Please forgive if this is a stupid question, but what is the difference between the play store version and this? Assuming it is not altered by a bad actor.

    • @[email protected]
      link
      fedilink
      English
      63 days ago

      As i recall, ALL apps in google play store, have to have some sort of google shit embedded into it. Therefore, its better to download something outside of google if you want to remain degoogled.

    • @[email protected]
      link
      fedilink
      English
      23 days ago

      I think the main difference is that the Play Store version can use FCM (Google Play Services) for notifications, while the APK Signal distributes only receives notifications over a background WebSocket connection.

      • @KnightontheSun
        link
        13 days ago

        That is interesting. Thanks to you and the others.

        Does the use of the google play services allow google to sort of…listen in or be privy to your app usage in any way?

        • @[email protected]
          link
          fedilink
          English
          43 days ago

          Google cannot see any message content of Signal notifications through FCM. It’s more like a “heads up” to the Signal app, telling it “hey, there are new messsges. wake up and check what they are.”. The Signal app then checks for messages and does all the decrypting and whatnot itself.

          While it’s possible that the timing of FCM telling the app to check for notifications could be used to correlate activity, that’s an edge case that if you are concerned about can be easily avoided by just using the background WebSocket or a fork of Signal like Molly that allows you to use a third-party UnifiedPush provider to check for messages in the background, instead of FCM.

          • @KnightontheSun
            link
            23 days ago

            Yes, the activity was what I thought of. Thank you for helping to educate me!