Open plantindesk opened 4 months ago
Nice suggestion, I think that we could use some sorts of apps (other than winget, still, winget is a good option) to get this done like Ninite (never used it before) https://ninite.com/ Edit: We could use other "package-manager" solutions too, like choco, scoop and other ones. But if the projects goal is to keep system de-bloated as much as possible, I think it's best to stick with winget. Just giving suggestions.
I'm fine with it. How do we know what software gets allowed and what not? There are many software outdated. We need to prepare a guidelines such as open-source only, Free only, Last updated in recent 2 years etc.
@undergroundwires Open-source software programs are generally trustworthy. Therefore, we should recommend only open-source software. Additionally, we can track their releases using the GitHub API.
We can iterate each package manager and install whether they exist like: 1) scoop
2) choco
3) winget
... If none: Show error saying no package manager was found.
I'm also thinking that we should not recommend these on "Standard" or "Strict" as most users run these blindly, and it's unexpected see software being installed automatically. If we do not document them, when we have #342 in next version, they'll be seen as Red, like high/impact on system stability, which probably a wrong risk level. Not sure how to work around this..
We can choose both options, and there is no need to categorize these software applications into the Standard and Strict categories, as users can manage this manually when they want to.
Additionally, if we are unable to find any package managers, we can use PowerShell's Invoke-WebRequest
to download executable files and run them in quiet mode.
EXE Files
Here is an example of EXE files
MSI Files
MSI's silent install standard command line parameters are as follows:
qb+!
or qb!+
to hide the [ Cancel ] button./qb+-
is not a supported UI level. Use qb-!
or qb!-
to hide the [ Cancel ] button.Portable Softwares
We can download portable software by referring to Scoop's repository, but not all software provides portable versions, and users need to manually update these programs. Additionally, many software updates are important because they include critical security patches.
Installing Package Manager
We can install package managers without admin privileges, and install softwares.
Installing MSI etc.: What if the package owner changes the URL? What if someone distributes a malware through the URL? What if someone in the middle changes the downloaded file (need SHA verification)? It's not worth the risks and effort to become a some kind of package manager through MSI and manual downloads. I think this too much.
Yes, we should not install any package managers, it's too intrusive, just skip the action if there's none.
And I guess we will just uninstall the installed software on revert using every package manager.
Questions:
Q: What if the package owner changes the URL? What if someone distributes a malware through the URL? Soln: Github/Gitlab/SourceForge URL
We just need to stay updated as it will come on news too like AlternativeTo
If we do not recommend these on presets (which we will not), they'll become RED after https://github.com/undergroundwires/privacy.sexy/issues/342. Do you think its good? Ans: Nope
What would be the best name for the category? It should be user-friendly and simple. I guess using the word "app" is more friendly than "software". So something like "Install privacy apps"? "Install privacy-friendly apps"? Ans: Recommended Apps (Its Your Choice 😄 )
Thanks for the feedback. Naming sounds good. Now we need to come up with an application list. Extending on your initial suggestion, would you be able to suggest at least 8 apps for each platform: Linux/Windows/macOS so we can roll this out for all of these OSes. And 1-2 sentences justifying why they're recommended in privacy context?
We need to the write script for installing them, find their package IDs etc. and create some docs but I can take it from there.
When working with Linux, it’s crucial to identify the specific distribution that is being used by the user, as different distributions rely on various package managers. For example, we might encounter apt
, dpkg
, dnf
, yum
, pacman
, yay
, among others.
Essential Software Recommendations:
I don't have much idea about MacOS so we need to research more
Scripts are now: Standard, strict or nothing. According to #342 design, this will be green, yellow, red. I guess we need one more state/definition which we can mark with blue color. And these should never be included when user selects "All", I do not think that anyone wants to install a lot of software on their computer based on someone else's preselection.
@undergroundwires Agreed
@undergroundwires Got some softwares
My stand on privacy.sexy is that it feels like it should stay a privacy-tweaking script rather than a "after-format setup manager."
Adding functionality that will make the project less maintainable for a problem that doesn't exist in a privacy.sexy context does not make sense to me. I mean, if the developer is down to do it, go ahead, but I myself wouldn't look for ungoogled chromium in privacy.sexy.
Problem statement
We can create another script that installs recommended apps such as 7zip (as most people use WinRAR), ungoogled-chromium, LibreWolf (an alternative to Firefox), and other software programs.
Proposed solution
We can use
winget
orInvoke-Request
to install the recommended apps.Operating Systems
Mac, Windwos, Linux
References