You have probably invested a lot of time and effort into this, so please take this as constructive criticism.
Your security systems are probably not going to be sufficient, for a whole number of reasons.
Script Voting
The general public is not able to appropriately audit shell scripts. This extends even to sysadmins and more technical people. The people who can properly audit scripts are a minority, and they may not even be amongst your user base. Anyone who gets a script that “does its job” is going to upvote it as fine, because they may not even be aware of its malicious side effects.
Scripts will naturally need to evolve over time, so script updates will be a normal part of your system. Will the votes reset for new versions? Is there anything stopping someone uploading farming votes with valid scripts, and then backdoor the script once it gets sufficiently popular?
Is there any form of vote manipulation prevention planned? If not, bad actors can create an army of accounts and upvote their malicious content. Can you remove a users votes if they are found to be acting maliciously? Will it even be possible for you to tell the difference between a naive user who doesn’t understand the maliciousness of the script, versus an account actively increasing the rating of a bad package?
User Reputation
This seems easy to game as well. Upload a host of valid scripts, gain reputation, and then when ready, upload malicious scripts.
Collaboration
Allowing non-maintainers to edit and upload scripts seems like a wildly bad idea. There must be some level of maintainer approval for that right? Still will have the same issues, easy for someone to build trust on a script repo and then exploit it when it suits them.
None of these issues are unique to your site, pypi, dockerhub etc have all hit these issues in the past.
I think the only real answer is to have very strong human moderation, but I fear that if your site takes off, the workload will rapidly spiral out of control. Otherwise, interesting idea, Good Luck!
Thank you for the feedback. I think I will remove the voting system for now while I figure out of solution. I will probably not be adding the user reputation system, unless I figure out a way to do it without facing the problems you have mentioned. As for collaboration, I will add a feature allowing app maintainers to set whether or not non-maintainers can add scripts without maintainer permission. Thank you again for the feedback, it was very useful!
It does have a discussion system at the moment where you can comment on a script, but there is no system to rate the script and have the total of all the ratings combined.
Have you considered some form of CI? I.e: Spin up a VM, run the script, reboot, report what changed? Might be a little expensive, but could help auditing?
I have, but I think it would be a bit too expensive on my VPS, but might use it if my site ever catches on. I have also considered using something like Try, but it isn’t a full sandbox.
Very understandable. And from a security standpoint not necessarily indicitive of anything. A good malicious script would just check its environment first.
I wholeheartedly agree, yet this is the same for stuff like the AUR, every PPA, or even just blindly copy & pasting inductions from some blog - all of which are very popular. (Just to name some examples that are closer to what op wants to do).
I still wouldn’t use scripts from a random dump site because they are just likely to mess up the os with junk and cruft that will be there forever. But fundamentally from a security point of few its not necessarily worse than what many are doing - simply because it doesn’t get worse than blindly executing stuff from sources missing the reputation to justify trusting them.
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.
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
It seems multiple Linux distributions are considering to update their x86-64 baseline architecture. This could improve performance, at the cost of hardware compatibility.
If it’s only on YouTube then it could be a non-chrome browser issue and/or youtube being messed up from the anti ad-blocker stuff. YouTube has been very glitchy over the past month and even so for the past couple of weeks.
No, it was the secure boot setting. Almost everything worked well enough with it off. However, not well enough for me not to go back to windows. Oh well, maybe in another 10 years.
Now that they’re working on it, I’m interested in seeing how well Wayland in Cinnamon works. Hopefully it can fix some tearing and stuttering issues in my mixed refresh rate multimonitor setup.
Will also be interesting to see how the landscape with Windows goes, especially considering I’m picking up traces of discontent in their ranks. I think Valve’s actions will probably cause them to sit up and pay attention.
The point is not to have the script directly install the program (e.g. getting the binary, putting it where it needs to be, and making a desktop file), but to have the script be used as a wrapper for any of the methods you mentioned above. This would allow for a more consistent installing experience, and in the future, a unified CLI. It would also be better for the reasons mentioned in my post.
I cant put my finger on it but linux does not feel as snappy as windows. I use Linux 100% now but when I am fixing something on a windows machine I notice a certain smoothness that I don’t notice on linux.
Windows preloads the entire desktop it seems, before logging in. That is pretty great. Apps starting is the same, just more bloat often. Flatpaks make it more equal though. Firefox does some nice UI-preloading too, and FF on Windows is actually more secure than on Linux ironically.
So there are things to fix, but comparing breaking windows updates to never breaking and way faster immutable rpm-ostree updates, while you use the system normally, its worlds.
It’s the UI setup. All DE/WM combinations are, and have been, factually inferior to Windows Explorer in terms of optimization, clarity and animation.
Which may or may not be because of their excessively modular structure and fractured development. Each layer has its own opinionated dev team unlike in Microsoft or Apple, where it’s all synchronised and everyone across the board have (at least at the time of development) a clear vision of the product they want to make.
I think windows may win in the little animations but clarity fuck no. Windows is a mess. Opening the start menu on windows feels like a popup ad. Apple though does have good animations and ui clarity so I can’t knock them.
Interesting because I’ve had the opposite problem historically. Windows always seemed to be doing random shit in the background, doing what? I can’t tell you but it always seemed to be using the disk or CPU to do some background process, and it always happened, every day at random times oops disk churn. You’ll notice it the most with a regular hard drive because it’s slow and makes noise when its being accessed (vs. an ssd which is silent)
I’d wager that it’s your scheduler. Prior to the latest kernel release (v6.6), Linux used the CFS scheduler which is outdated and not really optimal for desktop usage. As a result, many third-party alternate schedulers were developed to fix this issue, with the most recent popular ones being the System76 scheduler (used in Pop!_OS), and BORE (used in CachyOS). But this issue has been solved officially now, with the EEVDF scheduler (earliest eligible virtual deadline first scheduling), which has finally replaced CFS.
So if you’re not on 6.6, upgrade to it, or use the System76 scheduler. Also switch to Wayland if you haven’t already and you’ll notice your Linux desktop just as smooth, if not smoother, than Windows.
I have an M1 MacBook Air and a Thinkpad Z13 G1 (running Bazzite KDE with kernel 6.6.3 + System76 scheduler), and comparing the touchpad gestures and window animations side-by-side - especially the gestures and animation to switch workspaces - it’s just as smooth as macOS (at least to my eyes), and that’s quite the feat given that macOS has been the king of smooth animations and responsiveness for a long time.
I cant abandon KDE because I like it way to much. I have a powerful computer and I feel like linux is to optimized. Sometimes I just want programs to use as much resources as they need to run perfectly.
I think once I move over to wayland I will feel that snappiness.
Isn’t vanilla KDE Plasma faster and less resource-intensive than Cinnamon?
The Mint devs present the XFCE option as a “more lightweight” alternative to the Cinnamon option, and Plasma has been more efficient than XFCE for over three years now.
Framasoft is good at coding but not so good at marketing, usability testing or philosophy.
I want Peertube to be a thing but Its just not build on a study organization. It would be better if piped or invidious started federating like peertube.
I mean, they can start federating, nothing but time and money is stopping them most likely. Maybe you could drive an effort in their respective developer communities to get the ball rolling?
What’s so special about plasma 6? Currently on plasma 5 and like it. Don’t really know too much it can improve on besides reliability and the desktop being more usable and easy to use.
I’m hoping for COSMIC to come out. It looks so promising and the fact that they implemented the panels using wlr-layer-shell is so great. I think more desktop environments should do this for interoperability
linux
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.