70cdf3865a0de3214fc9e26fbdada4b0cb413c46
Refactor, unify and improve the logic to to start/stop and
enable/disable services, and also add more documentation.
Rework functions:
- Unify way of disabling Windows services using templating.
- Capitalize as `startupMode` (where startup is single word) everywhere.
- Use also text parameters (automatic, manual..) instead of numeric
values (2,3...) when providing parameters to any service disable
function.
Improve documentation:
- Add reference URLs about disabled services.
- Add more code documentation for querying status and allowed values.
Logic improvements include:
- Check if service is running before stopping/starting the service.
- Do not start the service it's not an Automatic service.
- Check whether service is already disabled.
- When reverting, start the service if it has Automatic startup. But
do not start the service it has different startup (e.g. manual).
Also starts the service even though start up is configured as
desired (before it quit before doing service start).
Improve outputs (logs):
- Remove false-positive error messages.
- When a service cannot be stopped/start; mention in output that the
service will be started/stopped after reboot.
- Show success message once service is enabled/disabled.
- Fix reboot messages when enabling/disabling services,
- Do not write stderr if service cannot be stopped/started as it's not
not the main goal of the function.
Add missing revert code for the ones missing them:
- Disable diagnostics telemetry
- Disable Windows Media Player Network Sharing Service
> Function: DisableServiceInRegistry
- Fix not exitting if service does not exist when reverting
- Show success message once service is enabled/disabled
- Fix double "Enabled.." messages
- Fix unintended registry addition
> Function: DisablePerUserService
- Change implementation to call DisableServiceInRegistry.
- Fix both services are skipped if one of them fails.
- Fix reverting a service sets wrong startup mode.
privacy.sexy
Enforce privacy & security best-practices on Windows and macOS, because privacy is sexy 🍑🍆
Get started
- Online version at https://privacy.sexy
- 💡 No need to run any compiled software on your computer.
- Alternatively download offline version for Windows, macOS or Linux.
- 💡 Single click to execute your script.
- ❗ Come back regularly to apply latest version for stronger privacy and security.
Why
- Rich tweak pool to harden security & privacy of the OS and other software on it
- Free (both free as in beer and free as in speech)
- No need to run any compiled software that has access to your system, just run the generated scripts
- Have full visibility into what the tweaks do as you enable them
- Ability to revert (undo) applied scripts
- Everything is transparent: both application and its infrastructure are open-source and automated
- Easily extendable with own powerful templating language
- Each script is independently executable without cross-dependencies
Extend scripts
- You can either create an issue
- Or send a PR:
- Fork the repository
- Add more scripts in respective script collection in collections folder.
- 📖 If you're unsure about the syntax you can refer to the collection files | documentation.
- 🙏 For any new script, please add
revertCodeanddocsvalues if possible.
- Send a pull request 👌
Commands
- Project setup:
npm install - Testing
- Run unit tests:
npm run test:unit - Run integration tests:
npm run test:integration - Lint:
npm run lint
- Run unit tests:
- Desktop app
- Development:
npm run electron:serve - Production:
npm run electron:buildto build an executable
- Development:
- Webpage
- Development:
npm run serveto compile & hot-reload for development. - Production:
npm run buildto prepare files for distribution. - Or run using Docker:
- Build:
docker build -t undergroundwires/privacy.sexy:0.11.1 . - Run:
docker run -it -p 8080:80 --rm --name privacy.sexy-0.11.1 undergroundwires/privacy.sexy:0.11.1
- Build:
- Development:
Architecture overview
Application
- Powered by TypeScript, Vue.js and Electron 💪
- and driven by Domain-driven design, Event-driven architecture, Data-driven programming concepts.
- Application uses highly decoupled models & services in different DDD layers.
- 📖 Read more on • Presentation • Application
AWS Infrastructure
- It uses infrastructure from the following repository: aws-static-site-with-cd
- Runs on AWS 100% serverless and automatically provisioned using GitHub Actions.
- Maximum security & automation and minimum AWS costs are the highest priorities of the design.
GitOps: CI/CD to AWS
- CI/CD is fully automated for this repo using different GIT events & GitHub actions.
- Versioning, tagging, creation of
CHANGELOG.mdand releasing is automated using bump-everywhere action
- Versioning, tagging, creation of
- Everything that's merged in the master goes directly to production.
Description
Open-source tool to enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy
bloatwarebloatware-removalcleanupcybersecuritydebloatdebloaterdebotnetdomain-driven-designlinuxmacosprivacyprivacy-protectionprivacy-toolssecuritysecurity-hardeningsecurity-toolsecurity-toolstweaks-collectionwindows10windows11
Readme
32 MiB
Languages
TypeScript
91.5%
Vue
6.3%
JavaScript
0.9%
SCSS
0.8%
Python
0.4%



