{"id":16616498,"url":"https://github.com/parazyd/protecc","last_synced_at":"2025-03-23T14:31:16.198Z","repository":{"id":37846401,"uuid":"347940381","full_name":"parazyd/protecc","owner":"parazyd","description":"Linux kernel module to fight against police terror","archived":false,"fork":false,"pushed_at":"2021-08-29T16:20:56.000Z","size":10,"stargazers_count":28,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T21:09:35.735Z","etag":null,"topics":["kernel-module","killswitch","linux-kernel","linux-security","physical-security","police-terror"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parazyd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-15T11:20:44.000Z","updated_at":"2024-10-23T20:30:09.000Z","dependencies_parsed_at":"2022-08-19T23:11:24.358Z","dependency_job_id":null,"html_url":"https://github.com/parazyd/protecc","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazyd%2Fprotecc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazyd%2Fprotecc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazyd%2Fprotecc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parazyd%2Fprotecc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parazyd","download_url":"https://codeload.github.com/parazyd/protecc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245115788,"owners_count":20563236,"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":["kernel-module","killswitch","linux-kernel","linux-security","physical-security","police-terror"],"created_at":"2024-10-12T02:13:16.892Z","updated_at":"2025-03-23T14:31:15.440Z","avatar_url":"https://github.com/parazyd.png","language":"C","readme":"# protecc\n\nprotecc is a Linux kernel module that will shut down your computer when\na predefined USB device is removed from the system.\n\nIt is based on [silk-guardian](https://github.com/NateBrune/silk-guardian)\nwhich itself is based on [usbkill](https://github.com/hephaest0s/usbkill).\nHowever, it operates in an inverse way to its predecessors: instead of\npanicking based on any USB activity, protecc is designed to only watch\nfor the removal of one defined USB key before going into panic mode.\n\n## Installation\nFirst edit `config.h` with your preferred setings. Most importantly,\nmake sure you set your chosen USB's device ID correctly. Then compile\nand install the kernel module:\n\n```shell\nmake\ninsmod protecc.ko\n```\n\n## Why?\n\nhttps://web.archive.org/web/20180613183514/https://www.ccn.com/fbi-illegally-stole-ross-ulbrichts-laptop-brought-silk-road/\n\n\n## Usage\n\nUsing protecc properly requires some physical availability to remove\nthe USB key even when distracted, or the device is being forcefully\nremoved from you.\n\nIn theory, it is possible to have a USB device tied around your wrist\nwith some wire or string and then forcefully shut down the computer by\nmoving your arm - making the USB device unplug.\n\n\n## Feature List\n\n- Shutdown the computer when chosen USB key is removed.\n- Remove files before shutdown.\n- Secure deletion of chosen files before shutdown.\n- No dependencies.\n\n\n## Future extension ideas (exclusive and/or optional)\n\n- Verification\n  - Perhaps some change of USB identify over time\n  - Status bits in USB can be changed for steganography\n  - All states in USB can be used to make sure the device is the true device\n- Timetracking (allow only certain time of day when the device is allowed\n  to be attached, for a certain amount of time)\n- The device should be disconnected for a certain amount per day\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparazyd%2Fprotecc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparazyd%2Fprotecc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparazyd%2Fprotecc/lists"}