This commit improves the revert script for store apps to handle scenarios where `Get-AppxPackage` returns multiple packages. Instead of relying on a single package result, the script now iterates over all found packages and attempts installation using the `AppxManifest.xml` for each. This ensures that even if multiple versions or instances of a package are found, the script will robustly handle and attempt to install each one until successful. Other changes: - Add better message with suggestion if the revert code fails, as discussed in #270. - Improve robustness of finding manifest path by using `Join-Path` instead of basic string concatenation. This resolves wrong paths being built due to missing `\` in file path. - Add check for null or empty `InstallLocation` before accessing manifest path. It prevents errors when accessing `AppxManifest.xml`, enhancing script robustness and reliability. - Improve error handling in manifest file existence check with try-catch block to catch and log exceptions, ensuring uninterrupted script execution in edge cases such as when the script lacks access to read the directory. - Add verification of package installation before attempting to install the package for increased robustness. - Add documentation for revertCode.
privacy.sexy — Now you have the choice
Enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy 🍑🍆
Get started
- 🌍️ Online: https://privacy.sexy.
- 🖥️ Offline: Download directly for: Windows, macOS, Linux. For more options, see here.
Online version does not require to run any software on your computer. Offline version has more functions such as running the scripts directly.
💡 You should apply your configuration from time to time (more than once). It would strengthen your privacy and security control because privacy.sexy and its scripts get better and stronger in every new version.
Features
- Rich: Hundreds of scripts that aims to give you control of your data.
- Free: Both free as in "beer" and free as in "speech".
- Transparent. Have full visibility into what the tweaks do as you enable them.
- Reversible. Revert if something feels wrong.
- Accessible. No need to run any compiled software on your computer with web version.
- Open. What you see as code in this repository is what you get. The application itself, its infrastructure and deployments are open-source and automated thanks to bump-everywhere.
- Tested. A lot of tests. Automated and manual. Community-testing and verification. Stability improvements comes before new features.
- Extensible. Effortlessly extend scripts with a custom designed templating language.
- Portable and simple. Every script is independently executable without cross-dependencies.
Support
Sponsor 💕. Consider sponsoring on GitHub Sponsors, or you can donate using other ways such as crypto or a coffee.
Star 🤩. Feel free to give it a star ⭐ .
Contribute 👷. Contributions of any type are welcome. See CONTRIBUTING.md as the starting point. It includes useful information like how to add new scripts.
Additional Install Options
-
Check the releases page for all available versions.
-
Using Scoop package manager on Windows:
scoop bucket add extras scoop install privacy.sexy
Development
Refer to development.md for Docker usage and reading more about setting up your development environment.
Check architecture.md for an overview of design and how different parts and layers work together. You can refer to application.md for a closer look at application layer codebase and presentation.md for code related to GUI layer. collection-files.md explains the YAML files that are the core of the application and templating.md documents how to use templating language in those files. In ci-cd.md, you can read more about the pipelines that automates maintenance tasks and ensures you get what see.
docs/ folder includes all other documentation.
Security
Security is a top priority at privacy.sexy. An extensive commitment to security verification ensures this priority. For any security concerns or vulnerabilities, please consult the Security Policy.
