{"id":15031520,"url":"https://github.com/adguardteam/adguardforios","last_synced_at":"2026-04-14T13:01:28.319Z","repository":{"id":37405830,"uuid":"43807802","full_name":"AdguardTeam/AdguardForiOS","owner":"AdguardTeam","description":"The most advanced ad blocker for iOS","archived":false,"fork":false,"pushed_at":"2026-04-14T10:49:01.000Z","size":661677,"stargazers_count":1637,"open_issues_count":188,"forks_count":235,"subscribers_count":85,"default_branch":"version/v4.5","last_synced_at":"2026-04-14T12:25:19.792Z","etag":null,"topics":["adblock","adguard","content-blocker","ios","open-source","safari"],"latest_commit_sha":null,"homepage":"https://adguard.com/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdguardTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SupportingScripts/get_providers.sh","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-10-07T10:04:16.000Z","updated_at":"2026-04-14T11:05:07.000Z","dependencies_parsed_at":"2024-01-22T19:33:11.898Z","dependency_job_id":"57f7e71c-cecf-4050-9a72-cb7daebe7903","html_url":"https://github.com/AdguardTeam/AdguardForiOS","commit_stats":{"total_commits":4560,"total_committers":34,"mean_commits":"134.11764705882354","dds":0.6826754385964913,"last_synced_commit":"25f8f104b1f775f3a2abc2f160db3eb40adffa07"},"previous_names":[],"tags_count":468,"template":false,"template_full_name":null,"purl":"pkg:github/AdguardTeam/AdguardForiOS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdguardForiOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdguardForiOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdguardForiOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdguardForiOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdguardTeam","download_url":"https://codeload.github.com/AdguardTeam/AdguardForiOS/tar.gz/refs/heads/version/v4.5","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdguardForiOS/sbom","scorecard":{"id":8726,"data":{"date":"2025-08-11","repo":{"name":"github.com/AdguardTeam/AdguardForiOS","commit":"2ef9773d8d8fabfe40dccfe1138dbe638e7c9163"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/25 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":8,"reason":"2 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: COPYING:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'version/v4.5'","Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"39 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-qrpm-p2h7-hrv2","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-gcv8-gh4r-25x6","Warn: Project is vulnerable to: GHSA-gmv4-r438-p67f","Warn: Project is vulnerable to: GHSA-8h2f-7jc4-7m3m","Warn: Project is vulnerable to: GHSA-3vjf-82ff-p4r3","Warn: Project is vulnerable to: GHSA-g694-m8vq-gv9h","Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-14T14:07:03.693Z","repository_id":37405830,"created_at":"2025-08-14T14:07:03.693Z","updated_at":"2025-08-14T14:07:03.693Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31797376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["adblock","adguard","content-blocker","ios","open-source","safari"],"created_at":"2024-09-24T20:15:53.494Z","updated_at":"2026-04-14T13:01:28.314Z","avatar_url":"https://github.com/AdguardTeam.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://cdn.adguard.com/public/Adguard/Common/Logos/ios.svg\" width=\"300px\" alt=\"AdGuard for iOS\"\n /\u003e\n  \u003c/p\u003e\n\u003ch3 align=\"center\"\u003eThe most advanced Safari content blocker and privacy keeper for iOS\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n  Top-notch ad blocking in Safari, anti-tracking protection and DNS privacy.\n\u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://adguard.com/\"\u003eWebsite\u003c/a\u003e |\n    \u003ca href=\"https://reddit.com/r/Adguard\"\u003eReddit\u003c/a\u003e |\n    \u003ca href=\"https://twitter.com/AdGuard\"\u003eTwitter\u003c/a\u003e |\n    \u003ca href=\"https://t.me/adguard_en\"\u003eTelegram\u003c/a\u003e\n    \u003cbr/\u003e\u003cbr/\u003e\n\n  \u003ca href=\"https://github.com/AdguardTeam/AdguardForiOS/releases\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/release/AdguardTeam/AdguardForiOS/all.svg\" alt=\"Latest release\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://agrd.io/ios\"\u003e\n    \u003cimg alt=\"iTunes App Store\" src=\"https://img.shields.io/itunes/v/1047223162.svg\"\u003e\n  \u003c/a\u003e\n  \u003c/p\u003e\n\n- [Contribution](#contribution)\n  - [How to report an issue](#issue)\n  - [Translating AdGuard](#contribution-translating)\n  - [Other options](#contribution-other)\n  - [How to become a Beta tester](#beta-tester)\n- [Our plans](#our-plans)\n- [How to build](#how-to-build)\n\nAdGuard for iOS is an app that blocks ads in Safari browser at exceptional level, and also provides additional Premium features like configurable DNS settings, encrypted DNS support (DOH, DOT, DNSCrypt), and custom ad blocking subscriptions. To get more information and to download AdGuard for iOS, [visit our website](https://adguard.com/adguard-ios/overview.html).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/17472907/105178597-4b542000-5b39-11eb-86ed-136f0697bcec.png\" width=\"250\"\u003e \u003cimg src=\"https://user-images.githubusercontent.com/17472907/105178604-4f803d80-5b39-11eb-9381-24682e06b8d8.png\" width=\"250\"\u003e \u003cimg src=\"https://user-images.githubusercontent.com/17472907/105339304-93347f00-5bed-11eb-99b6-ab438b34eb34.png\" width=\"250\"\u003e \u003cimg src=\"https://user-images.githubusercontent.com/17472907/105178609-50b16a80-5b39-11eb-9723-5179fb811b65.png\" width=\"250\"\u003e \u003cimg src=\"https://user-images.githubusercontent.com/17472907/105339299-92035200-5bed-11eb-87ef-a7171432fe5d.png\" width=\"250\"\u003e \u003cimg src=\"https://user-images.githubusercontent.com/17472907/105178607-5018d400-5b39-11eb-97d6-9dc792b28654.png\" width=\"250\"\u003e\n\u003c/p\u003e\n\n\u003ca id=\"contribution\"\u003e\u003c/a\u003e\n\n## Contribution\n\n\u003ca id=\"issue\"\u003e\u003c/a\u003e\n\n### How to report an issue?\n\nGitHub can be used to report a bug or to submit a feature request. To do so, go to [this page](https://github.com/AdguardTeam/AdGuardforiOS/issues) and click the _New issue_ button.\n\n\u003e **Note:** for the filter-related issues (missed ads, false positives etc.) use our [reporting tool](https://reports.adguard.com/new_issue.html).\n\n\u003ca id=\"contribution-translating\"\u003e\u003c/a\u003e\n\n### Translating AdGuard\n\nIf you want to help with AdGuard translations, please learn more about translating our products here: https://kb.adguard.com/en/general/adguard-translations\n\n\u003ca id=\"contribution-other\"\u003e\u003c/a\u003e\n\n### Other options\n\nHere is a [dedicated page](https://adguard.com/contribute.html) for those who are willing to contribute.\n\n\u003ca id=\"beta-tester\"\u003e\u003c/a\u003e\n\n### How to become a beta tester?\n\nYou can submit an application to participate in AdGuard for beta-testing program. All necessary information on this topic can be found on the [dedicated page](https://adguard.com/beta.html).\n\n\u003ca id=\"our-plans\"\u003e\u003c/a\u003e\n\n## Our plans\n\nTo see the 'big picture', to watch current progress and to get an idea of approximate dates for upcoming AdGuard for iOS releases, see this page: https://github.com/AdguardTeam/AdguardForIos/milestones\n\n\u003ca id=\"how-to-build\"\u003e\u003c/a\u003e\n\n## How to build\n\n### Install node v22 and yarn\n\nUse [nvm](https://github.com/nvm-sh/nvm) to install node 22, it is required to build the web extension.\n\n```sh\nnvm install 22\nnvm alias default 22\nnpm install -g yarn\n```\n\n### Install a newer ruby version\n\n```sh\nbrew install ruby\n```\n\nAdd to your `~/.zshrc`\n\n```sh\necho 'export PATH=\"/opt/homebrew/opt/ruby/bin:$PATH\"' \u003e\u003e ~/.zshrc\n```\n\n### Prepare\n\nPrepare and install Ruby bundler:\n\n- `gem install bundler -v 2.3.9`\n\nConfigure bundler to use local directory for storing dependencies:\n\n- `bundle config set --local path '.bundle/vendor'`\n\nThen run bundle install:\n\n- `bundle install`\n\n**IMPORTANT:** before running Fastlane, you need to place the [App Store Connect API key](https://docs.fastlane.tools/app-store-connect-api/#using-an-app-store-connect-api-key) to `fastlane/AuthKey.p8`.\n\nThen you can run Fastlane using a command like this:\n\n- `bundle exec fastlane [lane]`\n\nRegister your device:\n\n- `bundle exec fastlane run register_device udid:\"UUID\" name:\"Device name\"`\n\n### Codesigning\n\nNote, that by default these commands will only work for AdGuard, not AdGuard Pro.\nFor AdGuard Pro you need to run them with `--env pro`.\n\nRun this command to get proper codesigning certificates:\n\n- `bundle exec fastlane prepare`\n\n### Actions\n\n- `bundle exec fastlane tests` -- run tests\n- `bundle exec fastlane build` -- build version for App Store\n\nActions below are supposed to be used from CI only:\n\n- `bundle exec fastlane adhoc` -- build adhoc version (for inner testing)\n- `bundle exec fastlane increment` -- increments build number, commits it to git\n- `bundle exec fastlane testflight_beta` -- upload previously built version to testflight\n\nIn the case when certificate expires, you may need to nuke the old certs and generate them again:\n\n```sh\nbundle exec fastlane match nuke development\nbundle exec fastlane match nuke distribution\nbundle exec fastlane generate\n```\n\nIn order for fastlane to work properly in CI environment, we use [spaceauth](https://docs.fastlane.tools/best-practices/continuous-integration/#use-of-application-specific-passwords-and-spaceauth).\n\nRun this command to generate `FASTLANE_SESSION` which you'll then need to use on the CI server:\n\n```sh\nbundle exec fastlane auth\n```\n\n### Acknowledgments\n\nPlease visit the acknowledgements [page](https://kb.adguard.com/en/miscellaneous/acknowledgments#ios)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadguardteam%2Fadguardforios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadguardteam%2Fadguardforios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadguardteam%2Fadguardforios/lists"}