Enforce privacy & security best-practices on Windows, because privacy is sexy ππ
- Online version: https://privacy.sexy
- π‘ Come back regularly to apply latest version for stronger privacy and security.
- 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
- Easily extendable
- Everything is open-source and automated (both application and its infrastructure)
- Fork it & add more scripts in application.yaml and send a pull request π
- π More: extend scripts | CONTRIBUTING.md
- Project setup:
npm install
- Testing
- Run unit tests:
npm run test:unit
- Lint:
npm run lint
- Run unit tests:
- Desktop app
- Development:
npm run electron:serve
- Production:
npm run electron:build
to build an executable
- Development:
- Webpage
- Development:
npm run serve
to compile & hot-reload for development. - Production:
npm run build
to prepare files for distribution. - Or run using Docker:
- Build:
docker build -t undergroundwires/privacy.sexy:0.7.6 .
- Run:
docker run -it -p 8080:80 --rm --name privacy.sexy-0.7.6 undergroundwires/privacy.sexy:0.7.6
- Build:
- Development:
- 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.
- Domain layer is where the application is modelled with validation logic.
- Presentation Layer
- Consists of Vue.js components and other UI-related code.
- Desktop application is created using Electron.
- Event driven as in components simply listens to events from the state and act accordingly.
- Application Layer
- Keeps the application state
- The state is a mutable singleton & event producer.
- The application is defined & controlled in a single YAML file (see Data-driven programming)
- Keeps the application state
- 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.
- CI/CD is fully automated for this repo using different GIT events & GitHub actions.
- Versioning, tagging, creation of
CHANGELOG.md
and releasing is automated using bump-everywhere action
- Versioning, tagging, creation of
- Everything that's merged in the master goes directly to production.