You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.MD
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,6 +235,7 @@ The table below explains all available settings and their functions in the clien
235
235
|`DOMAINS`|`["v.domain.com"]`| Array list (e.g., `["sub.site.com"]`) | The <br>NS<br> subdomain configured in Section 1. This must be exactly the same on both Client and Server. <br> Currently, avoid adding multiple domains! |
236
236
|`DATA_ENCRYPTION_METHOD`|`1`|`0` to `5`|**Encryption Algorithm:**<br><br>`0`: Disabled (No security)<br>`1`: XOR algorithm (Recommended - High speed, Medium security)<br>`2`: ChaCha20<br>`3`: AES-128-GCM<br>`4`: AES-192-GCM<br>`5`: AES-256-GCM (Highest security, lowest speed) |
237
237
|`ENCRYPTION_KEY`|`""`| String | Encryption key matched with the server. Connections fail without this. |
238
+
|`BASE_ENCODE_DATA`|`false`|`true` or `false`| Adds DNS-safe base encoding before packet transport. Usually keep `false`; enabling it increases overhead and may reduce throughput. |
238
239
|`LISTEN_IP`|`"0.0.0.0"`| Valid IP (e.g., `127.0.0.1`) | Local IP address the client listens on.<br><br>• `"127.0.0.1"`: Local device only (more secure)<br>• `"0.0.0.0"`: Accessible by all devices on your local network |
239
240
|`LISTEN_PORT`|`1080`| Port number (e.g., `1080`) | The port the client listens on so your apps (Browser, Telegram) can connect. |
240
241
|`SOCKS5_AUTH`|`true`|`true` or `false`| Enables local <br>SOCKS5<br> authentication. (If `false`, connecting to your proxy requires no user/pass). **Note:** This setting is solely for your local machine's security and has nothing to do with the tunnel connection. It only works if the protocol is set to <br>SOCKS5<br>. |
@@ -257,6 +258,7 @@ The table below explains all available settings and their functions in the clien
257
258
|`NUM_DNS_WORKERS`|`3`| Integer (e.g., `1`, `3`, `5`) | Number of TX workers sending DNS queries. Higher values improve concurrency but use more CPU. |
258
259
|`SOCKET_BUFFER_SIZE`|`8388608`| Integer (Bytes) | UDP Socket buffer size. Determines how much incoming data the OS buffers before dropping packets. High values recommended for high-traffic environments, requires sufficient RAM. |
259
260
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| Client logging verbosity. `DEBUG` helps troubleshooting but generates massive logs. `INFO` or `WARNING` is best for daily use. |
261
+
|`CONFIG_VERSION`|`3.0`| Float/Number | Config schema version used for compatibility checks with current client defaults. |
260
262
261
263
---
262
264
@@ -293,13 +295,16 @@ The following items were added/changed in recent versions and are reflected in `
293
295
|`SOCKS5_PASS`|`"123456"`| Custom string | Password for the external SOCKS proxy. |
294
296
|`ARQ_INITIAL_RTO`|`1.0`| Float (Seconds) | Initial ARQ Timeout. See client config table for details. |
295
297
|`ARQ_MAX_RTO`|`3.0`| Float (Seconds) | Max ARQ Retransmission limit. See client config table. |
298
+
|`SUPPORTED_UPLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| List of `0..3`| Server-allowed upload compression types. Invalid values are dropped; `0` (OFF) is always enforced as fallback. |
299
+
|`SUPPORTED_DOWNLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| List of `0..3`| Server-allowed download compression types. Invalid values are dropped; `0` (OFF) is always enforced as fallback. |
296
300
|`ARQ_WINDOW_SIZE`|`3000`| Integer | Server-side window size. Must scale with Server <br>RAM<br>. |
297
301
|`MAX_CONCURRENT_REQUESTS`|`1000`| Integer | Max concurrent async DNS queries handled by the server. 5000 for strong servers, 1000 for weaker ones. |
298
302
|`MAX_PACKETS_PER_BATCH`|`20`| Integer | Max number of small control packets merged together. 5-20 is ideal. `1` disables packing (reduces latency but increases CPU load). |
299
303
|`SOCKET_BUFFER_SIZE`|`8388608`| Integer (Bytes) | Server UDP Socket buffer size. High values recommended. |
300
304
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| Server logging verbosity. |
301
305
|`SESSION_TIMEOUT`|`300`| Integer (Seconds) | Inactivity duration before a Session is considered expired and killed. 300 (5 mins) is a good balance. |
302
306
|`SESSION_CLEANUP_INTERVAL`|`60`| Integer (Seconds) | Frequency the background worker scans for and purges dead sessions to free memory. |
307
+
|`CONFIG_VERSION`|`2.0`| Float/Number | Config schema version used for compatibility checks with current server defaults. |
Copy file name to clipboardExpand all lines: README_ES.MD
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -233,6 +233,7 @@ La siguiente tabla explica todas las opciones disponibles y sus funciones en el
233
233
|`DOMAINS`|`["v.domain.com"]`| Lista de valores (por ej., `["sub.site.com"]`) | El subdominio `NS` configurado en la Sección 1. Debe ser exactamente el mismo en el Cliente y en el Servidor. <br> ¡Por ahora, evitá agregar múltiples dominios! |
234
234
|`DATA_ENCRYPTION_METHOD`|`1`|`0` a `5`|**Algoritmo de Cifrado:**<br><br>`0`: Desactivado (Sin seguridad)<br>`1`: Algoritmo XOR (Recomendado - Alta velocidad, seguridad media)<br>`2`: ChaCha20<br>`3`: AES-128-GCM<br>`4`: AES-192-GCM<br>`5`: AES-256-GCM (Máxima seguridad, menor velocidad) |
235
235
|`ENCRYPTION_KEY`|`""`| Cadena de texto | Clave de cifrado que debe coincidir con el servidor. Las conexiones fallan sin esta clave. |
236
+
|`BASE_ENCODE_DATA`|`false`|`true` o `false`| Aplica una codificación base compatible con DNS antes del transporte. Normalmente dejalo en `false`; activarlo agrega overhead y puede bajar el rendimiento. |
236
237
|`LISTEN_IP`|`"0.0.0.0"`| IP válida (por ej., `127.0.0.1`) | Dirección IP local en la que escucha el cliente.<br><br>• `"127.0.0.1"`: Solo el dispositivo local (más seguro)<br>• `"0.0.0.0"`: Accesible por todos los dispositivos de tu red local |
237
238
|`LISTEN_PORT`|`1080`| Número de puerto (por ej., `1080`) | El puerto en el que escucha el cliente para que tus apps (Navegador, Telegram) puedan conectarse. |
238
239
|`SOCKS5_AUTH`|`true`|`true` o `false`| Habilita la autenticación local de `SOCKS5`. (Si es `false`, conectarse a tu proxy no requiere usuario/contraseña). **Nota:** Esta configuración es únicamente para la seguridad de tu máquina local y no tiene nada que ver con la conexión del túnel. Solo funciona si el protocolo está configurado en `SOCKS5`. |
@@ -255,6 +256,7 @@ La siguiente tabla explica todas las opciones disponibles y sus funciones en el
255
256
|`NUM_DNS_WORKERS`|`3`| Entero (por ej., `1`, `3`, `5`) | Cantidad de trabajadores TX que envían consultas DNS. Valores mayores mejoran la concurrencia pero consumen más CPU. |
256
257
|`SOCKET_BUFFER_SIZE`|`8388608`| Entero (Bytes) | Tamaño del buffer del socket UDP. Determina cuántos datos entrantes almacena en buffer el sistema operativo antes de descartar paquetes. Se recomiendan valores altos para entornos de alto tráfico; requiere RAM suficiente. |
257
258
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| Nivel de detalle de los registros del cliente. `DEBUG` ayuda a solucionar problemas pero genera registros masivos. `INFO` o `WARNING` es mejor para uso diario. |
259
+
|`CONFIG_VERSION`|`3.0`| Número (float/int) | Versión del esquema de configuración usada para validar compatibilidad con los valores actuales del cliente. |
258
260
259
261
---
260
262
@@ -289,6 +291,8 @@ Estos cambios ya están reflejados en los archivos `.simple` y en el código act
289
291
|`SOCKS5_AUTH`|`false`|`true` o `false`| Habilita la lógica de autenticación para el proxy SOCKS5 *Externo*. Solo se usa si `USE_EXTERNAL_SOCKS5=true`. |
290
292
|`SOCKS5_USER`|`"admin"`| Cadena personalizada | Nombre de usuario para el proxy SOCKS externo. |
291
293
|`SOCKS5_PASS`|`"123456"`| Cadena personalizada | Contraseña para el proxy SOCKS externo. |
294
+
|`SUPPORTED_UPLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| Lista de `0..3`| Tipos de compresión permitidos por el servidor para subida. Valores inválidos se eliminan y `0` (OFF) se garantiza siempre como fallback. |
295
+
|`SUPPORTED_DOWNLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| Lista de `0..3`| Tipos de compresión permitidos por el servidor para bajada. Valores inválidos se eliminan y `0` (OFF) se garantiza siempre como fallback. |
292
296
|`ARQ_INITIAL_RTO`|`1.0`| Float (Segundos) | Timeout ARQ inicial. Ver tabla de configuración del cliente para más detalles. |
293
297
|`ARQ_MAX_RTO`|`3.0`| Float (Segundos) | Límite máximo de retransmisión ARQ. Ver tabla del cliente. |
294
298
|`ARQ_WINDOW_SIZE`|`3000`| Entero | Tamaño de ventana del lado del servidor. Debe escalar con la RAM del Servidor. |
@@ -298,6 +302,7 @@ Estos cambios ya están reflejados en los archivos `.simple` y en el código act
298
302
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| Nivel de detalle de los registros del servidor. |
299
303
|`SESSION_TIMEOUT`|`300`| Entero (Segundos) | Duración de inactividad antes de que una Sesión se considere expirada y se termine. 300 (5 minutos) es un buen equilibrio. |
300
304
|`SESSION_CLEANUP_INTERVAL`|`60`| Entero (Segundos) | Frecuencia con la que el trabajador en segundo plano analiza y elimina sesiones muertas para liberar memoria. |
305
+
|`CONFIG_VERSION`|`2.0`| Número (float/int) | Versión del esquema de configuración usada para validar compatibilidad con los valores actuales del servidor. |
Copy file name to clipboardExpand all lines: README_FA.MD
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,6 +237,7 @@ python client.py
237
237
|`DOMAINS`|`["v.domain.com"]`| لیست آرایهای (مثلاً `["sub.site.com"]`) | آدرس زیردامنهٔ <br>NS<br> که در بخش ۱ تنظیم کردید. این مقدار باید در کلاینت و سرور کاملاً یکسان باشد. <br> در حال حاضر از ثبت چندین دامنه خودداری کنید!|
238
238
|`DATA_ENCRYPTION_METHOD`|`1`|`0` تا `5`|**الگوریتم رمزنگاری:**<br><br>`0`: خاموش (بدون امنیت)<br>`1`: الگوریتم XOR (توصیه شده - سرعت بالا، امنیت متوسط)<br>`2`: ChaCha20<br>`3`: AES-128-GCM<br>`4`: AES-192-GCM<br>`5`: AES-256-GCM (بالاترین امنیت، کمترین سرعت) |
239
239
|`ENCRYPTION_KEY`|`""`| رشته متنی (String) | کلید رمزنگاری هماهنگ با سرور. بدون این کلید ارتباط با سرور رد میشود. |
240
+
|`BASE_ENCODE_DATA`|`false`|`true` یا `false`| قبل از ارسال بستهها، داده را به قالب Base سازگار با DNS تبدیل میکند. معمولاً روی `false` بماند؛ فعال بودنش سربار را بیشتر و سرعت را کمتر میکند. |
240
241
|`LISTEN_IP`|`"0.0.0.0"`| IP معتبر (مثلاً `127.0.0.1`) | آدرس IP محلی که کلاینت روی آن سرویس میدهد.<br><br>• `"127.0.0.1"`: فقط دستگاه خودتان (امنتر)<br>• `"0.0.0.0"`: دسترسی تمام دستگاههای متصل به شبکه محلی شما |
241
242
|`LISTEN_PORT`|`1080`| شماره پورت (مثلاً `1080`) | پورتی که کلاینت روی آن گوش میدهد تا برنامههای شما (تلگرام، مرورگر) به آن متصل شوند. |
242
243
|`SOCKS5_AUTH`|`true`|`true` یا `false`| فعالسازی احراز هویت پروکسی <br>SOCKS5<br> محلی. (اگر <br>`false`<br> باشد، اتصال به پروکسی شما نیازی به یوزر/پسورد ندارد). **نکته:** این تنظیم فقط برای امنیت سیستم خودتان است و ربطی به اتصال به سرور تونل ندارد و فقط در صورتی کار میکند که نوع پروتکل ارتباطی <br>SOCKS5<br> باشد. |
@@ -259,6 +260,7 @@ python client.py
259
260
|`NUM_DNS_WORKERS`|`3`| عدد صحیح (مثلاً `1` یا `3` یا `5`) | تعداد کارگرهای (Workers) DNS که مسئول ارسال کوئریهای DNS و پردازش پاسخها هستند. افزایش این مقدار میتواند در شبکههای با ترافیک بالا یا تاخیر زیاد مفید باشد، اما مصرف منابع را نیز افزایش میدهد. |
260
261
|`SOCKET_BUFFER_SIZE`|`8388608`| عدد صحیح (بایت) | اندازه بافر سوکت UDP. این مقدار تعیین میکند که چقدر داده میتواند در بافر سوکت ذخیره شود قبل از اینکه سیستم عامل شروع به رد کردن بستهها کند. افزایش این مقدار در شبکههای با ترافیک بالا یا تاخیر زیاد توصیه میشود، اما توجه داشته باشید که مقادیر بسیار بالا ممکن است باعث مصرف بیش از حد حافظه شود. |
261
262
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| سطح لاگگیری برای کلاینت. تنظیم این مقدار به `DEBUG` میتواند در هنگام عیبیابی مفید باشد، اما ممکن است حجم زیادی از لاگها را تولید کند. برای استفاده روزمره، `INFO` یا `WARNING` معمولاً کافی است. |
263
+
|`CONFIG_VERSION`|`3.0`| عدد (اعشاری/صحیح) | نسخه ساختار فایل کانفیگ برای بررسی سازگاری با نسخه فعلی کلاینت. |
262
264
263
265
---
264
266
@@ -293,6 +295,8 @@ python client.py
293
295
|`SOCKS5_AUTH`|`false`|`true` یا `false`| فعالسازی احراز هویت برای پروکسی ساکس5 خارجی. این تنظیم فقط در صورتی استفاده میشود که <br>`USE_EXTERNAL_SOCKS5=true`<br> باشد و پروکسی خارجی شما نیاز به احراز هویت داشته باشد. |
294
296
|`SOCKS5_USER`|`"admin"`| رشته متنی دلخواه | هویت در پروکسی ساکس5 خارجی (در صورت فعال بودن `SOCKS5_AUTH`). |
295
297
|`SOCKS5_PASS`|`"123456"`| رشته متنی دلخواه | رمز عبور برای احراز هویت در پروکسی ساکس5 خارجی (در صورت فعال بودن `SOCKS5_AUTH`). |
298
+
|`SUPPORTED_UPLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| لیست اعداد `0..3`| لیست الگوریتمهای فشردهسازی مجاز سمت سرور برای آپلود. مقادیر نامعتبر حذف میشوند و مقدار `0` (خاموش) همیشه بهعنوان حالت جایگزین اجباری است. |
299
+
|`SUPPORTED_DOWNLOAD_COMPRESSION_TYPES`|`[0, 1, 2, 3]`| لیست اعداد `0..3`| لیست الگوریتمهای فشردهسازی مجاز سمت سرور برای دانلود. مقادیر نامعتبر حذف میشوند و مقدار `0` (خاموش) همیشه بهعنوان حالت جایگزین اجباری است. |
296
300
|`ARQ_INITIAL_RTO`|`1.0`| عدد اعشاری (ثانیه) | زمان اولیه تایماوت برای پروتکل <br>ARQ<br> در صورت عدم دریافت تایید برای یک بسته. این مقدار تعیین میکند که کلاینت پس از ارسال یک بسته، چقدر منتظر پاسخ بماند قبل از اینکه آن را مجدداً ارسال کند. افزایش این مقدار در شبکههای با تاخیر بالا یا تلفات سنگین توصیه میشود، اما ممکن است باعث کند شدن واکنش به بستههای گمشده شود. |
297
301
|`ARQ_MAX_RTO`|`3.0`| عدد اعشاری (ثانیه) | حداکثر زمان قابل افزایش برای ارسال مجدد پکت توسط <br>ARQ<br>. این مقدار تعیین میکند که در صورت تکرار نشدن دریافت تایید برای یک بسته، حداکثر چقدر زمان بین تلاشهای مجدد افزایش یابد. تنظیم این مقدار به ۵.۰ یا حتی ۱۰.۰ در شبکههای بسیار پر اختلال ممکن است لازم باشد، اما توجه داشته باشید که مقادیر بسیار بالا ممکن است باعث شود کلاینت برای مدت طولانی منتظر بماند قبل از تلاش مجدد، که میتواند تجربه کاربری را تحت تأثیر قرار دهد. |
298
302
|`ARQ_WINDOW_SIZE`|`3000`| عدد صحیح (مثلاً `300` یا `1000` یا `3000`) | اندازه پنجره (تعداد بستههای بدون تایید که میتوانند همزمان در جریان باشند). این مقدار باید متناسب با حافظه <br>RAM<br> سرور تنظیم شود. برای اکثر کاربران، مقدار ۳۰۰۰ تعادل خوبی بین عملکرد و مصرف منابع ایجاد میکند، اما اگر سرور شما <br>RAM<br> بسیار کمی دارد، کاهش این مقدار به ۳۰۰ ممکن است ضروری باشد. اما کاهش این مقدار ممکن است باعث قطع و وصل شدن ارتباطات شود. |
@@ -302,6 +306,7 @@ python client.py
302
306
|`LOG_LEVEL`|`"INFO"`|`"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"`| سطح لاگگیری برای سرور. تنظیم این مقدار به `DEBUG` میتواند در هنگام عیبیابی مفید باشد، اما ممکن است حجم زیادی از لاگها را تولید کند. برای استفاده روزمره، `INFO` یا `WARNING` معمولاً کافی است. |
303
307
|`SESSION_TIMEOUT`|`300`| عدد صحیح (ثانیه) | مدت زمان عدم فعالیت (ثانیه) پس از آنکه یک نشست (Session) منقضی در نظر گرفته میشود. این مقدار تعیین میکند که اگر یک نشست برای مدت زمان مشخصی بدون فعالیت باقی بماند، سرور آن را منقضی شده در نظر گرفته و منابع مربوط به آن را آزاد میکند. تنظیم این مقدار به ۳۰۰ ثانیه (۵ دقیقه) معمولاً تعادل خوبی بین حفظ نشستهای فعال و آزادسازی منابع برای نشستهای غیرفعال ایجاد میکند. |
304
308
|`SESSION_CLEANUP_INTERVAL`|`60`| عدد صحیح (ثانیه) | فرکانس (ثانیه) که سرور برای بررسی و حذف نشستهای منقضی شده استفاده میکند. این مقدار تعیین میکند که هر چند وقت یکبار سرور به صورت دورهای بررسی کند که کدام نشستها منقضی شدهاند و منابع مربوط به آنها را آزاد کند. تنظیم این مقدار به ۶۰ ثانیه (۱ دقیقه) معمولاً تعادل خوبی بین عملکرد و مصرف منابع ایجاد میکند. |
309
+
|`CONFIG_VERSION`|`2.0`| عدد (اعشاری/صحیح) | نسخه ساختار فایل کانفیگ برای بررسی سازگاری با نسخه فعلی سرور. |
0 commit comments