v2.2.2
Anti-DPI Multi-Transport Tunnel Engine
Production Hardening · Direct Mode · REALITY Fix
Overview
Release v2.2.2 completes the upload path (client direct mode ↔ server direct mode), fixes REALITY, and adds production tooling (-validate, -doctor, JSON logs, configurable metrics).
| Version | v2.2.2 |
| Type | Patch (bug fix + hardening) |
| Date | 2026-06-01 |
| Previous | v2.2.1 |
Highlights
| Area | Change |
|---|---|
| Direct mode | Server mux.enabled = false — one TCP per flow, matches client upload path |
| REALITY | Working auth (ClientHello token + REALITYOK) |
| Shutdown | Graceful SIGTERM/SIGINT → Stop() |
| Performance | sync.Pool relay buffers, quality-aware mux selection |
| CLI | -validate, -doctor |
| Multi-path | [[paths]] wired in client |
| Tests | E2E byte relay through tunnel |
Upgrade
Update both client (Iran) and server (abroad):
sudo bash ipshadowt-manager.sh # option: Update
# or
wget https://github.com/iPmartNetwork/iPShadowT/releases/download/v2.2.2/ipshadowt-linux-amd64Verify:
ipshadowt -v
ipshadowt -validate -c /etc/ipshadowt/config.toml
ipshadowt -doctor -c /etc/ipshadowt/config.tomlRequired config (upload path)
Client & server should both use direct mode:
[mux]
enabled = false
[pool]
size = 16
[performance]
buffer_profile = "upload_boost"
kernel_tuning = trueBreaking note
If you intentionally run smux mode (mux.enabled = true on client), server must also use mux.enabled = true. Default upload_boost now uses direct mode on both sides.
Full changelog
See CHANGELOG.md.
Full Changelog: v2.2.1...v2.2.2