Releases: SamNet-dev/dnstm-setup
v1.4.0 — VayDNS Tunnels, Monitoring & Diagnostics
What's New
⚡ VayDNS Tunnel Support
VayDNS is an optimized fork of DNSTT by net2share with KCP/smux reliable sessions, auto-recovery, and a leaner wire protocol. Runs in -dnstt-compat mode for backwards compatibility with existing SlipNet clients.
- 2 new tunnels:
vay1(SOCKS onvsubdomain) andvay-ssh(SSH onvzsubdomain) - Up to 8 tunnels total (Slipstream + DNSTT + NoizDNS + VayDNS, each with SOCKS and SSH)
- Transport option 4 in
--add-tunnelTUI - Binary downloaded automatically during setup; graceful fallback if unavailable
- Simpler service override than NoizDNS — supports
-udpdirectly, no PT mode needed - Full integration:
--status,--monitor,--diag,--add-domain,--remove-tunnel,--uninstall
📈 --monitor Command
Live tunnel usage monitoring:
- Per-tunnel process stats (PID, CPU%, memory, uptime)
- Active SOCKS/SSH/DNS connection counts
- Total memory usage
- Recent journalctl logs
- Optimized: ~3 forks per tunnel, cached
ssoutput
sudo bash dnstm-setup.sh --monitor
# Live monitoring:
watch -n 5 sudo bash dnstm-setup.sh --monitor🔍 --diag Command
Comprehensive tunnel diagnostics with issue counting and fix hints:
- Binary validation (dnstm, dnstt-server
-udpflag, noizdns-server/vaydns-server ELF check) - Service status with journal log snippets on failure
- NoizDNS/VayDNS drop-in override and PT env var checks
- Config.json transport/MTU analysis with high-MTU warnings
- Port 53 binding, SSH localhost reachability, UFW/iptables rules
- Public/private key file presence per tunnel
- External DNS resolution test
- systemd-resolved conflict detection
sudo bash dnstm-setup.sh --diagBug Fixes
--status Hangs (Fixes #31)
dnstm tunnel sharehad no timeout — could hang indefinitely when DNS/domain config is missing- Added
timeout --kill-after=3 10to alldnstmsubcommand calls in the status path
Empty SlipNet URLs in --status (Fixes #32)
- When
dnstm tunnel listdoesn't include domains in its table output, slipnet:// URLs were silently skipped - Added fallback to read tunnel domains from
/etc/dnstm/config.jsonvia jq or python3
SSH User Management Hangs (Fixes #33)
sshtun-usercommands were missing</dev/nullstdin redirect, causing TTY blocking- All
sshtun-usercalls (list, create, show, update, delete, configure) now have</dev/nullandtimeout --kill-after=3
Other Improvements
- 9 DNS records (was 7) — 2 new NS records for VayDNS subdomains (
v,vz) --add-domaincreates VayDNS tunnels for backup domains--add-tunneloffers 4 transport choices: Slipstream, DNSTT, NoizDNS, VayDNS--remove-tunnelcleans up VayDNS service overrides--uninstallremoves vaydns-server binary and drop-in files- SSH user management generates VayDNS SSH share URLs
- Help text lists all 10 components (was 6)
Upgrade
curl -fsSL -o dnstm-setup.sh https://raw.githubusercontent.com/SamNet-dev/dnstm-setup/master/dnstm-setup.sh
sudo bash dnstm-setup.shExisting setups will continue to work. VayDNS tunnels are created automatically on fresh installs or when running --add-domain. To add VayDNS to an existing server, use --add-tunnel and select transport 4.
v1.3.1 — Update TUI, SSH MAC fix, DNS/Xray hardening
What's New
Update from TUI
- New option 10) Update script in the management menu
--updateflag for CLI usage- Auto-detects new versions, downloads, validates, and restarts
SSH MAC Compatibility
- Fix for Bitvise and older SSH clients failing with
no match for method mac algo - Adds non-ETM SHA2 MACs as fallbacks while keeping ETM preferred
- Fixes #19
DNS Safety (never locks users out)
- EXIT trap auto-fixes DNS if script crashes mid-operation
resolv.confbacked up and locked withchattr +i- Fallback nameservers written if DNS breaks after disabling stub listener
3x-ui / Xray Backend
- Credentials set via
x-ui settingbinary (handles bcrypt hashing in v2.0+) - Panel port set via binary, not just sqlite3
- Login probing validates JSON responses (not HTML error pages)
- Fixes #18
microsocks GLIBC
- Proactive GLIBC compatibility check right after
dnstm install - Waits for dpkg lock (unattended-upgrades) before installing build tools
NoizDNS
- Binaries self-hosted as GitHub release assets for reliability
- Binary validation uses
filecommand instead of unreliable-helpflag
sshd_config Safety
- Backed up before
sshtun-user configure - Validated with
sshd -tafter modification - Auto-rollback if validation fails
NoizDNS Server Binaries v1.0
NoizDNS (DPI-resistant DNSTT fork) server binaries for bundled distribution.
v1.3 — NoizDNS + Xray Backend
What's New in v1.3
🛡️ NoizDNS Tunnels (DPI-Resistant)
Two new tunnel types added to the main setup — 6 tunnels instead of 4:
- NoizDNS + SOCKS (
nsubdomain) — DPI-resistant DNS tunnel for SOCKS proxy - NoizDNS + SSH (
zsubdomain) — DPI-resistant DNS tunnel for SSH tunneling
NoizDNS is a DPI-resistant fork of DNSTT by anonvector (same author as SlipNet) that uses alternative DNS query encoding to evade Deep Packet Inspection. The server auto-detects both standard DNSTT and NoizDNS clients. In SlipNet, select NoizDNS as the tunnel type for n and z subdomains.
- Zero extra configuration — binary downloaded automatically during setup
- Graceful degradation — if download fails, creates 4 standard tunnels and continues
- Works on all architectures (amd64, arm64, arm, 386)
🔌 Xray Backend Integration (Optional)
New optional feature to connect an existing 3x-ui panel (or raw Xray) to a DNS tunnel:
sudo bash dnstm-setup.sh --add-xray
# Or via management menu: --manage → option 8- Auto-detects 3x-ui (native or Docker) — or installs it for you (full panel or headless)
- 4 protocols: VLESS, Shadowsocks, VMess, Trojan
- Internal-only inbound on
127.0.0.1— only reachable through the DNSTT tunnel - Generates client configs — SlipNet URL + client URI for Nekobox/v2rayNG/Shadowrocket
- Compatible with any V2Ray/Xray client that supports proxy chaining
Other Improvements
- 7 DNS records (was 5) — 2 new NS records for NoizDNS subdomains
--add-domainnow creates NoizDNS tunnels for backup domains--statusdisplays NoizDNS tunnel info and SlipNet URLs--remove-tunnelproperly cleans up Xray and NoizDNS service overrides- Security — SQL injection prevention, cookie jar cleanup, restrictive file permissions, bcrypt password detection
- Portable — no
grep -P, nopython3, pure bash
Full Tunnel Setup (v1.3)
| Tunnel | Subdomain | Transport | Backend |
|---|---|---|---|
| slip1 | t |
Slipstream (QUIC) | SOCKS |
| dnstt1 | d |
DNSTT (Noise) | SOCKS |
| noiz1 | n |
NoizDNS (DPI-resistant) | SOCKS |
| slip-ssh | s |
Slipstream (QUIC) | SSH |
| dnstt-ssh | ds |
DNSTT (Noise) | SSH |
| noiz-ssh | z |
NoizDNS (DPI-resistant) | SSH |