{"id":18690430,"url":"https://github.com/rgolangh/gnome-shell-extension-camera-indicator","last_synced_at":"2026-04-29T09:31:23.748Z","repository":{"id":71589068,"uuid":"315882596","full_name":"rgolangh/gnome-shell-extension-camera-indicator","owner":"rgolangh","description":"A Gnome Shell extension to indicate if a camera device is in use","archived":false,"fork":false,"pushed_at":"2023-10-02T08:23:50.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T22:03:02.047Z","etag":null,"topics":["camera","dbus","ebpf","gnome"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rgolangh.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-25T08:59:43.000Z","updated_at":"2021-08-14T11:08:44.000Z","dependencies_parsed_at":"2024-11-07T10:47:36.201Z","dependency_job_id":"07e2ae3a-4f24-4212-9e81-4adacaaaf801","html_url":"https://github.com/rgolangh/gnome-shell-extension-camera-indicator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rgolangh/gnome-shell-extension-camera-indicator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fgnome-shell-extension-camera-indicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fgnome-shell-extension-camera-indicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fgnome-shell-extension-camera-indicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fgnome-shell-extension-camera-indicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rgolangh","download_url":"https://codeload.github.com/rgolangh/gnome-shell-extension-camera-indicator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fgnome-shell-extension-camera-indicator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32419770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["camera","dbus","ebpf","gnome"],"created_at":"2024-11-07T10:47:32.687Z","updated_at":"2026-04-29T09:31:23.730Z","avatar_url":"https://github.com/rgolangh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Camera Indicator** is a gnome-shell extension that indicates when a camera or video devices is in use \n\nThis project is mostly exploratory to learn more about eBPF and DBUS but comes in handy for me to know when \nmy camera is on without me noticing.\n\n## Dependencies\nThis extension works by listening on DBUS events sent to it whenever a camera or video device is in use.\nTo monitor those kernel events I use eBPF to trace C open calls on /dev/videoX devices, and \nfor every trace event there is a DBUS method_call event sent on the session bus, to the extension.\n\n## Design\n```\n+-----------3. Gnome Shell Camera Indicator DBus object--------------+\n|              listends on a certain address on the                  |\n|              session bus, and toggles the indicator                |\n|              accordingly                                           |\n|                                                                    |\n|      +-----------2. eBPF trace in userspace-----------------+      |\n|      |           catches the trace events and               |      |\n|      |           emits a DBus event to the dbus             |      |\n|      |           address of the extension                   |      |\n|      |                                                      |      |\n|      |            +-----1. Kernel--------------+            |      |\n|      |            |     eBPF sens and events   |            |      |\n|      |            |     on each c:open call    |            |      |\n|      |            |     for /dev/videoX        |            |      |\n|      |            |                            |            |      |\n|      |            |                            |            |      |\n|      |            |                            |            |      |\n|      |            |                            |            |      |\n|      |            |                            |            |      |\n|      |            |                            |            |      |\n|      |            +----------------------------+            |      |\n|      +------------------------------------------------------+      |\n+--------------------------------------------------------------------+\n```\n  \n# Install using your browser \n\nSee the [gnome extensions page](https://extensions.gnome.org/extension/TODO/)  \n\n# Install from source\n\nCheckout `master` branch for latest available, or `gnome-shell-x.xx` for a specific version.\n\nClone, Pack, and Install\n\n```console\n$ git clone https://github.com/rgolangh/gnome-shell-extension-camera-indicator\n$ make all\n// relogin to wayland or on xorg reload gnome-shell with Alt+F2 and r\n```\n\nEnalble using `make enable` or using 'Tweaks' -\u003e Extensions -\u003e toggle 'Containers'\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgolangh%2Fgnome-shell-extension-camera-indicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frgolangh%2Fgnome-shell-extension-camera-indicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgolangh%2Fgnome-shell-extension-camera-indicator/lists"}