Skip to content

Sync the engine with TaJirax/cottenDNS - #4

Merged
TaJirax merged 1 commit into
mainfrom
sync-engine-with-tajirax
Aug 3, 2026
Merged

Sync the engine with TaJirax/cottenDNS#4
TaJirax merged 1 commit into
mainfrom
sync-engine-with-tajirax

Conversation

@TaJirax

@TaJirax TaJirax commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • takes the client and shared-protocol engine wholesale from the TaJirax/cottenDNS lineage
  • restores the hostile-network speed and reliability work that 6db04e53 reverted here, plus the ten commits built on top of it: sustained TCP throughput, UDP path restoration during sustained traffic, dynamic codecs and unified path control, startup resolver validation, FEC burst interleaving, native path telemetry, and MTU scan progress reporting
  • leaves server install and branding exactly as this repository had them: README.MD, README_FA.MD, compose.yaml, cmd/server/main.go, server_docker_install.sh, server_linux_install.sh, client_resolvers.simple, and the install string in internal/client/client_utils.go are untouched, so organization deployments keep pointing at organization infrastructure

Why

The two repositories had drifted into different engines. This one reverted the speed work; the other kept it and built on it. A config vendored from one could not be reproduced from the other, and the WhiteDNS desktop app's vendor/cottendns.json names this repository while pinning a SHA that only exists in the other one, so the pin cannot be resolved here at all.

Note on scope

Server-side install and branding are intentionally allowed to differ between the two repositories. The engine, including the shared internal/vpnproto and internal/fec wire format, is now identical.

Worth confirming before merge: any already-deployed server built from current organization main predates these vpnproto/fec changes, so server and client should be rolled forward together.

Validation

  • go build ./..., go vet ./..., and go test ./... all pass on the merged tree
  • internal/client, internal/udpserver, internal/vpnproto, and internal/fec verified green individually

🤖 Generated with Claude Code

Organization main had reverted the hostile-network speed and reliability
work, while the client lineage kept it and built ten further commits on top,
including sustained TCP throughput, UDP path restoration during sustained
traffic, dynamic codecs, startup resolver validation, FEC burst interleaving,
and MTU scan progress reporting. The two engines had drifted far enough that
a config vendored from one could not be reproduced from the other.

This takes the engine from that lineage wholesale. Server install and
branding stay as organization main had them: READMEs, compose.yaml,
cmd/server/main.go, the install scripts, client_resolvers.simple, and the
client_utils.go install string are untouched, so organization deployments
keep pointing at organization infrastructure.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@TaJirax
TaJirax merged commit 9fbd37a into main Aug 3, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant