{"id":33185658,"url":"https://github.com/WIttyJudge/adless","last_synced_at":"2025-11-22T04:01:28.902Z","repository":{"id":258320206,"uuid":"869524858","full_name":"WIttyJudge/adless","owner":"WIttyJudge","description":"Local domains blocker written in Go","archived":false,"fork":false,"pushed_at":"2024-12-16T14:50:36.000Z","size":2739,"stargazers_count":26,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-12T08:24:04.345Z","etag":null,"topics":["ad-blocker","ads","blocker"],"latest_commit_sha":null,"homepage":"","language":"Go","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/WIttyJudge.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":"2024-10-08T12:49:20.000Z","updated_at":"2025-09-26T04:00:35.000Z","dependencies_parsed_at":"2024-11-27T20:20:07.359Z","dependency_job_id":"00e4f9f1-29cf-49e5-b600-f41baf6c56a4","html_url":"https://github.com/WIttyJudge/adless","commit_stats":null,"previous_names":["wittyjudge/barrier","wittyjudge/adless"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/WIttyJudge/adless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WIttyJudge%2Fadless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WIttyJudge%2Fadless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WIttyJudge%2Fadless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WIttyJudge%2Fadless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WIttyJudge","download_url":"https://codeload.github.com/WIttyJudge/adless/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WIttyJudge%2Fadless/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285731803,"owners_count":27222214,"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-11-22T02:00:05.934Z","response_time":64,"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":["ad-blocker","ads","blocker"],"created_at":"2025-11-16T05:00:20.098Z","updated_at":"2025-11-22T04:01:28.896Z","avatar_url":"https://github.com/WIttyJudge.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"networking\"\u003e\u003c/a\u003eNetworking"],"sub_categories":[],"readme":"# adless\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/WIttyJudge/adless)](https://goreportcard.com/report/github.com/WIttyJudge/adless)\n\nAdless is an easy-to-use CLI tool that blocks domains by using your system's hosts file.\n\n![demo](./assets/demo.gif)\n\n## Features\n\n- Works without running any background processes.\n- You don't need a browser extensions to block ads.\n- Supports whitelist domains.\n- Lets you specify multiple blocklists and whitelists.\n\n## Idea\n\nThe idea for developing Adless was inspired by two projects: [Maza](https://github.com/tanrax/maza-ad-blocking) and [Pi-hole](https://github.com/pi-hole/pi-hole).\nFor a long time, I used both of them, but eventually,\nI wanted to create a tool that combined the best of both worlds.\n\nI wished to have a tool that, like Pi-hole, would allow users to manage\nmultiple blocklists and whitelists of domains. At the same time, would work\nwithout running any background processes and rely on use of hosts file, much like Maza.\n\nAnd that's how Adless was made.\n\n## Installation\n\n### Package manager\n\nOn Arch Linux (AUR)\n\n```bash\nyay -S adless-bin\n```\n\n### Manual Installation\n\nDownload the latest tar from the [releases page](https://github.com/WIttyJudge/adless/releases) and decompress.\n\nIf you use Linux or MacOS, you can simple run:\n\n```bash\ncurl -sL https://raw.githubusercontent.com/WIttyJudge/adless/refs/heads/main/scripts/install.sh | bash\n```\n\n### Building from source\n\nThe [Makefile](https://github.com/WIttyJudge/adless/blob/main/Makefile) has everything you need.\n\nThere are different commands to build a binary for different platforms.\nChoose one that you need.\n\n```bash\nmake build-linux\nmake build-windows\nmake build-darwnin\n```\n\nTo run the binary:\n\n```bash\n./build/adless\n```\n\n## Usage\n\n```\nNAME:\n   adless - Local domains blocker writter in Go\n\nUSAGE:\n   adless [global options] command [command options]\n\nVERSION:\n   v1.0.0\n\nCOMMANDS:\n   config   Manage the configuration file\n   disable  Disable domains blocking\n   enable   Enable domains blocking\n   restore  Restore hosts file from backup to its previous state\n   status   Check if domains blocking enabled or not\n   update   Update the list of domains to be blocked\n   help, h  Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --config-file value  Path to the configuration file\n   --quiet, -q          Enable quiet mode\n   --verbose, -v        Enable debug mode\n   --help, -h           Show help\n   --version, -V        Print the version\n```\n\n## Configuration file\n\nAdless supports reading and writing configuration files.\nThe default configuration file is located at `$HOME/.config/adless/config.yml`,\nbut it can be redefined using `--config` flag or the following environment variables:\n\n- ADLESS_CONFIG_PATH - Specifies the full path to the configuration file.\n- ADLESS_CONFIG_HOME - Specifies the folder where the `config.yml` file is located.\n- XDG_CONFIG_HOME - Specifies the base directory for user-specific configuration files. Adless will look for `adless/config.yml` within this directory.\n\n### Default configuration\n\n```yaml\nblocklists:\n  - target: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts\nwhitelists:\n  - target: https://raw.githubusercontent.com/anudeepND/whitelist/master/domains/whitelist.txt\n```\n\n### Create\n\nTo create a local configuration file, run:\n\n```bash\nadless config init\n```\n\n### Edit\n\nTo open the configuration file in your preferred editor, run:\n\n```bash\nadless config edit\n```\n\n## TODO\n\n1. Options to add path to local blocklists and whitelists\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWIttyJudge%2Fadless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWIttyJudge%2Fadless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWIttyJudge%2Fadless/lists"}