{"id":15374626,"url":"https://github.com/ading2210/policyedit","last_synced_at":"2025-06-18T06:38:28.333Z","repository":{"id":233117001,"uuid":"786064401","full_name":"ading2210/policyedit","owner":"ading2210","description":"A Python program which is able to modify the device policies on a Chrome OS system. (WIP)","archived":false,"fork":false,"pushed_at":"2024-04-13T13:49:47.000Z","size":131,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T01:09:53.185Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/ading2210.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}},"created_at":"2024-04-13T10:12:10.000Z","updated_at":"2024-04-14T01:09:55.218Z","dependencies_parsed_at":"2024-04-14T01:09:55.033Z","dependency_job_id":"4ce064e3-2173-49aa-8ec6-d65daa6b311d","html_url":"https://github.com/ading2210/policyedit","commit_stats":null,"previous_names":["ading2210/policyedit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpolicyedit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpolicyedit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpolicyedit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpolicyedit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ading2210","download_url":"https://codeload.github.com/ading2210/policyedit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250285716,"owners_count":21405297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-01T13:59:12.541Z","updated_at":"2025-04-22T17:12:16.668Z","avatar_url":"https://github.com/ading2210.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chrome OS Policy Editor\n\nThis is a Python program which is able to modify the device policies on a Chrome OS system, based on [lilac](https://github.com/MercuryWorkshop/lilac).\n\n## Installation:\nYou must have Python 3 installed on Linux, with support for virtual environments and pip. \n\nClone this repository, and run the following commands:\n```\npython3 -m venv .venv\nsource .venv/bin/activate\npip3 install -r requirements.txt\n```\n\n## Usage:\n```\nusage: main.py [-h] {view,patch} ...\n\npositional arguments:\n  {view,patch}\n    view        Read the device settings without modifying anything.\n    patch       Patch an existing device policy file.\n\noptions:\n  -h, --help    show this help message and exit\n```\n\n### On Real Chrome OS:\n1. Make sure you are in developer mode and have rootfs verification off.\n2. Add `--disable-policy-key-verification` to the end of `/etc/chrome_dev.conf`.\n3. Edit `/etc/lsb-release` to change the release channel to `testimage-channel`.\n4. Run `main.py` with the correct arguments, specifying any policy files that are in `/var/lib/devicesettings/`.\n5. Copy the public key to `/var/lib/devicesettings/owner.key`.\n6. Overwrite the original policy files with the patched versions.\n\n### On Linux-ChromiumOS:\n1. Locate the user data directory (this defaults to `~/.config/chromium`) or explicitly set it with `--user-data-dir=DATA_DIR`.\n2. Run `main.py`, specifying the policy file at `DATA_DIR/stub_device_policy`.\n3. Overwrite the original policy with the patched version.\n4. Copy the public key to `DATA_DIR/stub_owner.key`.\n\n## Copyright:\n\nThis repository is licensed under the GNU GPL v3.\n\n```\nading2210/policyedit - A program to modify Chrome OS device policies\nCopyright (C) 2024 ading2210\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fading2210%2Fpolicyedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fading2210%2Fpolicyedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fading2210%2Fpolicyedit/lists"}