undergroundwires / privacy.sexy

Open-source tool to enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy
https://privacy.sexy
GNU Affero General Public License v3.0
4.12k stars 174 forks source link

[Feature]: Installing Recommmended Apps #391

Open plantindesk opened 3 months ago

plantindesk commented 3 months ago

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 or Invoke-Request to install the recommended apps.

Operating Systems

Mac, Windwos, Linux

References

Prism Break

femdiya commented 2 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.

undergroundwires commented 2 months ago

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.

plantindesk commented 2 months ago

@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.

undergroundwires commented 2 months ago
  1. Should we install only privacy software, like cleaners, adblockers, etc.
  2. Should we install privacy-friendly software including 7zip etc. you mentioned.

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..

plantindesk commented 2 months ago

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

exe

MSI Files

MSI's silent install standard command line parameters are as follows:

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.

References

Advanced Installer

undergroundwires commented 2 months ago

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:

plantindesk commented 2 months ago

exe exe

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 😄 )

undergroundwires commented 2 months ago

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.

plantindesk commented 2 months ago

Linux & Windows

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:

macOS

I don't have much idea about MacOS so we need to research more

undergroundwires commented 2 months ago

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.

plantindesk commented 2 months ago

@undergroundwires Agreed

plantindesk commented 1 month ago

@undergroundwires Got some softwares

https://m.youtube.com/watch?v=e5dhaQm_J6U