NoizDNS Deploy

March 26, 2026 · View on GitHub

One-click server deployment for Linux. Deploys a NoizDNS server — same binary, no extra configuration.

Quick Install

bash <(curl -Ls https://raw.githubusercontent.com/anonvector/noizdns-deploy/main/noizdns-deploy.sh)

After installation, run noizdns anytime for the management menu.

Client

SlipNet — Android VPN client with built-in NoizDNS support.

Prerequisites

Before running the script, configure your DNS records:

RecordNameValue
Ans.example.comYour server's IP address
AAAAns.example.comYour server's IPv6 address (optional)
NSt.example.comns.example.com

Replace example.com with your domain. The t subdomain is the tunnel endpoint.

Features

  • Multi-distro: Fedora, Rocky Linux, CentOS, Debian, Ubuntu
  • Auto-download: Pre-built server binary
  • Non-interactive mode: CLI flags for fully automated deployments
  • SOCKS5 proxy: Dante-based SOCKS proxy with optional user authentication
  • Systemd integration: Auto-start, restart on failure, security hardening
  • Firewall: Automatic iptables/firewalld/ufw configuration with persistence
  • Key management: Auto-generates keypairs, reuses existing keys on reconfiguration
  • Management menu: Status, logs, restart, reconfigure, update, uninstall
  • Self-updating: Update binary or script from the management menu

Usage

Interactive Install

bash <(curl -Ls https://raw.githubusercontent.com/anonvector/noizdns-deploy/main/noizdns-deploy.sh)

The script will prompt for:

  1. Tunnel domain — e.g. t.example.com
  2. MTU — default 1232

Non-Interactive Install (Automated)

Pass --domain to skip all prompts and run a fully automated deployment:

# Auto-install with defaults (generates new keys)
noizdns --domain t.example.com

# Custom MTU
noizdns --domain t.example.com --mtu 1400

# Use existing key files
noizdns --domain t.example.com \
  --privkey-file /path/to/server.key \
  --pubkey-file /path/to/server.pub

# One-liner via curl
bash <(curl -Ls https://raw.githubusercontent.com/anonvector/noizdns-deploy/main/noizdns-deploy.sh) \
  --domain t.example.com

CLI Options

FlagDescription
-d, --domain <domain>Tunnel domain (required for auto mode)
-m, --mtu <value>MTU value (default: 1232)
--pubkey-file <path>Path to existing public key file
--privkey-file <path>Path to existing private key file
-h, --helpShow help

When --domain is provided, the script runs non-interactively. Keys are auto-generated if not provided, or reused if they already exist on the server. If providing key files, both --pubkey-file and --privkey-file are required.

Management

noizdns
────────────────────────────────────────────
  NoizDNS Server Management
────────────────────────────────────────────

  Status: Running

  1) Install / Reconfigure
  2) Show configuration
  3) Service status
  4) View live logs
  5) User management
  6) Restart service
  7) Stop service
  8) Start service
  9) Update binary
  10) Update this script
  11) Uninstall
  0) Exit

Manual Commands

systemctl start noizdns-server    # Start
systemctl stop noizdns-server     # Stop
systemctl status noizdns-server   # Status
journalctl -u noizdns-server -f   # Live logs

Uninstall

From the menu, select option 11. This removes:

  • Systemd service
  • Server binary
  • Configuration and keys
  • Service user
  • iptables rules
  • The deploy script itself

File Locations

PathDescription
/usr/local/bin/noizdnsManagement script
/usr/local/bin/dnstt-serverServer binary
/etc/noizdns/server.confConfiguration
/etc/noizdns/*_server.keyPrivate key
/etc/noizdns/*_server.pubPublic key

License

MIT