{"id":20450056,"url":"https://github.com/ooni/probe-web","last_synced_at":"2025-08-27T13:17:39.883Z","repository":{"id":38820951,"uuid":"362098980","full_name":"ooni/probe-web","owner":"ooni","description":"Measure website blocking in your browser","archived":false,"fork":false,"pushed_at":"2023-03-23T17:26:19.000Z","size":33053,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-08-06T07:39:18.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://probe-web.ooni.org/","language":"JavaScript","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/ooni.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}},"created_at":"2021-04-27T12:09:48.000Z","updated_at":"2023-08-10T20:52:13.000Z","dependencies_parsed_at":"2023-02-09T11:47:34.569Z","dependency_job_id":"7260ba5b-8cc0-4f42-8aae-d509aed37411","html_url":"https://github.com/ooni/probe-web","commit_stats":{"total_commits":63,"total_committers":3,"mean_commits":21.0,"dds":0.06349206349206349,"last_synced_commit":"696fe4213d53b69a4fb256951b04be2982813b71"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ooni/probe-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ooni%2Fprobe-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ooni%2Fprobe-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ooni%2Fprobe-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ooni%2Fprobe-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ooni","download_url":"https://codeload.github.com/ooni/probe-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ooni%2Fprobe-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272335510,"owners_count":24916470,"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","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-15T10:50:06.552Z","updated_at":"2025-08-27T13:17:39.846Z","avatar_url":"https://github.com/ooni.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OONI Probe Web\n\nThis is a web based measurement instrument for detecting some forms of web\nbased censorship.\n\nIt is not meant to be a full replacement of [OONI\nProbe](https://github.com/ooni/probe) on desktop or mobile, but rather\ncomplements these datasets with an approach that is simpler to run for end\nusers.\n\nPrior work exists on how to measure censorship from the web browser. The first\nappearance of this method is [credited to Dan\nKaminsky](https://twitter.com/dakami/status/191632765412839424) with\n[CensorSweeper](https://www.slideshare.net/dakami/black-ops-2012).\nThis methodology was further expanded upon by\n[Sam Burnett et. al](https://arxiv.org/pdf/1410.1211.pdf)\nwith a tool called [Encore](https://github.com/sburnett/encore).\n\nAt the base the idea is pretty simple, you load a bunch of invisible (or\nvisible in the case of CensorSweeper) `img`, `iframe` or `script` tags inside\nof the measurement web page and register the `load` or `error` event listeners.\nThe `load` event will tell you if the resource in question is accessible, while\nthe `error` event will tell you if it's being interfered with.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fooni%2Fprobe-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fooni%2Fprobe-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fooni%2Fprobe-web/lists"}