Squawk DNS, a Penguin Technologies Solution

Download Squawk DNS

Get started with Squawk DNS today. Choose from Docker containers, native packages, or build from source.

Quick Start Options

Choose the deployment method that works best for your environment

Docker Container

The fastest way to get started. Run Squawk DNS in minutes with Docker.

Recommended

Native Packages

System packages for Linux distributions with service integration.

Production Ready

Source Code

Build from source for custom modifications and development.

Advanced

Docker Installation

Quick deployment using Docker containers

DNS Server

Run the Squawk DNS server to provide DNS-over-HTTPS services.

docker run -d \
  -p 8080:8080 \
  -e PORT=8080 \
  -e AUTH_TOKEN=your-secure-token \
  penguincloud/squawk-dns-server:latest

Replace your-secure-token with a secure authentication token.

DNS Client

Forward local DNS requests to your Squawk DNS server.

docker run -d \
  -p 53:53/udp -p 53:53/tcp \
  -e SQUAWK_SERVER_URL=https://dns.yourdomain.com:8443 \
  -e SQUAWK_AUTH_TOKEN=your-secure-token \
  penguincloud/squawk-dns-client:latest forward -v

Update the server URL to point to your Squawk DNS server.

Native Packages

Platform-specific packages with system service integration

Linux Packages

Debian/Ubuntu (.deb)
wget https://github.com/penguincloud/squawk/releases/download/v1.1.1-client/squawk-dns-client_1.1.1_amd64.deb
sudo dpkg -i squawk-dns-client_1.1.1_amd64.deb
Red Hat/CentOS (.rpm)
wget https://github.com/penguincloud/squawk/releases/download/v1.1.1-client/squawk-dns-client-1.1.1-1.x86_64.rpm
sudo rpm -i squawk-dns-client-1.1.1-1.x86_64.rpm
Service Management
sudo systemctl enable --now squawk-dns-client
sudo systemctl status squawk-dns-client

Windows & macOS

Windows (MSI Installer)

Coming soon - Windows installer with service integration.

Request Early Access
macOS (Homebrew)

Coming soon - macOS package with launchd integration.

Request Early Access
Go Binary

Pre-compiled binaries available for all platforms.

Download Binaries

Build from Source

Clone, build, and customize Squawk DNS for your needs

Prerequisites

  • Go 1.21 or later
  • Git
  • Make (optional, for build scripts)

Build Instructions

# Clone the repository
git clone https://github.com/penguincloud/squawk.git
cd squawk

# Build the server
go build -o squawk-dns-server ./cmd/server

# Build the client
go build -o squawk-dns-client ./cmd/client

# Or use the Makefile
make build

Development

# Run tests
go test ./...

# Run with hot reload
go run ./cmd/server --config config.yaml

System Requirements

Minimal requirements for running Squawk DNS

DNS Server

  • CPU: 1 core minimum
  • RAM: 512MB minimum
  • Storage: 100MB available
  • Network: 1 Mbps bandwidth
  • OS: Linux, Windows, macOS
  • Ports: 8080 (configurable)
  • SSL: TLS certificate required
  • Optional: Redis for caching

DNS Client

  • CPU: Minimal usage
  • RAM: 15MB typical usage
  • Storage: 10MB binary size
  • Network: Internet connectivity
  • OS: Linux, Windows, macOS
  • Ports: 53 (DNS)
  • Privileges: Root/Admin for port 53
  • Startup: ~10ms cold start

Need Help Getting Started?

Our team is ready to help you deploy Squawk DNS successfully in your environment.