{"id":18810654,"url":"https://github.com/nymtech/censorshipmeasurements","last_synced_at":"2025-04-05T14:07:34.828Z","repository":{"id":183674037,"uuid":"670553943","full_name":"nymtech/CensorshipMeasurements","owner":"nymtech","description":"Censorship tests for the Nym network","archived":false,"fork":false,"pushed_at":"2025-02-03T12:26:27.000Z","size":4837,"stargazers_count":145,"open_issues_count":0,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-29T13:09:40.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/nymtech.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}},"created_at":"2023-07-25T10:04:25.000Z","updated_at":"2025-02-03T12:26:31.000Z","dependencies_parsed_at":"2024-06-21T19:11:27.426Z","dependency_job_id":"02af5a06-4516-45f4-a068-40011ac16d19","html_url":"https://github.com/nymtech/CensorshipMeasurements","commit_stats":null,"previous_names":["nymtech/censorshipmeasurements"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymtech%2FCensorshipMeasurements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymtech%2FCensorshipMeasurements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymtech%2FCensorshipMeasurements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymtech%2FCensorshipMeasurements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nymtech","download_url":"https://codeload.github.com/nymtech/CensorshipMeasurements/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345853,"owners_count":20924102,"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-11-07T23:21:35.546Z","updated_at":"2025-04-05T14:07:34.811Z","avatar_url":"https://github.com/nymtech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Censorship Measurement of the Nym network\n\n## OONI-Probe tests for the Nym network\n\nThis repository introduces a new type of Go test for Nym network censorship. Our tests are performed using the [OONI probe](https://ooni.org/).\n* First, the test evaluates the connectivity to the to the validator API, which is a necessary step to allow users access to the Nym network, as it allows the Nym client to retrieve vital information such as the list of active relay nodes,\ngateways, their topology, and the necessary credentials for network access.\n* After successfully fetching the list of available gateways in the initial test,\na second test is conducted to determine the reachability of these gateways.\nSince the Nym network topology mandates that packets are routed through\na gateway before entering the mixnet, being able to connect to at least one\ngateway is crucial for network access. To assess this, the test attempts to\nestablish connections with each gateway individually.\n\n## Requirements\nTo be able able to run the tests, you should have `docker`  and `docker-compose` installed. You can follow [this procedure](https://docs.docker.com/desktop) to install docker desktop which contains `docker` and `docker-compose` and a GUI to manage docker. Once installed and running, you can run the docker tests.\n\n## How to run the tests ?\n\nFrom the command line, enter the `CensorshipMeasurements` folder by running the command\n```\n  cd CensorshipMeasurements\n```\n\nand run in the command line (note, your `Docker` desktop app should be open at this point)\n\n```bash\ndocker-compose up\n```\nBy using `docker-compose`, it will build the image, install the requirements inside the image, compile the binaries for the test and run the test. The result will be in the directory `./results` in file `report.jsonl`.\n\nTo force to build again each time, you can do\n\n```bash\ndocker-compose up --build\n```\n\nPlease share your `report.jsonl` with us.\n\n## Licensing and copyright information\nThis program is available as open source under the terms of the Apache 2.0 license.\n\n## Troubleshooting\n\nIf you run `docker-compose up` and get an error:\n\n`Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?`\n\nthis means that you forgot to open your `Docker` desktop app.\n\n## Notes\nThe environment variable `OONI_NYMVALIDATORURL` can be used to modify the validator server to reach for the tests. By default, it is `\"https://validators.nymtech.net\"`.\n\n```bash\nOONI_NYMVALIDATORURL=\"https://validators.nymtech.net\" docker-compose up\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnymtech%2Fcensorshipmeasurements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnymtech%2Fcensorshipmeasurements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnymtech%2Fcensorshipmeasurements/lists"}