Skip to content

v2026.5.10.4

Choose a tag to compare

@github-actions github-actions released this 10 May 13:20
Immutable release. Only release title and notes can be modified.
v2026.5.10.4
275250d

WKVRCProxy v2026.5.10.4

What's Changed

Added

  • Local WhyKnot trust gateway for VRChat video players, including localhost.youtube.com playback URLs that keep first-party WhyKnot streams inside the allowed playback path.
  • Direct handling for pasted whyknot.dev playback proxy URLs, so a first-party proxy URL in a video player resolves to a local manifest instead of recursively re-resolving itself.
  • Local HLS/DASH manifest localization for first-party WhyKnot proxy URLs, including child manifests and segment URLs with stable local names.
  • Mesh client support for WhyKnot backend protocol negotiation, binary response handling, cached welcomes, reconnects, and playback feedback.
  • WKVRCProxy updater and uninstaller executables with zip verification, rollback-aware updates, hosts cleanup, state cleanup, and install-folder removal.
  • Persistent logs, crash snapshots, startup/runtime context, and redacted error reporting.

Changed

  • Reorganized the client into focused modules for URL policy, relay target validation, manifest rewriting, header forwarding, port tracking, resolve cache, and wrapper behavior.
  • Hardened relay shutdown and cleanup so port files, patched binaries, sidecar files, state files, named pipes, and child processes are cleaned when possible.
  • Build and release pipeline now signs tagged builds, emits a per-file SHA256 manifest, and gates release notes for public wording and ASCII output.
  • Documentation now describes the current watchdog-only architecture, trust gateway behavior, quick start, updater, uninstaller, build pipeline, and release process.

Fixed

  • Prevented non-WhyKnot URLs and local gateway URLs from being wrapped into the trust gateway accidentally.
  • Rejected unsafe relay requests with invalid Host headers, unsupported HTTP methods, non-HTTP targets, or non-WhyKnot playback targets.
  • Avoided stale localhost gateway cache entries by canonicalizing playback feedback back to first-party WhyKnot target URLs.
  • Kept upstream manifest responses uncompressed while they are inspected so headers and body content stay consistent.
  • Preserved third-party manifest URLs and data URIs during localization so external media references are not rewritten incorrectly.
  • Added regression coverage for direct WhyKnot URLs, Popcorn proxy URLs, manifest localization, local-gateway canonicalization, cache eviction, target validation, and relay host validation.

File integrity

This immutable release predates the attached integrity TSV; GitHub records the release zip SHA256 in the release asset metadata.

More

Install (fresh)

  1. Launch VRChat at least once so it has dropped its bundled yt-dlp.exe into its Tools dir.
  2. Download WKVRCProxy-v2026.5.10.4.zip from this release.
  3. Extract anywhere except Program Files.
  4. Run WKVRCProxy.exe. Accept the UAC prompt to add the hosts entry.
  5. Launch VRChat. Watch for [mesh] connected in the watchdog window. Paste a URL in any in-world video player.

Full walkthrough: README quick start.

Uninstall

Run WKVRCProxy.Uninstaller.exe from the install folder. No prompt; runs to completion. Restores the original yt-dlp.exe, removes the hosts entry, wipes %LOCALAPPDATA%Low\WKVRCProxy\, deletes the install directory.

What you need to do

Fresh install: follow the install steps above. Existing installs can be replaced with this zip, or updated by launching WKVRCProxy.exe and typing /update. The updater downloads this release, verifies the zip, atomically swaps the files, and relaunches.

If you hit a playback bug after this release: re-paste the URL with the watchdog window visible, copy the watchdog log starting from the failed request, and include both in the bug report.