Hi, for the past few months I have been working on my website Installies. It is a site for managing, organizing, and retrieving shell scripts for use to install, remove, update or compile apps on Linux and Unix-based systems.

You might be asking why can’t you just use your system’s built-in package manager. While that will work for most apps there might be some problems with others:

  • Some apps might not be on your system’s package manager. This would make it so you might have to compile the app, which might be difficult for newer Linux users.
  • Apps you have to run through wine generally are not in package manager’s repositories. They also might need extra libraries that might be complicated to install.
  • There might be some weirder software that isn’t really an app, or is not traditionally installed on your computer e.g. TempleOS in a VM.
  • Some apps have different packages for similar versions of the app, so a script that lets you choose between all the options would make it easier to decide which one to install, such as QEMU.

As for script security, Installies has a voting and reporting system to help make sure that scripts are safe.

There are some design choices I am yet to make, so I would like your guy’s input. One of them is if app maintainers should be able to stop non-maintainers from creating scripts on apps. Please comment what you think (also any other feedback).

Future Plans
  • Utility Scripts: General purpose shell scripts.
  • CLI: This will allow for a universal interface to install things on Linux. It will also allow for easier use of Installies on servers.
  • Collaboration: Allowing multiple people to directly contribute to scripts without being a maintainer.
  • User ranking system: A system to rank users by how popular their scripts. This will make it easier for users to judge if a script is good without having to analyze the source.

As it is in beta, there will be many bugs. If you find any bugs please report them on the GitHub. Feedback and feature requests are also welcome.

Happy Scripting!

Links
  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Yup, there is a lot of prior art on how to get this wrong :(, and I dont know of any good solutions either. Curation and moderation are probably the best case, but arent bulletproof either.

    I raised this not to kill OPs project, but to make sure they go into it eyes open. I personally would be very uncomfortable if my website was being abused to distribute malware, so they deserve to at least be aware of the risks.

    • skilltheamps@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      I think one puzzle piece of improvement is flatpak:

      • It has a verification system, such that users can see which apps are packaged by their developers. For those apps, this eliminates the need to trust a separate maintainer entirely
      • It targets almost all linux distributions with a single package. This cuts down the packaging effort for covering the majority of the linux landscape so much, that the number of package maintainers required to be trusted collapses - in the ideal case to just the developers themselves as in the first bullet point
      • It makes use of sandboxing, so in case of a malicious app it (in theory) only has access to the stuff the user gave it permission to.

      In reality there’s a plethora of problems obviously:

      • verified apps are the minority
      • some people don’t like the additional storage needed for runtimes (although the more flatpaks you use the more runtimes can be shared and its overall impact gets smaller)
      • A lot of apps do not yet use all the portals, and require the classical full access to the system to work properly (in some cases the user can still remove some permission if certain features of the application are not needed by them though). This is just a question of ongoing development work, and hopefully we reach a point in the near future where a flatpak app without tied down permissions raises eyebrows