privacy.sexy

Enforce privacy & security best-practices on Windows, because privacy is sexy 🍑🍆

contributions welcome
Language grade: JavaScript
Maintainability
Tests status
Quality checks status
Security checks status
Bump & release status
Deploy status
Auto-versioned by bump-everywhere

Get started

privacy.sexy application

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

Extend scripts

  • Fork it & add more scripts in application.yaml and send a pull request 👌
  • 📖 If you're unsure about the syntax you can refer to the application file | documentation.
  • 🙏 For any new script, please add revertCode and docs values if possible.

Commands

  • Project setup: npm install
  • Testing
    • Run unit tests: npm run test:unit
    • Lint: npm run lint
  • Desktop app
    • Development: npm run electron:serve
    • Production: npm run electron:build to build an executable
  • Webpage
    • Development: npm run serve to compile & hot-reload for development.
    • Production: npm run build to prepare files for distribution.
    • Or run using Docker:
      1. Build: docker build -t undergroundwires/privacy.sexy:0.8.1 .
      2. Run: docker run -it -p 8080:80 --rm --name privacy.sexy-0.8.1 undergroundwires/privacy.sexy:0.8.1

Architecture

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

DDD + vue.js

AWS Infrastructure

AWS solution

  • 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.md and releasing is automated using bump-everywhere action
  • Everything that's merged in the master goes directly to production.

CI/CD to AWS with GitHub Actions

Edit Report
Pub: 03 Dec 2020 09:10 UTC
Views: 23