{"id":18942645,"url":"https://github.com/seedifferently/nogo","last_synced_at":"2025-07-17T15:36:18.286Z","repository":{"id":45917452,"uuid":"82992461","full_name":"seedifferently/nogo","owner":"seedifferently","description":"A cross-platform network-wide ad/site blocker with a simple web control panel.","archived":false,"fork":false,"pushed_at":"2023-11-23T12:19:05.000Z","size":100,"stargazers_count":148,"open_issues_count":2,"forks_count":13,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T00:41:53.945Z","etag":null,"topics":["ad-blocker","blacklist","cross-platform","dns","golang","privacy","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seedifferently.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-02-24T02:26:19.000Z","updated_at":"2025-02-22T08:11:45.000Z","dependencies_parsed_at":"2024-11-08T12:48:38.603Z","dependency_job_id":null,"html_url":"https://github.com/seedifferently/nogo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/seedifferently/nogo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seedifferently%2Fnogo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seedifferently%2Fnogo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seedifferently%2Fnogo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seedifferently%2Fnogo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seedifferently","download_url":"https://codeload.github.com/seedifferently/nogo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seedifferently%2Fnogo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265623233,"owners_count":23800127,"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":["ad-blocker","blacklist","cross-platform","dns","golang","privacy","raspberry-pi"],"created_at":"2024-11-08T12:33:49.499Z","updated_at":"2025-07-17T15:36:18.264Z","avatar_url":"https://github.com/seedifferently.png","language":"Go","funding_links":["https://paypal.me/seedifferently"],"categories":[],"sub_categories":[],"readme":"# nogo\n\n[![Linux Build Status](https://img.shields.io/travis/seedifferently/nogo.svg?style=flat-square\u0026label=linux+build)](https://travis-ci.org/seedifferently/nogo)\n[![Windows Build Status](https://img.shields.io/appveyor/ci/seedifferently/nogo.svg?style=flat-square\u0026label=windows+build)](https://ci.appveyor.com/project/seedifferently/nogo)\n\n\n## What?\n\n`nogo` blocks access to various sites (ads, tracking, porn, gambling, etc) by\nacting as a DNS proxy server with host blacklist support.\n\nIt requires minimal setup, and includes a simple web control panel for managing\nthe host blacklist.\n\n![Screenshot](./screenshot.jpg?raw=true)\n\n\n## Why?\n\nI wanted an open source ad blocker solution that was more universal than a\nbrowser plugin, and:\n\n* Was easy to utilize with unrooted mobile devices (so that\n  [battery life could be conserved](https://lifehacker.com/ad-blockers-on-mobile-can-reduce-battery-drain-by-up-to-1764344384)).\n* Had a basic web control panel and API for adding, removing, and \"pausing\"\n  hosts.\n* Provided straightforward cross-platform support and acceptable performance (so\n  that I could run it from my Raspberry Pi).\n* Could be used as a master host \"blacklist\" service for network-wide ad\n  blocking (e.g. by configuring the DNS on my router to point to `nogo`).\n\n\n## How?\n\nSimply [download a binary release](https://github.com/seedifferently/nogo/releases)\nfor your platform. Or, if you already have Go v1.8 or later installed you can\nrun: `go get github.com/seedifferently/nogo`\n\n**Note:**\n\n* Be sure to read the *Important post-install steps* outlined below.\n* Since `nogo` binds to the DNS port 53 by default, it must be given access to\n  \"privileged\" ports (e.g. via `setcap` or `sudo`).\n* Run with the `-help` switch for information on additional runtime options\n  (such as disabling or password protecting the web control panel).\n\n\nFor those who would rather clone the repo and build from source:\n\n1. Install [Go](https://golang.org/doc/install) (requires v1.8 or later).\n\n2. Clone the repo, then `cd` into it.\n\n3. Install the dependencies by running `make deps`. Or if you don't have `make`:\n    * `go get github.com/miekg/dns`\n    * `go get github.com/boltdb/bolt`\n    * `go get github.com/pressly/chi`\n\n4. Build the app by running `make`. Or if you don't have `make`: `go build`\n\n5. Run the app: `sudo ./nogo`\n\n\n### Important post-install steps:\n\n#### 1. You must add hosts to the blacklist.\n\n`nogo` doesn't ship with a built-in blacklist, so it won't block any hosts until\nyou add them.\n\nThere are currently two methods for adding hosts to the blacklist:\n\n1. Navigate to the web control panel (default: `http://localhost:8080/`) and add\n   a host using the form.\n\n2. Download a popular hosts list file (e.g. pick one from the list at\n   https://github.com/StevenBlack/hosts), and execute `nogo` with the `-import`\n   switch on its first run.\n\n\n#### 2. You must reconfigure your DNS.\n\nYour computer/mobile device/etc is probably set up by default to utilize a DNS\nserver which allows connections to any host. Unless you update your DNS\nconfiguration to point to `nogo` (and *only* to `nogo`), nothing will change.\n\nFor those of you who may be unfamiliar with how to update your DNS\nconfiguration, check out Google's guide for their DNS service here:\nhttps://developers.google.com/speed/public-dns/docs/using\n\nYou can follow their instructions, but don't forget to substitute their DNS\nservice IP addresses with the sole IP address of the machine running `nogo`.\n\n### Known Issues and Limitations\n\n* The DNS proxy server utilizes a fairly basic configuration, so advanced\n  features such as EDNS and DNSSEC are not currently supported.\n* Due to the fact that the web control panel utilizes a few modern techniques\n  (such as [flexbox][1] and the [Fetch API][2]), you may experience some issues\n  with its interface on non-current browsers.\n\n[1]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes\n[2]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n\n\n## Who?\n\nMy name is Seth and I've been talking to machines in various languages since the\nearly 90s. If you find this useful and want to say thanks, feel free to\n[tweet me][3]. If you'd prefer to give back in some way, you could\n[buy me a beer][4], [share some Satoshi][5], or pass [my resume][6] on to\nsomeone you know who is tackling interesting problems using technology.\n\n[3]: https://twitter.com/seedifferently\n[4]: https://paypal.me/seedifferently\n[5]: https://coinbase.com/seedifferently\n[6]: https://resume.sethdavis.name\n\n\nCopyright (c) 2017 Seth Davis","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseedifferently%2Fnogo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseedifferently%2Fnogo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseedifferently%2Fnogo/lists"}