This Pull Request gathers the complete multi-protocol upgrade developed since the v2.2.0 release. ChibaTunnel 3.0.0 moves from a WireGuard/V2Ray-specific client to a unified six-protocol architecture powered by Sentinel dVPNX v9 and sentinel-js-sdk v2.1.0.
Six VPN Protocols
- WireGuard — native full tunnel.
- V2Ray — local SOCKS proxy and protected TUN mode.
- OpenVPN — full tunnel with system runtime integration.
- Xray — local SOCKS proxy and protected TUN mode.
- AmneziaWG — DPI-resistant full tunnel with kernel and userspace fallback.
- Hysteria2 — QUIC-based local SOCKS proxy and protected TUN mode.
Unified Connection Architecture
- Replace protocol-specific global branches with a typed registry, adapters, lifecycle, and connection manager.
- Normalize Sentinel dVPNX v9 protocol metadata through the official SDK.
- Preserve WireGuard and V2Ray behavior while bringing the four new protocols under the same connection contract.
- Add runtime preflight, deterministic teardown, failure rollback, and connection-state reporting.
Security and Privileged Operations
- Remove renderer-controlled privileged command execution.
- Introduce a validated helper protocol with an explicit command surface.
- Harden helper requests, process lifecycle handling, cleanup, and error propagation.
- Keep privileged execution isolated from protocol configuration and UI input.
Verified Runtime Packaging
- Introduce
build/binary-manifest.jsonas the single source of truth for runtime versions, upstream URLs, platform strategy, and SHA-256 digests. - Add shared runtime resolution, local materialization, and manifest verification tooling.
- Package verified V2Ray, Xray, AmneziaWG, Hysteria2, tun2socks, Wintun, and platform support assets where required.
- Keep WireGuard and OpenVPN as declared system dependencies on Linux.
- Add AmneziaWG userspace fallback and DNS-less retry for incompatible
resolvconfsetups. - Simplify the release workflow so every platform consumes the same pinned manifest.
Interface and Website
- Expose all six protocols in node discovery, filters, tables, connection options, and active-session status.
- Offer SOCKS and protected TUN modes for V2Ray, Xray, and Hysteria2.
- Improve runtime setup feedback and protocol availability diagnostics.
- Launch the six-protocol website campaign with official project artwork and Sentinel dVPNX v9 messaging.
- Reduce excessive page spacing and retain the original ChibaTunnel visual language.
Stability and Validation
- Add test coverage for protocol normalization, SDK compatibility, adapters, connection lifecycle, manager, preflight, runtime resolution, and helper request validation.
- Verify all 10 pinned runtime definitions before running tests.
- Pass renderer, main/preload, and helper TypeScript checks.
- Pass the production Electron/Vite build.
- Pass verified runtime materialization and Linux AppImage packaging in CI.
- Complete manual Arch Linux smoke tests for all six protocols and both SOCKS/TUN modes where supported.
Release
- Set the application version to 3.0.0.
- Pin
@sentinel-official/sentinel-js-sdkto v2.1.0. - Build Linux, Windows, and macOS packages from the
v3.0.0tag.
Validation Evidence
- Local tests: 10/10 passed.
- Local type-check and production build: passed.
devCI quality-and-build job: passed.- Verified Linux AppImage packaging: passed.
- Manual six-protocol smoke test on Arch Linux: passed.
Full Commit Log
- 8df20ad chore: upgrade sentinel sdk to 2.1.0
- 31f0401 feat: add multiprotocol registry and normalization
- 46a219a fix: remove privileged renderer command execution
- d8d7051 refactor: add unified connection lifecycle
- 4657bf2 feat: prepare multiprotocol sdk clients
- 4919cd3 build: add verified runtime manifest and resolver
- a06d4b6 feat: preflight protocol runtimes before sessions
- f2a07f7 fix: validate privileged helper requests
- b4a9ba8 refactor: add unified protocol connection manager
- 8659456 refactor: add wireguard and v2ray adapters
- c9624a0 refactor: manage wireguard and v2ray lifecycles
- 9fab349 feat: add xray protocol adapter
- 975dfd6 feat: add amneziawg protocol adapter
- 0e3d49f feat: connect xray and amneziawg runtimes
- 414f084 feat: add hysteria2 protocol support
- b7e4f38 feat: add openvpn protocol support
- 54ada4e ci: package multiprotocol runtimes
- b42378e feat: expose multiprotocol nodes in the ui
- 3bd3859 ci: materialize runtimes from manifest
- 08e7547 chore: streamline local runtime setup
- 92469e7 fix: validate AmneziaWG system support
- d764f16 feat: bundle AmneziaWG userspace runtime
- 49fa349 fix: retry AmneziaWG without DNS injection
- 36578f9 feat(docs): showcase six-protocol support
- 77abfa8 chore: bump version to 3.0.0
- 21bfb46 Merge pull request #24 from Tkd-Alex/feature/multiprotocol-vpn