Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Installing Recommmended Apps #391

Open
plantindesk opened this issue Jul 28, 2024 · 13 comments
Open

[Feature]: Installing Recommmended Apps #391

plantindesk opened this issue Jul 28, 2024 · 13 comments
Labels
enhancement New feature or request

Comments

@plantindesk
Copy link

plantindesk commented Jul 28, 2024

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

@plantindesk plantindesk added the enhancement New feature or request label Jul 28, 2024
@femdiya
Copy link

femdiya commented Jul 31, 2024

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
Copy link
Owner

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
Copy link
Author

@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
Copy link
Owner

  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
Copy link
Author

plantindesk commented Aug 12, 2024

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:

  • /quiet - quiet mode (there is no user interaction)
  • /passive - unattended mode (the installation shows only a progress bar)
  • /q - set the UI level:
  • n - no UI
  • n+ - no UI except for a modal dialog box displayed at the end.
  • b - basic UI
  • b+ - basic UI with a modal dialog box displayed at the end. The modal box is not displayed if the user cancels the installation. Use qb+! or qb!+ to hide the [ Cancel ] button.
  • b- - basic UI with no modal dialog boxes. Please note that /qb+- is not a supported UI level. Use qb-! or qb!- to hide the [ Cancel ] button.
  • r - reduced UI
  • f - full UI

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
Copy link
Owner

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
Copy link
Author

plantindesk commented Aug 12, 2024

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 #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
Copy link
Owner

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
Copy link
Author

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:

  • BleachBit: A tool for cleaning up disk space and maintaining privacy.
  • Bulk Crap Uninstaller: A program designed to help with the removal of unwanted software (note: this tool is in need of a maintainer).
  • LibreOffice: A powerful open-source office suite.
  • Thunderbird: A versatile email client.
  • KeePassXC: A reliable password manager.
  • LibreWolf: A privacy-focused browser based on Firefox.
  • Ungoogled Chromium: A version of Chromium designed to maximize privacy.
  • Syncthing: A peer-to-peer file synchronization tool.
  • RiseUp VPN: A VPN service focused on privacy and security.

macOS

  • Thunderbird: A feature-rich email client.
  • Syncthing: For secure, decentralized file synchronization.

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

@undergroundwires
Copy link
Owner

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
Copy link
Author

@undergroundwires Agreed

@plantindesk
Copy link
Author

@Paladynee
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants