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.
Native Packages
System packages for Linux distributions with service integration.
Source Code
Build from source for custom modifications and development.
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 AccessBuild 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
Source Code Links
License
Squawk DNS is released under the AGPL v3 License.
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.