2024-12-30 10:23:54 +01:00
2025-01-03 19:26:26 +01:00
2025-01-03 02:50:07 +01:00
2025-01-03 02:47:24 +01:00

goaway - DNS request blocker

goaway Preview

🙏 Acknowledgments

Heavily inspired by pi-hole.

📦 Installation

goaway supports the following platforms:

  • Operating Systems: Linux, macOS, and Windows
  • Architectures: amd64, arm64, and 386

Note

Testing has primarily been conducted on Linux (amd64). Functionality on macOS and Windows may vary and is not guaranteed.

Install the Latest Version

To install the latest version of goaway, run the following command:

curl https://raw.githubusercontent.com/pommee/goaway/main/installer.sh | sh /dev/stdin

This will install the binary specific to your platform. The binary is placed in ~/.local/bin. If the installer.sh script fails, then binaries can be manually downloaded from releases.

🛠 Usage

Starting the Application

To start the servers (dns & web), simply run the following command in your terminal:

$ goaway

Will display some information once the server is started.

started

Development

Environment variables are used for configuration.

Variable Default Info
GOAWAY_PORT 53 Port used for the DNS server.
WEBSITE_PORT 8080 Port used for the API server. Also serves the website pages.
GOAWAY_PASSWORD No default Password used for authenticating at the admin dashboard.

TODO

Title Description Done
Login page Upon first visit, a login page should be presented. Requiring a login name and password in order to proceed.
Authentication Provide some form of token for future authentication after login process is complete.
Logs page An overview of all domain lookups that occurs with detailed information. Also add the ability to clear logs. (progress)
Clients page Used to see all clients which makes use of the DNS server. Also add settings specific to a certain user, such as...
_ Ignore blocked domains.
_ Blacklist user.
* ...
(progress)
Settings page Add toggles for settings for the server and it's behaviour. (progress)
Server page More verbose statistics of the DNS server and web server.
Upstream page Ability to add, remove upstreams. And set one as the preferred one to use. (progress)
S
Description
DNS sinkhole written in Go with a modern dashboard client
Readme MIT 21 MiB
Languages
TypeScript 59.6%
Go 36.1%
CSS 3.4%
Shell 0.5%
Makefile 0.2%