iPShadowT v2.2.1 — Bug Fix Release
Anti-DPI Multi-Transport Tunnel Engine
Overview
This patch release fixes asymmetric upload performance on tcpmux tunnels — the common Iran client → foreign server setup where download was fine but upload stayed low.
All improvements are port-agnostic: they apply whether you run on 443, 8443, or any custom port. No per-user port mapping required.
| Version | v2.2.1 |
| Type | Bug fix (semver patch) |
| Date | 2026-06-01 |
| Previous | v2.2.0 |
| Repository | iPmartNetwork/iPShadowT |
Highlights
| Area | Before (v2.2.0) | After (v2.2.1) |
|---|---|---|
| TCP send/recv buffers | Config ignored on tcpmux |
Applied on every connection via SO_SNDBUF / SO_RCVBUF |
| Relay copy buffer | 32 KB (io.Copy default) |
256 KB on mux + server relay |
kernel_tuning = true |
Defined, never executed | Runs at client/server startup (Linux) |
upload_boost profile |
Missing in sysctl layer | BBR + 16 MB windows + tcp_notsent_lowat |
| Default buffers | 4 MB mux / unset TCP | 16 MB TCP + 8 MB smux when unset |
| Manager script | balanced + fragment on |
upload_boost default, fragment/padding off for speed |
| Auto-updater | Wrong GitHub org | iPmartNetwork/iPShadowT |
What Was Fixed
Core engine
internal/utils/tcpopt.go— Central TCP tuning (TLS unwrap, listener wrapper, large relay buffers)tcpmux— Socket buffers on dial and accept- Client / Server —
kernel_tuningwired; upload buffer logging at startup - Config — Upload-friendly defaults + full
upload_boostprofile support - Mux relay — 256 KB bidirectional copy for upload and download paths
Install & ops
ipshadowt-manager.sh— Client wizard defaults toupload_boost,kernel_tuning = true- Multi-tunnel & export — Generated configs include upload tuning
- Sysctl (install) —
tcp_window_scaling,tcp_notsent_lowatadded to base tuning
Misc
- CLI default version corrected (
v2.2.1) - Docker
ARG VERSION=2.2.1 - Systemd / updater URLs point to
iPmartNetwork/iPShadowT
Traffic path (upload)
App → SOCKS5 (Iran client)
→ smux stream (8 MB buffer)
→ TCP tunnel (SO_SNDBUF 16 MB)
→ Foreign server (SO_RCVBUF 16 MB)
→ Internet
Upgrade
Update both sides — client (Iran) and server (abroad) — for best results.
Option A — Manager script (recommended)
curl -fsSL https://raw.githubusercontent.com/iPmartNetwork/iPShadowT/master/deploy/ipshadowt-manager.sh -o ipshadowt-manager.sh
sudo bash ipshadowt-manager.sh
# Menu → Update binary → Restart serviceOption B — Binary only
Linux AMD64
wget https://github.com/iPmartNetwork/iPShadowT/releases/download/v2.2.1/ipshadowt-linux-amd64
chmod +x ipshadowt-linux-amd64
sudo install -m 755 ipshadowt-linux-amd64 /usr/local/bin/ipshadowt
sudo systemctl restart ipshadowtLinux ARM64
wget https://github.com/iPmartNetwork/iPShadowT/releases/download/v2.2.1/ipshadowt-linux-arm64
chmod +x ipshadowt-linux-arm64
sudo install -m 755 ipshadowt-linux-arm64 /usr/local/bin/ipshadowt
sudo systemctl restart ipshadowtOption C — Docker
docker pull ghcr.io/ipmartnetwork/ipshadowt:2.2.1Recommended configuration
Minimal snippet — works with any port:
[performance]
nodelay = true
buffer_profile = "upload_boost" # balanced | high_throughput | low_cpu
kernel_tuning = true # Linux + root: BBR & TCP windowsFor maximum upload on tcpmux, keep anti-DPI overhead off:
[anti_dpi]
enabled = false
# fragment = false
# padding = false
# traffic_shape = falseFull examples: configs/client-upload-boost.toml
Verify after upgrade
-
ipshadowt -vshows v2.2.1 - Log contains:
Upload tuning: send_buf=16777216 recv_buf=16777216 ... - On Linux with root:
sysctl net.ipv4.tcp_congestion_control→bbr - Upload test improved vs v2.2.0 on same port
Assets
| Platform | Binary |
|---|---|
| Linux AMD64 | ipshadowt-linux-amd64 |
| Linux ARM64 | ipshadowt-linux-arm64 |
| Linux ARMv7 | ipshadowt-linux-armv7 |
| Windows AMD64 | ipshadowt-windows-amd64.exe |
| macOS Intel | ipshadowt-darwin-amd64 |
| macOS Apple Silicon | ipshadowt-darwin-arm64 |
| Docker | ghcr.io/ipmartnetwork/ipshadowt:2.2.1 |
Checksums: SHA256SUMS.txt · MD5SUMS.txt in release assets.
Full changelog
See CHANGELOG.md for complete commit-level details.
Made with ❤️ by iPmart Network
iPShadowT v2.2.1
Bug Fix Release · Upload Throughput · Port-Independent
Overview
This patch release fixes asymmetric upload performance on tcpmux tunnels — the common Iran client → foreign server setup where download was fine but upload stayed low.
All improvements are port-agnostic: they apply whether you run on 443, 8443, or any custom port. No per-user port mapping required.
| Version | v2.2.1 |
| Type | Bug fix (semver patch) |
| Date | 2026-06-01 |
| Previous | v2.2.0 |
| Repository | iPmartNetwork/iPShadowT |
Highlights
| Area | Before (v2.2.0) | After (v2.2.1) |
|---|---|---|
| TCP send/recv buffers | Config ignored on tcpmux |
Applied on every connection via SO_SNDBUF / SO_RCVBUF |
| Relay copy buffer | 32 KB (io.Copy default) |
256 KB on mux + server relay |
kernel_tuning = true |
Defined, never executed | Runs at client/server startup (Linux) |
upload_boost profile |
Missing in sysctl layer | BBR + 16 MB windows + tcp_notsent_lowat |
| Default buffers | 4 MB mux / unset TCP | 16 MB TCP + 8 MB smux when unset |
| Manager script | balanced + fragment on |
upload_boost default, fragment/padding off for speed |
| Auto-updater | Wrong GitHub org | iPmartNetwork/iPShadowT |
What Was Fixed
Core engine
internal/utils/tcpopt.go— Central TCP tuning (TLS unwrap, listener wrapper, large relay buffers)tcpmux— Socket buffers on dial and accept- Client / Server —
kernel_tuningwired; upload buffer logging at startup - Config — Upload-friendly defaults + full
upload_boostprofile support - Mux relay — 256 KB bidirectional copy for upload and download paths
Install & ops
ipshadowt-manager.sh— Client wizard defaults toupload_boost,kernel_tuning = true- Multi-tunnel & export — Generated configs include upload tuning
- Sysctl (install) —
tcp_window_scaling,tcp_notsent_lowatadded to base tuning
Misc
- CLI default version corrected (
v2.2.1) - Docker
ARG VERSION=2.2.1 - Systemd / updater URLs point to
iPmartNetwork/iPShadowT
Traffic path (upload)
App → SOCKS5 (Iran client)
→ smux stream (8 MB buffer)
→ TCP tunnel (SO_SNDBUF 16 MB)
→ Foreign server (SO_RCVBUF 16 MB)
→ Internet
Upgrade
Update both sides — client (Iran) and server (abroad) — for best results.
Option A — Manager script (recommended)
curl -fsSL https://raw.githubusercontent.com/iPmartNetwork/iPShadowT/master/deploy/ipshadowt-manager.sh -o ipshadowt-manager.sh
sudo bash ipshadowt-manager.sh
# Menu → Update binary → Restart serviceOption B — Binary only
Linux AMD64
wget https://github.com/iPmartNetwork/iPShadowT/releases/download/v2.2.1/ipshadowt-linux-amd64
chmod +x ipshadowt-linux-amd64
sudo install -m 755 ipshadowt-linux-amd64 /usr/local/bin/ipshadowt
sudo systemctl restart ipshadowtLinux ARM64
wget https://github.com/iPmartNetwork/iPShadowT/releases/download/v2.2.1/ipshadowt-linux-arm64
chmod +x ipshadowt-linux-arm64
sudo install -m 755 ipshadowt-linux-arm64 /usr/local/bin/ipshadowt
sudo systemctl restart ipshadowtOption C — Docker
docker pull ghcr.io/ipmartnetwork/ipshadowt:2.2.1Recommended configuration
Minimal snippet — works with any port:
[performance]
nodelay = true
buffer_profile = "upload_boost" # balanced | high_throughput | low_cpu
kernel_tuning = true # Linux + root: BBR & TCP windowsFor maximum upload on tcpmux, keep anti-DPI overhead off:
[anti_dpi]
enabled = false
# fragment = false
# padding = false
# traffic_shape = falseFull examples: configs/client-upload-boost.toml
Verify after upgrade
-
ipshadowt -vshows v2.2.1 - Log contains:
Upload tuning: send_buf=16777216 recv_buf=16777216 ... - On Linux with root:
sysctl net.ipv4.tcp_congestion_control→bbr - Upload test improved vs v2.2.0 on same port
Assets
| Platform | Binary |
|---|---|
| Linux AMD64 | ipshadowt-linux-amd64 |
| Linux ARM64 | ipshadowt-linux-arm64 |
| Linux ARMv7 | ipshadowt-linux-armv7 |
| Windows AMD64 | ipshadowt-windows-amd64.exe |
| macOS Intel | ipshadowt-darwin-amd64 |
| macOS Apple Silicon | ipshadowt-darwin-arm64 |
| Docker | ghcr.io/ipmartnetwork/ipshadowt:2.2.1 |
Checksums: SHA256SUMS.txt · MD5SUMS.txt in release assets.
Full changelog
See CHANGELOG.md for complete commit-level details.
Made with ❤️ by iPmart Network
Full Changelog: v2.2.0...v2.2.1