Coder Social home page Coder Social logo

divestedcg / brace Goto Github PK

View Code? Open in Web Editor NEW
47.0 6.0 4.0 836 KB

Toolkit compatible with multiple Linux distros that allows for installation of handpicked applications, along with corresponding configs that have been tuned for reasonable privacy and security.

License: GNU Affero General Public License v3.0

Shell 42.35% JavaScript 57.65%

brace's Introduction

brace

Overview

Brace is a toolkit compatible with multiple existing Linux distributions that allows for a rapid installation of handpicked applications, along with corresponding configurations that have been fine-tuned for reasonable privacy and security.

Compatibility

  • Arch Linux
  • CentOS 9/Stream
  • Debian 12
  • Fedora 39/40 (preferred)
  • openSUSE Tumbleweed

License

AGPL-3.0-or-later where applicable

Prebuilts

Building

  • git clone [THIS REPO]
  • Arch Linux: makepkg
  • CentOS: rpmbuild -ba brace.spec
  • Debian: dpkg-deb --root-owner-group --build brace
  • Fedora: rpmbuild -ba brace.spec

Contents

  • /etc/apt/apt.conf.d/90-brace = apt: enable seccomp filter during package install
  • /etc/dconf/db/local.d/00-brace-* = GNOME/Cinnamon/MATE: change default settings
  • /etc/dconf/profile/user = Fixup dconf overrides on select distros
  • /etc/profile.d/brace-env-overrides.sh = profile: sets some environment overrides (eg. umask)
  • /etc/profile.d/brace-helpers.sh = profile: adds helper aliases (eg. cleaning functions)
  • /etc/tlp.d/00-brace.conf = TLP: allow for better power savings on AC too
  • /usr/lib64/firefox/browser/defaults/preferences/userjs-*.js = Firefox: change default settings
    • /usr/lib64/firefox/distribution/policies.json
    • /usr/lib64/thunderbird/defaults/pref/userjs-*.js
  • /etc/chromium/policies/managed/brace.json = Chromium: change default settings
    • /etc/opt/chrome/policies/managed/brace.json
  • /usr/lib/modprobe.d/brace.conf = kernel: disable/block unsafe modules
  • /usr/lib/modprobe.d/wireless-perf.conf = kernel: increase Wi-Fi performance for b43 and iwlwifi
  • /usr/lib/NetworkManager/conf.d/30-nm-privacy.conf = NetworkManager: enables MAC randomization and IPv6 privacy extensions and disables connectivity checks
  • /usr/lib/sysctl.d/60-restrict.conf = sysctl: set more restrictive defaults (dmesg, ptrace)
  • /usr/lib/systemd/system/*.service.d/99-brace.conf = systemd service unit sandboxing
  • /usr/lib/systemd/user/restic-backup@.* = systemd user unit for restic backups
  • /usr/lib/tmpfiles.d/99-brace-proc.conf = /proc: harden permissions
  • /usr/lib/tmpfiles.d/99-brace-sys.conf = /sys: harden permissions
  • /usr/bin/brace-supplemental-changes = change extra default settings
  • /usr/sbin/brace-enable-auto-updates = Fedora: automatic system updates using dnf-plugin-system-upgrade
  • /usr/sbin/brace-enable-rpmfusion = Fedora: enable RPM Fusion 'free' repos
  • /usr/sbin/brace-update-system = Fedora: helper to update to the next release
  • /usr/sbin/brace-installer = unified recommended package installer
  • /usr/sbin/brace-rpm-verify = RPM: verifies installed packages for corruption

Known Issues

  • A reboot is required on openSUSE after install for dconf changes to take effect.
  • Compatibility is best with Fedora, and that is the primary test-bed.
  • Restrictions on /sys/bus/scsi in 99-brace-sys.conf can break disc drive access by some programs.

Credits

Donate

brace's People

Contributors

skewedzeppelin avatar

Stargazers

 avatar  avatar Sensei De Elite avatar Konstantin avatar Sovereign Shadow  avatar Zephyr avatar Keyth M Citizen  avatar  avatar sunxyw avatar  avatar mce0 avatar winterknife avatar Elijah Wright avatar Sven Sackers avatar Lepras avatar 𝔄𝔩𝔒𝔱π”₯𝔦𝔬π”ͺ𝔒𝔱𝔒𝔯 avatar gigi avatar  avatar  avatar Robert W. Baumgartner avatar Laski avatar  avatar  avatar xe3 avatar STYLIANOS IORDANIS avatar 34N0 avatar  avatar  avatar  avatar Jaspreet avatar  avatar Anatoly Chernov avatar  avatar Larson T. avatar devops117 avatar  avatar plumbr avatar the8woodcutter avatar Lungoupao Khongsai avatar Igor avatar samsepi0l avatar  avatar Gabriel H. Nunes avatar Mike avatar Nikolaus Schlemm avatar  avatar Roberto Salas avatar

Watchers

Neustradamus avatar James Cloos avatar  avatar  avatar  avatar  avatar

brace's Issues

Can no longer access GNOME system monitor after installing brace

Hello,

Since I installed brace on my laptop, I can no longer access the system monitor from GNOME. I launched it from the terminal and here's what I got :

glibtop(c=27616): [ERROR] open (/proc/diskstats): Permission non accordΓ©e
zsh: IOT instruction (core dumped)  gnome-system-monitor

"Permission non accordΓ©e" means "Permission denied" by the way.

I think that could be linked to that config from /usr/lib/tmpfiles.d/99-brace-proc.conf:

z /proc/diskstats 0400 root root

Cannot install any extensions on Firefox

Hello,

I actually noticed after installing Firefox (from Fedora's repo, not Flathub/Flatpak) that I cannot install any extensions whatsoever. I noticed then that Brace blocked installations of all extensions apart from allowed ones like NoScript and Enhanced-h264ify.

Furthermore, I think that could be linked to the "ExtensionsSettings" policies visible from line 31 to 36 in :

https://github.com/divestedcg/Brace/blob/master/brace/usr/lib/firefox/distribution/policies.json

Thank you for fixing that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.