{"id":17248103,"url":"https://github.com/kakra/gentoo-cgw","last_synced_at":"2026-05-15T20:32:19.736Z","repository":{"id":66462721,"uuid":"148519925","full_name":"kakra/gentoo-cgw","owner":"kakra","description":"A wrapper to jail browsers into a resource slice for Gentoo Linux","archived":false,"fork":false,"pushed_at":"2020-04-17T11:15:08.000Z","size":15,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-08T16:54:41.200Z","etag":null,"topics":["browser","cgroups","chrome","gentoo","vivaldi","wrapper"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kakra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-09-12T17:55:25.000Z","updated_at":"2022-11-25T15:41:15.000Z","dependencies_parsed_at":"2023-07-03T12:45:53.193Z","dependency_job_id":null,"html_url":"https://github.com/kakra/gentoo-cgw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kakra/gentoo-cgw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakra%2Fgentoo-cgw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakra%2Fgentoo-cgw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakra%2Fgentoo-cgw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakra%2Fgentoo-cgw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kakra","download_url":"https://codeload.github.com/kakra/gentoo-cgw/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kakra%2Fgentoo-cgw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33078899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","cgroups","chrome","gentoo","vivaldi","wrapper"],"created_at":"2024-10-15T06:40:01.257Z","updated_at":"2026-05-15T20:32:19.718Z","avatar_url":"https://github.com/kakra.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Gentoo Cgroup Wrapper for Browsers\n==================================\n\nThis repository contains a simple cgroup wrapper to put applications into their\nown systemd slice to limit their resource usage. This is especially useful\nbecause modern browsers tend to dominate the file system cache for their own\ncontinuous IO usage (caching, libraries). It is also possible to limit\nrunaway CPU usage with this. Systems with long running browsers sessions and\na lot of open tabs can greatly benefit from this and system responsiveness\nis restored.\n\nTo do this, we hook the portage installation functions to rename the\noriginal application launcher, put a wrapper script instead which then calls\nthe original executable through systemd-run.\n\nIt also provides systemd slices where you can adjust the limits.\n\nCurrently supported browsers:\n\n  * Firefox Stable (www-client/firefox-bin)\n  * Google Chrome Stable (www-client/google-chrome)\n  * Vivaldi Stable (www-client/vivaldi)\n\nAdding more applications is as simple as:\n\n1. Find which scripts start the application in your .desktop files\n   (/usr/share/applications)\n2. Add these to bashrc.cgroup-wrapper\n3. Reinstall the package\n\n\nPrerequisites\n-------------\n\nThe system must run and boot with systemd. At login, pam must spawn a user\nsystemd instance because we create a resource slice in it to jail the\nbrowser into.\n\n\nInstallation\n------------\n\nPlace the contained files in your file system and source the portage hooks\ninto portage's bashrc. Then reinstall one of the supported applications.\n\nYou can run `make install` to do the copying. You'd still need to properly\nhook into portage and reinstall packages.\n\n\nUninstallation\n--------------\n\nRemove the bashrc hook from portage and reinstall your applications, then\nremove the remaining files.\n\n\nContribute\n----------\n\nClone the repository, add your changes and send a pull request.\n\n\nDisclaimer\n----------\n\nUse as-is and use at your own risk.\n\n[//]: # ( vi: set tw=76: )\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkakra%2Fgentoo-cgw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkakra%2Fgentoo-cgw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkakra%2Fgentoo-cgw/lists"}