Skip to content

Latest commit

 

History

History
313 lines (212 loc) · 16.3 KB

File metadata and controls

313 lines (212 loc) · 16.3 KB

🚀 UTunnel Manager - Professional Secure Tunneling Solution

🔥 Exceptional performance even on heavily restricted foreign servers 🔥

Go Version License Foreign Servers Support
x86_64 ARM64 RISC-V

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.

🔬 Key Technical Specifications

  • 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

🌟 Complete Protocols and Their Applications

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=256k
keepalive=60s
🌀 UDP ⚡ High speed
🔄 Connectionless communication
📡 Suitable for real-time data
🎮 Online gaming
📞 VoIP
📹 Video streaming
buffer=2MB
timeout=3s
🌐 WS 🔄 Bidirectional communication
🌍 HTTP-based
🚀 Suitable for WebSockets
💬 Real-time chat
📊 Live updates
🎮 Browser games
ping_interval=25s
max_size=1MB
🌉 TCPMux 🔗 Connection multiplexing
⚡ Reduced overhead
📦 Optimized for bulk data
🖥️ Large data transfers
🏢 Enterprise communications
mux_con=8
timeout=30s
🕸️ WSMux 🌐 WebSocket + Multiplexing
🛡️ Firewall bypass
🗜️ Compression
💻 Advanced web apps
📱 Mobile communications
compression=zlib
ping_interval=25s
🔐 WSS 🔒 WS + SSL/TLS
🛡️ End-to-end encryption
📈 High security
🏦 Financial transactions
🔐 Secure logins
🏥 Medical data
tls_version=1.3
cert_check=strict
🔐 WSSMux 🔒 WSMux + SSL/TLS
🛡️ End-to-end security
📈 Optimized for transactions
🏦 Financial systems
🏥 Medical communications
tls_version=1.3
cert_check=strict
🚄 UTCPmux ⚡ High-speed optimized
📡 Jumbo Frames
🌐 40% CPU reduction
🖥️ Data centers
☁️ Cloud services
frame_size=9000
concurrency=16
🛡️ UWSmux 🗜️ Smart compression
⏱️ 30% latency reduction
🔄 Auto-recovery
💼 Enterprise communications
🌍 International services
compress_level=6
recovery_time=5s

📊 Protocol Selection Matrix - Comprehensive Guide

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 🟡 🟢 🟢 🟡 🟡 🟢 🟢 🟢 🟢

🧩 Selection Guide:

  • 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)

Legend:

  • 🟢 Excellent
  • 🔵 Very Good
  • 🟡 Average
  • 🔴 Basic

✨ Protocol Selection Guide:

  1. Reliability: 🛰️ TCP / 🌉 TCPMux
  2. Speed: 🌀 UDP
  3. Basic Web: 🌐 WS
  4. Secure Web: 🔐 WSS
  5. Advanced Web: 🕸️ WSMux / 🔐 WSSMux
  6. Optimization: 🚄 UTCPmux (speed) / 🛡️ UWSmux (security)

⚠️ Technical Notes:

  • Always use secure versions for web
  • Adjust buffer settings according to bandwidth
  • Use WSMux for modern web applications
  • Mux versions are suitable for reducing latency and resource usage
System Architecture

Overview of advanced system architecture

⚙️ 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

⚠️ Important Technical Notes

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

⚠️ Important Notice: When changing versions, always reset channel_size and connection_pool!

Additional Explanations

MUX Parameters Explanation in UTunnel

📌 Introduction

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.


🔹 MUX Parameters and Their Effects

1. mux_framesize = 32768

📌 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

2. mux_recievebuffer = 4194304

📌 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

3. mux_streambuffer = 65536

📌 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

🎯 Recommended Settings Based on Needs

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:


📊 UTunnel Optimal Settings for Different Concurrent Users

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.

📌 Final Notes

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

Sample 1 Sample 2 Sample 4

📝 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

💰 Financial Support

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