GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Building from source

Building from source

Jump to bottom Edit New page
Frank Denis edited this page Sep 28, 2026 · 15 revisions

How to build dnscrypt-proxy

1. Build tools and starting up

Windows: Install git and go. Or use chocolatey:

choco install git golang

Now open a PowerShell window (Win+X > Windows PowerShell).

Linux: Open a terminal window, install git and go:

<pkg-install-command> git golang

Android: Install Termux and start it. Then install git and go:

pkg install git golang

2. Create your working directory

mkdir dnscrypt-proxy-src
cd dnscrypt-proxy-src

3. Clone this repo

It must be cloned into a folder called src.

git clone --depth=1 https://github.com/DNSCrypt/dnscrypt-proxy src

4. Set environment variables

GOOS and GOARCH don't need to be set if you're only building for your current OS install; they are already set to the right values (see go env GOOS GOARCH). Otherwise, run go tool dist list to list supported GOOS/GOARCH pairs. You may also want to set GOARM when using GOARCH=arm; see the GoArm wiki.

# Windows
$env:GOOS='windows'
$env:GOARCH='amd64'

# Linux
export GOOS=linux
export GOARCH=amd64

# Android
export GOOS=android
export GOARCH=arm64

5. Build dnscrypt-proxy

Change the output path as appropriate for your OS/arch.

cd src/dnscrypt-proxy

go build -ldflags="-s -w" -mod vendor

The binary should be in the current directory.

go: ../go.mod requires go >= ...

If the build command returns an error similar to go: ../go.mod requires go >= ..., it means your Go toolchain is older than the version dnscrypt-proxy was developed and tested with.

dnscrypt-proxy generally uses the latest stable Go version as it is released.

You can download a more recent version of Go from the official Go website. The downloaded files can be installed anywhere and can be removed afterwards.

Alternatively, you can use goenv, a convenient tool for installing (even temporarily) multiple versions of Go.

Building for Android

  • Building on a non-Android OS: You cannot build the Android version without following this guide first.
  • Building on Android: You cannot build for an Android architecture different from your device's, nor can you build for Linux/any architecture. Windows with any architecture seems to work, however.

You will need root to use dnscrypt-proxy. Otherwise, you can try copying it to internal storage.

Are these instructions not clear? Wrong? Insufficient? This documentation page is a Wiki, so you can contribute by improving it!

  • Home
  • Installation
    • Windows
    • macOS
    • Linux
    • pfSense
    • Pi-hole
    • OpenWrt
    • Synology
    • OPNsense
    • EdgeOS
  • Configuration
    • Getting started
    • Configuring sources
    • Making things go fast
    • Filtering
    • Cloaking
    • Forwarding
    • Load-balancing options
    • Logging
    • Anonymized DNS
    • ODoH (Oblivious DNS-over-HTTPS)
    • DNS64
    • Captive portals
    • Monitoring UI
    • Built-in DoH server / Firefox ECH
  • Checking that your DNS traffic is encrypted
  • Automatic Updates
  • Server sources
  • Combining blocklists
  • Public Blocklist and other configuration files
  • Building from source
    • Building the Android version on non Android OS
    • Building dnscrypt proxy for jailbroken iOS
  • Run your own DNSCrypt server in under 10 minutes
    • Using a standalone proxy
    • Using Docker
    • Installation example on Scaleway
    • Installation example on Vultr
  • DNS stamps specifications
  • Windows tips
    • Network Connectivity Status Indicator (NCSI)
    • DNSSEC on Windows
  • dnscrypt-proxy in the media
  • Planned Features

Clone this wiki locally

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.