No need to register foreign server IPs - Only your Iranian server IP needs to be registered, and foreign servers can connect to this Iranian server.
If the Iranian server IP changes, be sure to update it in the bot and delete/reconfigure tunnels, otherwise the connection will be lost.
🌐 Comprehensive Introduction
A professional solution for creating secure, high-speed reverse tunnels between servers that utilizes the latest networking technologies to enable traffic transfer with minimal latency. This system is specifically designed for latency-sensitive environments requiring high security.
- Latency: <10ms in optimized networks
- Bandwidth: Jumbo Frames support (9000 bytes)
- Security: TLS 1.3 with AES-256-GCM encryption
- Optimization: 40% reduced CPU usage with proprietary algorithms
| Protocol | 📌 Key Features | 🏆 Best Use Cases | 🔧 Optimal Parameters |
|---|---|---|---|
| 🛰️ TCP | 🔗 Stable & reliable connection 📦 Packet delivery guarantee ⚖️ Automatic flow control |
🖥️ File transfers 📧 Email protocols 🌐 Web browsers |
window_size=256kkeepalive=60s |
| 🌀 UDP | ⚡ High speed 🔄 Connectionless communication 📡 Suitable for real-time data |
🎮 Online gaming 📞 VoIP 📹 Video streaming |
buffer=2MBtimeout=3s |
| 🌐 WS | 🔄 Bidirectional communication 🌍 HTTP-based 🚀 Suitable for WebSockets |
💬 Real-time chat 📊 Live updates 🎮 Browser games |
ping_interval=25smax_size=1MB |
| 🌉 TCPMux | 🔗 Connection multiplexing ⚡ Reduced overhead 📦 Optimized for bulk data |
🖥️ Large data transfers 🏢 Enterprise communications |
mux_con=8timeout=30s |
| 🕸️ WSMux | 🌐 WebSocket + Multiplexing 🛡️ Firewall bypass 🗜️ Compression |
💻 Advanced web apps 📱 Mobile communications |
compression=zlibping_interval=25s |
| 🔐 WSS | 🔒 WS + SSL/TLS 🛡️ End-to-end encryption 📈 High security |
🏦 Financial transactions 🔐 Secure logins 🏥 Medical data |
tls_version=1.3cert_check=strict |
| 🔐 WSSMux | 🔒 WSMux + SSL/TLS 🛡️ End-to-end security 📈 Optimized for transactions |
🏦 Financial systems 🏥 Medical communications |
tls_version=1.3cert_check=strict |
| 🚄 UTCPmux | ⚡ High-speed optimized 📡 Jumbo Frames 🌐 40% CPU reduction |
🖥️ Data centers ☁️ Cloud services |
frame_size=9000concurrency=16 |
| 🛡️ UWSmux | 🗜️ Smart compression ⏱️ 30% latency reduction 🔄 Auto-recovery |
💼 Enterprise communications 🌍 International services |
compress_level=6recovery_time=5s |
This table helps you choose the best protocol based on your needs:
| Criterion | Technical Description | TCP | TCPMux | UDP | WS | WSS | WSMux | WSSMux | UTCPmux | UWSmux |
|---|---|---|---|---|---|---|---|---|---|---|
| Speed | Data transfer rate per second | 🟢 | 🔵 | 🔵 | 🟢 | 🟡 | 🟢 | 🟡 | 🔵 | 🟢 |
| Security | Encryption & protection level | 🟡 | 🟡 | 🔴 | 🟡 | 🟢 | 🟡 | 🟢 | 🟢 | 🟢 |
| Stability | Connection drop resistance | 🟢 | 🟢 | 🔴 | 🟢 | 🟢 | 🟢 | 🟢 | 🔵 | 🟢 |
| Latency | Response time (ms) | 🟡 | 🟡 | 🟢 | 🟡 | 🟡 | 🟡 | 🟡 | 🟢 | 🟢 |
| Optimization | System resource usage | 🟡 | 🟢 | 🟢 | 🟡 | 🟡 | 🟢 | 🟢 | 🟢 | 🟢 |
- For online gaming: UDP (low latency)
- For banking: WSSMux (high security)
- For large file transfers: TCPMux (resource optimized)
- For video streaming: UTCPmux (high bandwidth)
- For enterprise chat: UWSmux (balanced speed & security)
- 🟢 Excellent
- 🔵 Very Good
- 🟡 Average
- 🔴 Basic
- Reliability: 🛰️ TCP / 🌉 TCPMux
- Speed: 🌀 UDP
- Basic Web: 🌐 WS
- Secure Web: 🔐 WSS
- Advanced Web: 🕸️ WSMux / 🔐 WSSMux
- Optimization: 🚄 UTCPmux (speed) / 🛡️ UWSmux (security)
- Always use secure versions for web
- Adjust
buffersettings according to bandwidth - Use WSMux for modern web applications
- Mux versions are suitable for reducing latency and resource usage
⚙️ Optimal Settings
✅ Best Practices
For web communications: Use UWSmux with default settings
For bulk data transfer: UTCPmux with mux_version=2
Security settings: Enable TLS and use valid certificates
Always use the latest protocol version
When changing versions, reset all related parameters
Use appropriate channel_size for your traffic load
✅ Always use mux_version=2:
30-50% reduction in mux_con requirements
20-40% overall performance improvement
Lower resource consumption
Additional Explanations
UTunnel uses MUX (Multiplexing) to transfer multiple data streams over a single connection. This reduces overhead and improves efficiency in network tunnels.
The following config file parameters can be adjusted for precise MUX performance tuning. This section explains each parameter and examines the effects of increasing/decreasing their values.
📌 Description:
Determines the size of each data frame in the MUX protocol. Default is 32KB (32768 bytes).
✅ Effect of increasing (e.g. 65536):
- Improves large data transfers (e.g. big files)
- Reduces overhead (data split into fewer frames)
- Suitable for high-speed networks
❌ Effect of decreasing (e.g. 16384):
- Optimized for light traffic (e.g. chat/quick commands)
- Increases overhead (more frames for large data)
- May have lower efficiency for large file transfers
📌 Description:
Sets the total receive buffer size for all MUX streams. Default is 4MB (4194304 bytes).
✅ Effect of increasing (e.g. 8388608):
- Improves performance on high-latency networks (e.g. satellite internet)
- Prevents data loss in heavy traffic
- Suitable for high-traffic servers
❌ Effect of decreasing (e.g. 2097152):
- Reduces memory usage (good for low-power devices)
- May cause data loss in heavy traffic
📌 Description:
Sets the buffer size for each individual stream in MUX. Default is 64KB (65536 bytes).
✅ Effect of increasing (e.g. 131072):
- Improves data transfer for heavy streams (e.g. video streaming)
- Reduces latency in large data processing
❌ Effect of decreasing (e.g. 32768):
- Saves memory (good for low-power devices)
- May have lower efficiency for large data transfers
| Usage Type | Recommended Settings | Explanation |
|---|---|---|
| Light traffic (chat, commands) | mux_framesize=16384, mux_streambuffer=32768 |
Reduces overhead for quick communications |
| Heavy traffic (files, video) | mux_framesize=65536, mux_recievebuffer=8388608 |
Improves large data transfers |
| High-latency networks | mux_recievebuffer=8388608 |
Prevents data loss in weak networks |
| Low-power devices (RPi) | mux_streambuffer=32768, mux_recievebuffer=2097152 |
Reduces memory consumption |
To manage 50 to 500 concurrent users in UTunnel, you should optimize settings based on scalability, resource usage and stability. The table below shows recommended values for different user levels:
| Parameter | 50 users | 100 users | 200 users | 300 users | 400 users | 500 users | Description |
|---|---|---|---|---|---|---|---|
transport |
wssmux |
wssmux |
wssmux |
wssmux |
wssmux |
wssmux |
Secure & stable protocol |
mux_con |
8 |
16 |
24 |
32 |
40 |
48 |
Concurrent connections |
mux_framesize |
16384 (16 KiB) |
32768 (32 KiB) |
32768 (32 KiB) |
65536 (64 KiB) |
65536 (64 KiB) |
65536 (64 KiB) |
Data frame size |
mux_recievebuffer |
4194304 (4 MiB) |
8388608 (8 MiB) |
16777216 (16 MiB) |
25165824 (24 MiB) |
33554432 (32 MiB) |
50331648 (48 MiB) |
Total receive buffer |
mux_streambuffer |
32768 (32 KiB) |
65536 (64 KiB) |
65536 (64 KiB) |
131072 (128 KiB) |
131072 (128 KiB) |
262144 (256 KiB) |
Per-stream buffer |
connection_pool |
8 |
12 |
16 |
20 |
24 |
32 |
Reserved connections |
heartbeat |
40 seconds |
30 seconds |
25 seconds |
20 seconds |
15 seconds |
10 seconds |
Connection check interval |
channel_size |
2048 |
4096 |
8192 |
12288 |
16384 |
24576 |
Communication channel capacity |
log_level |
info |
warn |
warn |
error |
error |
error |
Log detail level |
🎯 Conclusion
50-200 users: Normal settings with slight buffer increases
200-500 users: Significant mux_recievebuffer/mux_streambuffer increase + reduced heartbeat
500+ users: Requires clustering or more powerful servers
These values are suggested based on resource-performance balance optimization. Specific environments may require finer tuning.
These parameters should be adjusted based on network needs and hardware.
🔹 For high-speed networks: Increase mux_framesize and mux_recievebuffer
🔹 For limited memory: Decrease mux_streambuffer and mux_recievebuffer
🔹 For testing: Always verify performance after changing values!
With optimal parameter tuning, you can achieve maximum performance from UTunnel! 🚀
🖼️ Image Gallery
📝 Comprehensive Operational Modes Guide
🔵 Server Mode (Runs on Iranian server)
Service name: Any English letters/numbers (unique per server)
Token: Must match foreign server value
Tunnel port: Must match foreign server value
mux_con: Multiplex connection count (default: 8)
🟢 Client Mode (Runs on foreign server)
Requires Iranian server IP and tunnel port (matching server settings)
🟡 Other Modes:
Status: Show tunnel statuses
Restart: Restart one/all tunnels
Stop: Stop one/all tunnel services
Delete: Remove one/all tunnels
Timer: Set auto-restart (1-23 hours)
🔧 Port Configuration Examples
443-600 # Listen on ports 443-600 and forward to same ports on destination
443-600:5201 # Listen on 443-600 and forward to port 5201
443-600=1.1.1.1:5201 # Listen on 443-600 and forward to port 5201 at IP 1.1.1.1
443 # Listen on port 443 and forward to destination port 443
4000=5000 # Listen on 4000 and forward to 5000
127.0.0.2:443=5201 # Listen on 443 at IP 127.0.0.2 and forward to 5201
443=1.1.1.1:5201 # Listen on 443 and forward to 5201 at 1.1.1.1
127.0.0.2:443=1.1.1.1:5201 # Listen on 443 at 127.0.0.2 and forward to 5201 at 1.1.1.1
💻 Installation Guide
Run this command to install:
bash <(curl -s https://raw.githubusercontent.com/aliamg1356/utunnel/refs/heads/main/install_utunnel.sh --ipv4)
🤖 Telegram Monitoring Bot Installation
bash <(curl -s https://raw.githubusercontent.com/aliamg1356/utunnel/refs/heads/main/MonitorBotinstall.sh --ipv4)
After execution:
Select installation option
Enter your bot token and chat ID
Set tunnel check interval in seconds
We appreciate your support for continuous project development:
| Network | Currency | Wallet Address | Icon |
|---|---|---|---|
| Tron | TRX (TRC20) | TMXRpCsbz8PKzqN4koXiErawdLXzeinWbQ |
|
| Ethereum | USDT (ERC20) | 0xD4cEBA0cFf6769Fb9EFE4606bE59C363Ff85BF76 |
🙏 We appreciate your valuable trust and support
Any financial contribution motivates further development and improvement






