portmaster icon indicating copy to clipboard operation
portmaster copied to clipboard

Provide Flatpak, Snap and .msi installers

Open iMonZ opened this issue 3 years ago • 18 comments

It would be great if this tool would be better to install

  • [ ] 1. For Windows 10,11 use the MSI package instead of .exe

  • [ ] 2. For Linux use Flatpak and Snapcraft instead of deb…

  • [ ] ~~3. macOS Support would be Great but learning System extensions is a hassle~~

It would be great if this would be fixed

iMonZ avatar Feb 05 '22 13:02 iMonZ

:-1: for flatpak / snapcraft. I have had only troubles with many apps installed like this and they were 100% more simpler than what portmaster does. Maybe I'll change my mind in the future about isolated apps but IMHO it's not mature enough at the moment.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.

northys avatar Feb 06 '22 11:02 northys

👎 for flatpak / snapcraft. I have had only troubles with many apps installed like this and they were 100% more simpler than what portmaster does. Maybe I'll change my mind in the future about isolated apps but IMHO it's not mature enough at the moment.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.

It’s possible to create an classic Snapcraft that is not isolated. And make install parameters that disabling the inapp updater.

It’s just easier for every Linux user if all apps are installed with one way and the standard is flatpak and Snapcraft. Would be just nice to have 🙂🫠

iMonZ avatar Feb 06 '22 16:02 iMonZ

It’s possible to create an classic Snapcraft that is not isolated.

I know and I would call that Frankenstein. I see zero point in classic snaps. Most software devs who publish only flatpak and snap packages are just lazy to create proper packages for all mayor distros which are really supported.

if all apps are installed with one way

Lucky you! As a fedora user I had to reinstall half of the flatpak apps using different way because they didn't work properly and devs don't give a shit about it. E.g. there is yubikey manager that has like 0.3* because it's broken for years and noone gives shit about it. I would expect that at least company selling 50$ usb sticks with one app could do it properly but nope.

and the standard is flatpak and Snapcraft.

What planet do you come from? Is it panet Earth? If it would be a standard there would be only one of them don't you think?

Snapcraft is so brilliant that people around me are moving from Ubuntu to different distro because it just sux and Canonical forces you to use it since 18.04 even on server LOL.

Docker from snap also works /s. It's awesome we can have broken / half working software installed easilly using crappy "standard" package manager that was built for our parrents so they can install chromium and vlc and forget about it.

northys avatar Feb 06 '22 17:02 northys

It’s possible to create an classic Snapcraft that is not isolated.

I know and I would call that Frankenstein. I see zero point in classic snaps. Most software devs who publish only flatpak and snap packages are just lazy to create proper packages for all mayor distros which are really supported.

if all apps are installed with one way

Lucky you! As a fedora user I had to reinstall half of the flatpak apps using different way because they didn't work properly and devs don't give a shit about it. E.g. there is yubikey manager that has like 0.3* because it's broken for years and noone gives shit about it. I would expect that at least company selling 50$ usb sticks with one app could do it properly but nope.

and the standard is flatpak and Snapcraft.

What planet do you come from? Is it panet Earth? If it would be a standard there would be only one of them don't you think?

Snapcraft is so brilliant that people around me are moving from Ubuntu to different distro because it just sux and Canonical forces you to use it since 18.04 even on server LOL.

Docker from snap also works /s. It's awesome we can have broken / half working software installed easilly using crappy "standard" package manager that was built for our parrents so they can install chromium and vlc and forget about it.

Easy to install.

debs aren’t easy to install at all. And if you don’t have a ppa that you Manager every week it’s total crap. Oh and btw most ppa owner don’t care about non lts version so you need to open the editor and spoof an older version bla bla bla. Such a time waste especially for non experienced users. I don’t know what you are talking about problems for snap and flat but except a few Szenarios like 1Password everyone is pretty happy. And we have an easy standard solution. And yes Snapcraft classic is much better because IT WORKS. Everywhere and everytime.

docker could be an idea too

I use Ubuntu, Fedora and arch daily.

iMonZ avatar Feb 06 '22 17:02 iMonZ

Everywhere and everytime.

U wish.


And if you don’t have a ppa that you Manager every week it’s total crap. Oh and btw most ppa owner don’t care about non lts version so you need to open the editor and spoof an older version bla bla bla. Such a time waste especially for non experienced users.

Learn to read pls.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.


debs aren’t easy to install at all.

Okay. It must be terrible experience for user to doubleclick a file and click install. I'll pray for those poor people.

northys avatar Feb 06 '22 18:02 northys

Hey @iMonZ, thanks for raising this issue. Also, thank you @northys for providing an alternative viewpoint here.

When we investigated flatpak and snaps, we found that they don't support our use case:

  • We ship three components (1 system service, 2 user applications), not only one.
  • The system service should start at boot with system privileges.
  • One of the user apps should start at boot with user privileges.
  • They are not available on all systems.
  • (If you want to isolate Portmaster to some extent, systemd does a decent job there - and we have enabled that.)

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

dhaavi avatar Feb 11 '22 12:02 dhaavi

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

you can still install msi in the background using current installer, cant you?

northys avatar Feb 11 '22 12:02 northys

you can still install msi in the background using current installer, cant you?

Not sure what you mean. Well, you can just ignore everything and blindly click "next", similar to like winget can do, yes.

dhaavi avatar Feb 11 '22 18:02 dhaavi

Hey @iMonZ, thanks for raising this issue. Also, thank you @northys for providing an alternative viewpoint here.

When we investigated flatpak and snaps, we found that they don't support our use case:

  • We ship three components (1 system service, 2 user applications), not only one.
  • The system service should start at boot with system privileges.
  • One of the user apps should start at boot with user privileges.
  • They are not available on all systems.
  • (If you want to isolate Portmaster to some extent, systemd does a decent job there - and we have enabled that.)

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

  1. you can install the system component and user space component

  2. You can install Systemapps with autostart

  3. you can communicate this after the install like all the macOS apps are doing this. There Is no need to communicate or ask any questions in the installer.

iMonZ avatar Feb 11 '22 18:02 iMonZ

Thanks for the update. It seems things might have changed.

We will look into it again and see if it makes sense to provide flatpak and snap installers. I'm not sure about the .msi, but will also talk with the team about it.

dhaavi avatar Feb 14 '22 08:02 dhaavi

see if it makes sense to provide flatpak and snap installers.

Some examples related network monitoring tools.

  • AdGuardHome - https://snapcraft.io/adguard-home https://ubuntu.com/appliance/adguard
  • Ntopng - https://snapcraft.io/ntopng-blake (unofficial and outdated, i dont know work or not but it seems many people have used it according to the map in it)

itsnotsaved avatar Apr 21 '22 08:04 itsnotsaved

Thanks for your input @itsnotsaved, but I believe both of your examples do not directly interact with the network stack of the host, and such can easily be packaged to snap - from this view point at least.

We are, however, slowly evaluating if we can work around the limitations (or if they have been lifted) of flatpak. No promises on the progress, just stating that we will look into it.

dhaavi avatar Apr 25 '22 10:04 dhaavi

for deb file we can get update feature like flatpak with https://github.com/wimpysworld/deb-get. But, we need this app on stable version. So, I hope portmaster can become stable version soon.

dnet890 avatar May 28 '22 15:05 dnet890

#TeamFlatpak here. Snap is slower and has proprietary backed. Flatpak is fully open source, snappier (ha-ha) and more widely available across distributions. Also it (and AppImage) is the only packaging system supported on 99% of immutable distributions (Fedora Silverblue, Fedora Kinoite, carbonOS, NixOS, etc.). Please keep the Flatpak version on your roadmap

Danik1601 avatar May 30 '22 23:05 Danik1601

#TeamFlatpak here. Snap is slower and has proprietary backed. Flatpak is fully open source, snappier (ha-ha) and more widely available across distributions. Also it (and AppImage) is the only packaging system supported on 99% of immutable distributions (Fedora Silverblue, Fedora Kinoite, carbonOS, NixOS, etc.). Please keep the Flatpak version on your roadmap

That’s not the point. Flatpack is used by most operating systems while snaps are only used by one which also supports flatpaks.

iMonZ avatar May 31 '22 04:05 iMonZ

Use AppImage better performance then apt, dnf, Snap, Flatpak Flatpak is centralized. App image is more open.

Rexadev avatar Sep 30 '22 08:09 Rexadev

flatpak has direct support in Fedora, Linux mint. Also, if someone is on Debian. He can use the latest version using flatpak. I prefer desktop applications in Flatpak. so that I don't have to care about all the dependency that it comes with. If not flatpak. I would also be okay with Appimage.

tazihad avatar Oct 26 '22 10:10 tazihad

I would also love Flatpak for Silverblue

S7venLights avatar Nov 02 '22 14:11 S7venLights

+1 Flatpak for Silverblue

storopoli avatar Mar 17 '23 15:03 storopoli

@iMonZ, @Danik1601, and @dbbvitor why the downvotes

Rexadev avatar Mar 17 '23 17:03 Rexadev

@Rexadev Not one of the tagged people, but the reason might be because what you said simply is not true:

  • how could native packages be slower than Appimage? Flatpak runs normally as well, Snap not so much, true.
  • it's not centralized since you can host your own Flatpak repository and there are already some out there (e.g. Fedora Flatpaks)
  • they are both completely open, Flatpak is LGPL and Appimage MIT

It's a fine packaging format by itself, but one I think causes more headaches for the end user who has to seek the way to search, install and update them on their own

quazar-omega avatar Mar 17 '23 20:03 quazar-omega

  • how could native packages be slower than Appimage? Flatpak runs normally as well, Snap not so much, true.

https://www.youtube.com/watch?v=OftD86RgAcc https://www.youtube.com/watch?v=Eh16w17BjZo https://www.youtube.com/watch?v=9HuExVD56Bo https://www.youtube.com/watch?v=1lLZ-59xH3Y

  • it's not centralized since you can host your own Flatpak repository and there are already some out there (e.g. Fedora Flatpaks)
  • they are both completely open, Flatpak is LGPL and Appimage MIT

It's a fine packaging format by itself, but one I think causes more headaches for the end user who has to seek the way to search, install and update them on their own

flatpak has proprietary components and a littler more centralized than AppImages. iirc people can't just give out .flatpak on thier website

Snap is very closed and Un-Linux - https://itsfoss.com/flatpak-vs-snap/#:~:text=However%2C%20the%20back%2Dend%20of%20the%20snaps%20is%20proprietary%20and%20controlled%20by%20Canonical%20without%20any%20community%20involvement.

Rexadev avatar Mar 18 '23 07:03 Rexadev

https://www.youtube.com/watch?v=OftD86RgAcc

That has nothing to do with the packaging format itself, it's the fault of what was put into the package, i.e. how the binaries for libraries and ultimately the application were built, if you favor speed over everything then sure, you'll try to use the fastest application as it was packaged (which would vary on an app by app basis), or you could go ahead and install everything from source with all optimizations enabled, does that mean you would use gentoo? If so, all power to you, but package managers are useful because they are convenient.

iirc people can't just give out .flatpak on thier website

You can distribute a .flatpak (Black Box for example), but it will still need to pull runtimes if it depends on them, so it makes little sense in practice to distribute them outside of a flatpak remote, the point is that it is not completely self contained so you can save space on the biggest part that could be shared between applications

more centralized than AppImages

If you mean that the large majority of apps is on Flathub, sure, but it's not the only remote as I said, if you mean that you have to depend on any remote at all then yes, that's the point. There's nothing wrong with the developer distributing their package from their own website, but, as I see it, it's ok as an option, if you used only Appimages you would be wasting a lot of space in the long run

flatpak has proprietary components

I haven't read anything about it, so I can't comment on that, as far as I knew it's completely open, do you have a source for that claim?

About Snap, I completely agree, though in this case it might be a fit format for the application since it needs a service, it's still relevant mostly for Ubuntu and not much else so personally I would want to see the others being prioritized, but I understand that Ubuntu has a big slice of the market so it'd make sense to focus on that first.

I want to make clear that I'm not against any of the formats suggested, but I want to see the facts laid out fairly

quazar-omega avatar Mar 18 '23 12:03 quazar-omega

Flatpak would be the best choice as it's supported everywhere. Snap and AppImage are not, especially on immutable oses. For instance, it's not possible to run Snap apps on MicroOS, and AppImage is not encouraged on MicroOS.

I believe Flatpak is also the recommended method on Silverblue. Even on a normal distribution, Flatpak is also a recommended package as it's more secure(with Flatseal at users' deposal), automatically updated, and doesn't require a system restart(when updated). It is not impacted the app performance like Snap.

The only obstacle would be the app requirements that Flatpak might not be the answer (yet).

(I plan to move from Tumbleweed to MicroOS soon 🤣 )

archerallstars avatar May 02 '23 22:05 archerallstars

Nowadays Flatpak (Flathub) is a really solid choice. It would reach out to many people and make portmaster more accessible, therefore reducing mass surveillance.

RaptaG avatar Jul 21 '23 08:07 RaptaG

Closing in favor of separate issues:

Flatpak support is handled in https://github.com/safing/portmaster-packaging/issues/43. MSI support is handled in https://github.com/safing/portmaster-packaging/issues/98.

We will look into snap again if flatpak worked out.

dhaavi avatar Aug 31 '23 12:08 dhaavi

+1 Flatpak for Silverblue

Script to install on Immutable Fedora: https://gist.github.com/WinkelCode/dffeb181a4c7903cbc463169324f61b8

S7venLights avatar Sep 14 '23 08:09 S7venLights