Skip to content

refactor: use QuickProxyNet for proxy negotiation - #3

Merged
milutinke merged 5 commits into
masterfrom
fix/issue-1-quickproxynet
Sep 30, 2026
Merged

milutinke merged 5 commits into
masterfrom
fix/issue-1-quickproxynet

Conversation

@milutinke

@milutinke milutinke commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

What changed?

Replace UMPK's HTTP CONNECT, SOCKS4/SOCKS4a, and SOCKS5 handshake code with QuickProxyNet 3.0.0. The public proxy factories are unchanged. UMPK also overrides QuickProxyNet's abortive socket-close default so disposal still produces peer-observed EOF on macOS and other platforms.

The package version is now 0.9.0-beta.4.

Fixes #1.

Scope

All supported protocols (47 through 777). Proxy setup sits below the version-specific protocol code.

Validation

  • All 11 proxy tests pass, including 20 consecutive runs of the EOF regression.
  • A local proxy harness completed 70 tunnels across HTTP CONNECT, SOCKS4/SOCKS4a, and SOCKS5, with and without authentication. Bad credentials and cancellation were also tested.
  • The merged full suite passes all 17 count gates, including 4,692 protocol tests.
  • Release build, formatting, dataset verification, generated-file checks, packaging, and Native AOT tests pass.

The language-data check was not run because this worktree does not have the ignored MinecraftOfficial/downloads/1.8.9/server.jar prerequisite.

Notes for reviewers

There are no public API changes. QuickProxyNet accepts HTTP CONNECT status 200; the old code accepted any 2xx response.

@milutinke
milutinke merged commit c8d4d10 into master Sep 30, 2026
7 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.

[Suggestion]: Replace the Proxy Handling Code with Titlehhhh/QuickProxyNet

1 participant