{"id":29111051,"url":"https://github.com/adguardteam/adguardcli","last_synced_at":"2026-04-01T18:05:18.145Z","repository":{"id":277543477,"uuid":"866234083","full_name":"AdguardTeam/AdGuardCLI","owner":"AdguardTeam","description":"AdGuard Ad Blocker command-line version","archived":false,"fork":false,"pushed_at":"2026-03-19T03:13:58.000Z","size":54,"stargazers_count":135,"open_issues_count":22,"forks_count":4,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-03-19T18:17:35.116Z","etag":null,"topics":["adblock","adguard","cli","linux"],"latest_commit_sha":null,"homepage":"https://adguard.com/","language":null,"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/AdguardTeam.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-01T22:03:03.000Z","updated_at":"2026-03-16T09:44:48.000Z","dependencies_parsed_at":"2025-02-14T14:28:07.146Z","dependency_job_id":"bfa5f64b-bab5-46dd-8831-86039dddf2df","html_url":"https://github.com/AdguardTeam/AdGuardCLI","commit_stats":null,"previous_names":["adguardteam/adguardcli"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/AdguardTeam/AdGuardCLI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdGuardCLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdGuardCLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdGuardCLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdGuardCLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdguardTeam","download_url":"https://codeload.github.com/AdguardTeam/AdGuardCLI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdguardTeam%2FAdGuardCLI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: 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","cli","linux"],"created_at":"2025-06-29T09:05:46.640Z","updated_at":"2026-04-01T18:05:18.134Z","avatar_url":"https://github.com/AdguardTeam.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cpicture\u003e\n\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cdn.adguard.com/public/Adguard/Common/Logos/ag_logo_dark_cli.svg\" width=\"300px\" alt=\"AdGuard CLI\" /\u003e\n\u003cimg src=\"https://cdn.adguard.com/public/Adguard/Common/Logos/ag_logo_light_cli.svg?\" width=\"300px\" alt=\"AdGuard CLI\" /\u003e\n\u003c/picture\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eTool to protect against ads, trackers and malicious websites\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  Designed for command-line users \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    \u003ca href=\"https://github.com/AdguardTeam/AdguardCLI/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/tag/AdguardTeam/AdGuardCLI.svg?label=release\u0026filter=*release\" alt=\"Latest release\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/AdguardTeam/AdguardCLI/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/tag-pre/AdguardTeam/AdGuardCLI.svg?label=beta\u0026filter=*beta\" alt=\"Beta version\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/AdguardTeam/AdguardCLI/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/tag-pre/AdguardTeam/AdGuardCLI.svg?label=nightly\u0026filter=*nightly\" alt=\"Nightly version\" /\u003e\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://cdn.adtidy.org/content/release_notes/ad_blocker/cli/v1.0/adguardcli-proxy_start.gif\" width = \"600\"px\u003e\n\u003c/p\u003e\n\n\u003e ### Disclaimer\n\u003e* AdGuard CLI is not an open source project. We use GitHub as an open bug tracker for users to see what developers are working on. However, we at AdGuard create [a lot of open source software](https://github.com/search?o=desc\u0026q=topic%3Aopen-source+org%3AAdguardTeam+fork%3Atrue\u0026s=stars\u0026type=Repositories).\n\u003e * Privacy policy: https://adguard.com/privacy.html\n\n## Overview\n\nAdGuard CLI is the command-line version of AdGuard Ad Blocker. Learn more about it [in our Knowledge base](https://adguard.com/kb/adguard-for-linux/).\n\n## Installation\n\nTo install the latest version of AdGuard CLI, run the following command:\n\nRelease channel:\n\n```shell\ncurl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardCLI/release/install.sh | sh -s -- -v\n```\n\nBeta channel:\n\n```shell\ncurl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardCLI/beta/install.sh | sh -s -- -v\n```\n\nNightly channel:\n\n```shell\ncurl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardCLI/nightly/install.sh | sh -s -- -v\n```\n\nPlease see [our Knowledge base](https://adguard.com/kb/adguard-for-linux/installation/) for more info about installation/deinstallation.\n\n## Verify Releases\n\nInside an archive file, there is a small file with a `.sig` extension that contains the signature data. In a hypothetical situation where the binary file inside an archive is replaced by someone, you’ll know it isn’t an official release from AdGuard.\n\nTo verify the signature, you need to have the `openssl` tool version 1.1.1 or newer installed.\n\nFirst, import the AdGuard public key:\n\n```shell\ncurl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardCLI/master/adguard_ed25519_pubkey.pem -o adguard_ed25519_pubkey.pem\n```\n\nIt will download public key, which should have the value `MCowBQYDK2VwAyEAN0NPZFtolGN+Cjyorh4Wo91vnBlLLQiWkbujeHDYbok=`.\n\nThen, verify the signature:\n\n```shell\nopenssl pkeyutl -verify -inkey adguard_ed25519_pubkey.pem -pubin -sigfile /opt/adguard-cli/adguard-cli.sig -in /opt/adguard-cli/adguard-cli -rawin\n```\n\nIf you use a custom installation path, replace `/opt/adguard-cli` with the path to the adguard-cli and its signature file.\n\nYou’ll see the following message:\n\n```\nSignature Verified Successfully\n```\n\n## Usage\n\nRun `adguard-cli [command]` to use AdGuard CLI. Below are the available commands and their options:\n\n### Options\n\n- `-h, --help`                   Print this help message and exit\n- `--help-all`                   Show all available commands, subcommands, and options\n- `-v, --version`                Display program version information and exit\n\n### Subcommands\n\n- `activate`                     Activate the app\n- `reset-license`                Deactivate the app\n- `configure`                    Run the configuration wizard\n- `start`                        Start AdGuard CLI\n- `restart`                      Restart AdGuard CLI if it is already running\n- `stop`                         Stop AdGuard CLI\n- `status`                       Show the status of AdGuard CLI\n- `license`                      Show license information\n- `config`                       Configure AdGuard CLI\n    - `show`                     Show current configuration from `proxy.yaml`\n        - `--list-file`          Path to a YAML file to show instead of the configuration, e.g. `browsers.yaml`\n    - `set`                      Set a single option in `proxy.yaml`, e.g.:\n                                    - `listen_ports.http_proxy` sets the HTTP listen port\n                                    - `proxy_mode` sets the proxy mode (manual or auto)\n    - `get`                      Get a single option from `proxy.yaml`\n    - `list-add`                 Add a value to a list with the specified key in proxy.yaml, e.g.:\n                                    - `filters` adds a file with filters\n                                    - `apps` a filter action for an application; specify the application name and the action (default, bypass_https, bypass) separated by a space, and optionally allow skip outbound proxy by writing it as the third value\n        - `--list-file`          Path to the YAML file where the application will be added (e.g. `browsers.yaml`)\n    - `list-remove`              Remove a value from a list with the specified key in `proxy.yaml`, e.g.:\n                                     - `filters` removes a filter file\n                                     - `apps` removes an application rule by name\n        - `--list-file`          Path to the YAML file from which the application will be removed (e.g. `browsers.yaml`)\n    - `reset`                    Reset to default a value of a setting with the specified key in `proxy.yaml`, e.g.\n                                     - `listen_ports.http_proxy` resets the HTTP listening port to the default value (3129)\n                                     - `proxy_mode` resets the proxy mode to the default value (manual)\n        - `--all`                Reset all settings to their default values\n- `check-update`                 Check for updates of filters, userscripts, SafebrowsingV2, CRLite, and the app\n- `update`                       Update AdGuard CLI\n    - `-v, --verbose`            Show update script output\n- `filters`                      Manage filters\n    - `list`                     List installed filters\n        - `--all`                Show all filters\n    - `install`                  Install a filter\n    - `enable`                   Enable a filter\n    - `disable`                  Disable a filter\n    - `update`                   Update filters\n    - `add`                      Add a filter by its ID or name\n    - `remove`                   Remove a filter by its ID or name\n- `dns filters`                  Manage DNS filters\n    - `list`                     List installed and added DNS filters\n        - `--all`                View all DNS filters\n    - `add`                      Add a built-in DNS filter by ID or name\n    - `install`                  Install a custom DNS filter from a URL or local file\n        - `--title`              Set a custom title for the filter\n    - `enable`                   Enable a DNS filter by name or ID\n    - `disable`                  Disable a DNS filter by name or ID\n    - `remove`                   Remove a DNS filter by ID\n    - `set-title`                Set a custom title for a DNS filter\n- `userscripts`                  Manage userscripts\n    - `list`                     Show installed userscripts\n    - `install`                  Install a userscript from a URL\n    - `remove`                   Remove a userscript\n    - `enable`                   Enable a userscript\n    - `disable`                  Disable a userscript\n- `export-logs`                  Export logs to a zip file\n    - `-o, --output TEXT`        Path to the output artifact. Can be a directory\n    - `-f, --force`              Overwrite the output artifact without asking\n\n### Per-app AdGuard CLI configuration\nAdGuard CLI behaviour can be configured per-app. See the `apps` section of `proxy.yaml` for details.\nThere's a number of pre-configured entries for popular web browsers,\ncontained in `browsers.yaml` and included by default.\n\n### HTTPS filtering exclusions\nDomains can be excluded from HTTPS filtering via the `https_exclusions.txt` file, located in AdGuard CLI working directory.\nIt is referenced by the `exclusions` key in the `https_filtering` section of `proxy.yaml`.\n\n## AdGuard VPN CLI interaction\n\nUsing AdGuard CLI in **automatic proxy mode** together with AdGuard VPN CLI in **tunnel mode** is impossible due to a\nrouting loop: AdGuard VPN CLI's traffic currently can not be excluded from being transparently proxied by AdGuard CLI,\nand AdGuard CLI's traffic must go through the AdGuard VPN CLI's tunnel.\nThese are the two possible solutions:\n\n1. Switch AdGuard CLI to **manual proxy mode**.\n    - In this case, AdGuard VPN CLI can be used in **tunnel mode**, but apps for which ad blocking is desired must be\n      manually configured to use the AdGuard CLI's proxy.\n2. Switch AdGuard VPN CLI to **SOCKS5 mode**, and configure AdGuard CLI with an outbound proxy pointing to the SOCKS5\n   interface of AdGuard VPN CLI.\n    - Note that in this case for an app's traffic to go through the VPN tunnel it must either have its traffic\n      transparently proxied by AdGuard CLI (which is the case for all apps by default), or manually configured to use\n      AdGuard VPN CLI's SOCKS5 interface.\n    - Also note that in this case, in order to avoid a routing loop, the `skip_outbound_proxy` option must be enabled\n      for AdGuard VPN CLI in AdGuard CLI's apps configuration section. By default, `skip_outbound_proxy` is enabled for\n      all apps with `vpn` in their name, which includes AdGuard VPN CLI.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadguardteam%2Fadguardcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadguardteam%2Fadguardcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadguardteam%2Fadguardcli/lists"}