All Projects → seedifferently → Nogo

seedifferently / Nogo

Licence: mit
A cross-platform network-wide ad/site blocker with a simple web control panel.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Nogo

Pihole Unbound
Guide to setup Unbound recursive DNS resolver with Pi-Hole. With additional configs for speed and security!! 🚀🔒
Stars: ✭ 165 (+15.38%)
Mutual labels:  raspberry-pi, dns, privacy
1hosts
DNS filter-/blocklists | safe. private. clean. browsing!
Stars: ✭ 85 (-40.56%)
Mutual labels:  dns, privacy, blacklist
Dns Zone Blacklist
This project generates dnsmasq, bind and unbound zone files to be used in DNS based AD Blockers.
Stars: ✭ 141 (-1.4%)
Mutual labels:  ad-blocker, privacy, blacklist
Hblock
Improve your security and privacy by blocking ads, tracking and malware domains.
Stars: ✭ 724 (+406.29%)
Mutual labels:  ad-blocker, dns, privacy
Dnscrypt Menu
Manage DNSCrypt from the macOS menu bar (BitBar plugin)
Stars: ✭ 59 (-58.74%)
Mutual labels:  dns, privacy
Fem
Blokada 5 for Android and iOS (repo moved).
Stars: ✭ 57 (-60.14%)
Mutual labels:  dns, privacy
Ioc2rpz
ioc2rpz is a place where threat intelligence meets DNS.
Stars: ✭ 67 (-53.15%)
Mutual labels:  dns, blacklist
Noisy
Simple random DNS, HTTP/S internet traffic noise generator
Stars: ✭ 1,208 (+744.76%)
Mutual labels:  dns, privacy
Pihole config
My personal configuration for pihole
Stars: ✭ 23 (-83.92%)
Mutual labels:  raspberry-pi, dns
Walletwasabi
Open-source, non-custodial, privacy focused Bitcoin wallet for Windows, Linux, and Mac. Built-in Tor, CoinJoin, and coin control features.
Stars: ✭ 1,197 (+737.06%)
Mutual labels:  cross-platform, privacy
Dnoise
DNS noise generator that looks at your network activity and blends in. Requires pi-hole.
Stars: ✭ 88 (-38.46%)
Mutual labels:  dns, privacy
Dnsforwarder
Just a DNS utility.
Stars: ✭ 1,029 (+619.58%)
Mutual labels:  dns, cross-platform
Embassy Os
A graphical operating system for running self-hosted software.
Stars: ✭ 43 (-69.93%)
Mutual labels:  raspberry-pi, privacy
Pi Hole
A black hole for Internet advertisements
Stars: ✭ 34,076 (+23729.37%)
Mutual labels:  ad-blocker, raspberry-pi
Block
Let's make an annoyance free, better open internet, altogether!
Stars: ✭ 1,849 (+1193.01%)
Mutual labels:  ad-blocker, privacy
Vosk Api
Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node
Stars: ✭ 1,357 (+848.95%)
Mutual labels:  raspberry-pi, privacy
Keepassxc
KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Stars: ✭ 11,623 (+8027.97%)
Mutual labels:  cross-platform, privacy
Spotify Adblock Linux
Spotify adblocker for Linux
Stars: ✭ 641 (+348.25%)
Mutual labels:  dns, blacklist
Blocker Database
A global domain based database for NoScript, uBlock, uMatrix & ScriptSafe
Stars: ✭ 127 (-11.19%)
Mutual labels:  privacy, blacklist
Cutehmi
CuteHMI is an open-source HMI (Human Machine Interface) software written in C++ and QML, using Qt libraries as a framework. GitHub repository is a mirror!
Stars: ✭ 90 (-37.06%)
Mutual labels:  raspberry-pi, cross-platform

nogo

Linux Build Status Windows Build Status

What?

nogo blocks access to various sites (ads, tracking, porn, gambling, etc) by acting as a DNS proxy server with host blacklist support.

It requires minimal setup, and includes a simple web control panel for managing the host blacklist.

Screenshot

Why?

I wanted an open source ad blocker solution that was more universal than a browser plugin, and:

  • Was easy to utilize with unrooted mobile devices (so that battery life could be conserved).
  • Had a basic web control panel and API for adding, removing, and "pausing" hosts.
  • Provided straightforward cross-platform support and acceptable performance (so that I could run it from my Raspberry Pi).
  • Could be used as a master host "blacklist" service for network-wide ad blocking (e.g. by configuring the DNS on my router to point to nogo).

How?

Simply download a binary release for your platform. Or, if you already have Go v1.8 or later installed you can run: go get github.com/seedifferently/nogo

Note:

  • Be sure to read the Important post-install steps outlined below.
  • Since nogo binds to the DNS port 53 by default, it must be given access to "privileged" ports (e.g. via setcap or sudo).
  • Run with the -help switch for information on additional runtime options (such as disabling or password protecting the web control panel).

For those who would rather clone the repo and build from source:

  1. Install Go (requires v1.8 or later).

  2. Clone the repo, then cd into it.

  3. Install the dependencies by running make deps. Or if you don't have make:

    • go get github.com/miekg/dns
    • go get github.com/boltdb/bolt
    • go get github.com/pressly/chi
  4. Build the app by running make. Or if you don't have make: go build

  5. Run the app: sudo ./nogo

Important post-install steps:

1. You must add hosts to the blacklist.

nogo doesn't ship with a built-in blacklist, so it won't block any hosts until you add them.

There are currently two methods for adding hosts to the blacklist:

  1. Navigate to the web control panel (default: http://localhost:8080/) and add a host using the form.

  2. Download a popular hosts list file (e.g. pick one from the list at https://github.com/StevenBlack/hosts), and execute nogo with the -import switch on its first run.

2. You must reconfigure your DNS.

Your computer/mobile device/etc is probably set up by default to utilize a DNS server which allows connections to any host. Unless you update your DNS configuration to point to nogo (and only to nogo), nothing will change.

For those of you who may be unfamiliar with how to update your DNS configuration, check out Google's guide for their DNS service here: https://developers.google.com/speed/public-dns/docs/using

You can follow their instructions, but don't forget to substitute their DNS service IP addresses with the sole IP address of the machine running nogo.

Known Issues and Limitations

  • The DNS proxy server utilizes a fairly basic configuration, so advanced features such as EDNS and DNSSEC are not currently supported.
  • Due to the fact that the web control panel utilizes a few modern techniques (such as flexbox and the Fetch API), you may experience some issues with its interface on non-current browsers.

Who?

My name is Seth and I've been talking to machines in various languages since the early 90s. If you find this useful and want to say thanks, feel free to tweet me. If you'd prefer to give back in some way, you could buy me a beer, share some Satoshi, or pass my resume on to someone you know who is tackling interesting problems using technology.

Copyright (c) 2017 Seth Davis

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].