Signal on Linux

theorangeninja@lemmy.today to Free and Open Source Software@beehaw.org – 52 points –

How is it possible, that Signal still only provides a .deb package and no .rpm, or even better AppImage or Flatpak? There is an unofficial Flatpak but is it secure?

53

As a maintainer of another unofficial flatpak:

You can always check the source code of the flatpak (code that downloads the dev then runs it inside the flatpak sandbox) here: https://github.com/flathub/org.signal.Signal

Any of the current maintainers could add malicious code, but that would ruin their GitHub & by proxy:Twitter,LinkedIn credibility.

Flathub have final say on what is built and hosted on their flatpak repository (Flathub != Flatpak) and are able to remove versions at will.

Personally I don’t understand the large warnings on flatpaks built by others, by that logic you should get a warning sign each time you download from the Ubuntu community apt repository.

OSS is built out of love, and to me this warns guilty before proven innocent.

Well I think you have to distinguish between a messenger and other programms, because a messenger has a lot of sensitive data.

Just because something is built out of love does not make it safe, and attestation is about safety. You wouldn't trust an un-attested surgical device, just because there's a really positive community around its design.

Signal is a life-or-death app for some people.

2 more...

I'm not a developer so I can't really check myself

I just read through the unofficial Flathub Flatpak for Signal and it is very simple. It fetches the .deb from Signal's website, installs it in the sandbox, and uses a launcher script to tell the OS some basic toggles like should it start minimized or should it display a tray icon. In the script it makes use of zypak, which to my understanding is to tell electron (chromium) to allow sandboxing to be handled by Flatpak. Here is the repo and the build instructions is the .yaml file.

Flatpaks are pretty easy to read through. Just go to the links section of Flathub and click the manifest, then read it to see what is done during building.

2 more...

I mean it’s FOSS. Have you considered opening a PR to contribute what’s missing? You can be the change you want to see. I wouldn’t normally comment something like this. Your emphasis on “still” raised my hackles a little bit and led me to ask why you still haven’t made your own.

Not everyone is a developer and they closed issues on github so why bother?

All of these packaging systems have plenty of tutorials. Speaking from experience, many maintainers were not developers when they started maintaining packages for distros other than the official distros. I have worked with several maintainers who do work in tech and know socially several who had no background. This could be a great place for you to start!

You bother because FOSS is as much paying it forward as it is getting shit for free.

Some projects of Signal-compatible clients and forks received a message from a Signal representrive requesting they stop distributing unofficial clients that connect to their servers.

That probably has on shilling effect on Linux distribution that may be considering building and distributing Signal in their repository.

They should provide an app for other distros then!

They can't possibly provide a package for every distro.

Signal's model, ie keep tight control over development and distribution of the client, and the absence of federation, it well suited for Apple/Google's stores, but not at all for open-source and Linux' ecosystem.

AppImages run on nearly every distro. Why arw they not providing that instead of a .deb?

Yes, AppImage can run on more distro.

Still AppImage has disadvantages over DEB: No auto-update, No/less system integration, Bigger install packages.

You are right. They can’t for every distro.

But fedora/rhel, Ubuntu/debian, and arch-based distros are the most commonly used. So they can provide official packages for those, and/or as the OP said, provide an official flatpak.

And to be fair, it’s a nice-to-have to have a better sense of trust, but given the unofficial ones are open source, it’s quite likely any maliciousness would be rooted out very quickly.

Or, if you are running one of those distros you could just take the .deb and repackage it for whatever distro you're running. Expecting a project to package for every distro, and then be required to support them for every release is a lot of work. And unfortunately some people have no issues expecting from others, but baulk at the idea of doing it themselves.

Could always do what looks like the Arch AUR package is doing and build it yourself from source. Or if you are running a Fedora/OpenSuse distro you could find a package on COPR or something that converts a package from a .deb to .rpm and just change source and stuff to match signal.

Sounds like a hacky way to do things, I don't think I'm comfortable with that.

Building from source it the opposite of hacky. It's the recommended way to deal with things like this where you are concerned about trust and security. I understand that it's not something you've done before, but it not as complicated as it sounds. There are many tutorials on how to build programs from source.

I understand that providing official packages for fedora/rhel, Ubuntu/debian, and arch-based distro packages along with a flatpack and Appimage would make a lot of sense, but for whatever reason, signal has decided not to. Perhaps you can message the signal team to ask why they choose not to do this.

Sometimes it comes down to support. For every distro specific format you build and package for, the more you need to do with every release (and need the proper config and to be comfortable packaging for each).

That is why I recommend arch based distros that are build on AUR (using yay) Like EndeavourOS

You could try running the .deb through alien(1p), although it can be hit-and-miss if the package has a lot of scripts or dependencies.

What is that if I may ask?

It's an old program that converts between .deb (Debian), .rpm (RedHat), .tgz (Slackware), .slp (Stampede), .pkg (Solaris), and LSB packages.

I don't use it much, but it can be handy in a pinch for installing software that isn't packaged for your distribution. Just don't use it for anything low-level or that's already packaged natively, or you'll break stuff.

AppImages, ~~which have no automated update facility, are terrible idea for software that is based on the security of the messaging syatem.

AppImage for The Powder Toy (a great game) - no problem.

For Signal? Bad idea.~~

I'm looking at you, SimpleX.

rpm? Yeah, you've got a very valid point.

Update: I'm wrong - see replies to this message.

2 more...

I have the official Signal Desktop flatpak installed through Discover. It exists.

This one? Because this is not official.

Its not official, but you can read the manifest to see what is done during building.

Yeah, I think it's that one. Does Discover pull it's content from flathub.org?

It says "by Signal Foundation" on it and 900,000 people have installed it so it seems good enough to me.

You can always build it yourself if you want

Not everyone feels comfortable doing that.

true, then just use the flatpak version

OP, what distro are you running? You mention a whole bunch of package formats they don't provide, but never mention what format you require. Depending on the distro, making a build script (or converting the .deb) really isn't Rocket Surgery ™.

Signal aims to be the messenger you can tell your grandma to use. To live up to that promise they have to provide more packages.

What percentage of Signal users is "grandma" that uses Linux and would be messaging from her PC? I would have to imagine the overwhelming vast majority of Signal users are on mobile only, so packaging for specific distros is probably far down the priority list.