diff --git a/README.md b/README.md
index 09d33e0..e9e2164 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,8 @@
   [](https://t.me/telemtrs)
+[🇷🇺 README на русском](https://github.com/telemt/telemt/blob/main/README.ru.md)
+
***Löst Probleme, bevor andere überhaupt wissen, dass sie existieren*** / ***It solves problems before others even realize they exist***
> [!NOTE]
diff --git a/README.ru.md b/README.ru.md
index 4bb7d3a..17d79ad 100644
--- a/README.ru.md
+++ b/README.ru.md
@@ -85,4 +85,25 @@ telemt config.toml
- Безопасность памяти;
- Асинхронная архитектура Tokio.
+## Поддержать Telemt
+
+Telemt — это бесплатное программное обеспечение с открытым исходным кодом, разработанное в свободное время.
+Если оно оказалось вам полезным, вы можете поддержать дальнейшую разработку.
+
+Принимаемые криптовалюты (BTC, ETH, USDT, 350+ и другие):
+
+
+
+
+
+
+
+Monero (XMR) напрямую:
+
+```
+8Bk4tZEYPQWSypeD2hrUXG2rKbAKF16GqEN942ZdAP5cFdSqW6h4DwkP5cJMAdszzuPeHeHZPTyjWWFwzeFdjuci3ktfMoB
+```
+
+Все пожертвования пойдут на инфраструктуру, разработку и исследования.
+

diff --git a/docs/Config_params/CONFIG_PARAMS.en.md b/docs/Config_params/CONFIG_PARAMS.en.md
index 5931ce0..b4627eb 100644
--- a/docs/Config_params/CONFIG_PARAMS.en.md
+++ b/docs/Config_params/CONFIG_PARAMS.en.md
@@ -2106,7 +2106,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
- **Example**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
```
## announce
@@ -2115,7 +2115,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
- **Example**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
announce = "proxy.example.com"
```
@@ -2125,7 +2125,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
- **Example**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
announce_ip = "203.0.113.10"
```
@@ -2138,7 +2138,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
[server]
proxy_protocol = false
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
proxy_protocol = true
```
@@ -2149,7 +2149,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
- **Example**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
reuse_allow = false
```
@@ -2907,7 +2907,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
```
-# [upstreams]
+# [[upstreams]]
| Key | Type | Default |
@@ -2926,18 +2926,18 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
## type
- **Constraints / validation**: Required field. Must be one of: `"direct"`, `"socks4"`, `"socks5"`, `"shadowsocks"`.
- - **Description**: Selects the upstream transport implementation for this `[upstreams]` entry.
+ - **Description**: Selects the upstream transport implementation for this `[[upstreams]]` entry.
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
- [upstreams]
+ [[upstreams]]
type = "shadowsocks"
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
```
@@ -2947,7 +2947,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
weight = 10
```
@@ -2957,7 +2957,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
enabled = false
@@ -2968,7 +2968,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks4"
address = "10.0.0.10:1080"
scopes = "me, fetch, dc2"
@@ -2982,11 +2982,11 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
interface = "eth0"
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "203.0.113.10:1080"
interface = "192.0.2.10" # explicit local bind IP
@@ -2999,7 +2999,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
bind_addresses = ["192.0.2.10", "192.0.2.11"]
```
@@ -3015,7 +3015,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
[general]
use_middle_proxy = false
- [upstreams]
+ [[upstreams]]
type = "shadowsocks"
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
```
@@ -3025,7 +3025,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
```
@@ -3035,7 +3035,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks4"
address = "127.0.0.1:1080"
user_id = "telemt"
@@ -3046,7 +3046,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
username = "alice"
@@ -3057,7 +3057,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
- **Example**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
username = "alice"
diff --git a/docs/Config_params/CONFIG_PARAMS.ru.md b/docs/Config_params/CONFIG_PARAMS.ru.md
index 74d1fb1..bdd2dac 100644
--- a/docs/Config_params/CONFIG_PARAMS.ru.md
+++ b/docs/Config_params/CONFIG_PARAMS.ru.md
@@ -2112,7 +2112,7 @@
- **Пример**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
```
## announce
@@ -2121,7 +2121,7 @@
- **Пример**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
announce = "proxy.example.com"
```
@@ -2131,7 +2131,7 @@
- **Пример**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
announce_ip = "203.0.113.10"
```
@@ -2144,7 +2144,7 @@
[server]
proxy_protocol = false
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
proxy_protocol = true
```
@@ -2155,7 +2155,7 @@
- **Пример**:
```toml
- [server.listeners]
+ [[server.listeners]]
ip = "0.0.0.0"
reuse_allow = false
```
@@ -2912,7 +2912,7 @@
```
-# [upstreams]
+# [[upstreams]]
| Ключ | Тип | По умолчанию |
@@ -2931,18 +2931,18 @@
## type
- **Ограничения / валидация**: Обязательный параметр.`"direct"`, `"socks4"`, `"socks5"`, `"shadowsocks"`.
- - **Описание**: Выбирает реализацию upstream-транспорта для этой записи в `[upstreams]`.
+ - **Описание**: Выбирает реализацию upstream-транспорта для этой записи в `[[upstreams]]`.
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
- [upstreams]
+ [[upstreams]]
type = "shadowsocks"
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
```
@@ -2952,7 +2952,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
weight = 10
```
@@ -2962,7 +2962,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
enabled = false
@@ -2973,7 +2973,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks4"
address = "10.0.0.10:1080"
scopes = "me, fetch, dc2"
@@ -2987,11 +2987,11 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
interface = "eth0"
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "203.0.113.10:1080"
interface = "192.0.2.10" # explicit local bind IP
@@ -3004,7 +3004,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "direct"
bind_addresses = ["192.0.2.10", "192.0.2.11"]
```
@@ -3020,7 +3020,7 @@
[general]
use_middle_proxy = false
- [upstreams]
+ [[upstreams]]
type = "shadowsocks"
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
```
@@ -3030,7 +3030,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
```
@@ -3040,7 +3040,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks4"
address = "127.0.0.1:1080"
user_id = "telemt"
@@ -3051,7 +3051,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
username = "alice"
@@ -3062,7 +3062,7 @@
- **Пример**:
```toml
- [upstreams]
+ [[upstreams]]
type = "socks5"
address = "127.0.0.1:9050"
username = "alice"
diff --git a/docs/Quick_start/QUICK_START_GUIDE.en.md b/docs/Quick_start/QUICK_START_GUIDE.en.md
index 488db17..a7d9620 100644
--- a/docs/Quick_start/QUICK_START_GUIDE.en.md
+++ b/docs/Quick_start/QUICK_START_GUIDE.en.md
@@ -1,9 +1,36 @@
+# Installation Options
+There are three options for installing Telemt:
+ - [Automated installation using a script](#very-quick-start).
+ - [Manual installation of Telemt as a service](#telemt-via-systemd).
+ - [Installation using Docker Compose](#telemt-via-docker-compose).
+
# Very quick start
### One-command installation / update on re-run
```bash
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh
```
+
+After starting, the script will prompt for:
+ - Your language (1 - English, 2 - Russian);
+ - Your TLS domain (press Enter for petrovich.ru).
+
+The script checks if the port (default **443**) is free. If the port is already in use, installation will fail. You need to free up the port or use the **-p** flag with a different port to retry the installation.
+
+To modify the script’s startup parameters, you can use the following flags:
+ - **-d, --domain** - TLS domain;
+ - **-p, --port** - server port (1–65535);
+ - **-s, --secret** - 32 hex secret;
+ - **-a, --ad-tag** - ad_tag;
+ - **-l, --lan**g - language (1/en or 2/ru);
+
+Providing all options skips interactive prompts.
+
+After completion, the script will provide a link for client connections:
+```bash
+tg://proxy?server=IP&port=PORT&secret=SECRET
+```
+
### Installing a specific version
```bash
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39
diff --git a/docs/Quick_start/QUICK_START_GUIDE.ru.md b/docs/Quick_start/QUICK_START_GUIDE.ru.md
index 9cef988..e9b5bab 100644
--- a/docs/Quick_start/QUICK_START_GUIDE.ru.md
+++ b/docs/Quick_start/QUICK_START_GUIDE.ru.md
@@ -1,9 +1,35 @@
+# Варианты установки
+Имеется три варианта установки Telemt:
+ - [Автоматизированная установка с помощью скрипта](#очень-быстрый-старт).
+ - [Ручная установка Telemt в качестве службы](#telemt-через-systemd-вручную).
+ - [Установка через Docker Compose](#telemt-через-docker-compose).
+
# Очень быстрый старт
### Установка одной командой / обновление при повторном запуске
```bash
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh
```
+После запуска скрипт запросит:
+ - ваш язык (1 - English, 2 - Русский);
+ - ваш TLS-домен (нажмите Enter для petrovich.ru).
+
+Во время установки скрипт проверяет, свободен ли порт (по умолчанию **443**). Если порт занят другим процессом - установка завершится с ошибкой. Для повторной установки необходимо освободить порт или указать другой через флаг **-p**.
+
+Для изменения параметров запуска скрипта можно использовать следующие флаги:
+ - **-d, --domain** - TLS-домен;
+ - **-p, --port** - порт (1–65535);
+ - **-s, --secret** - секрет (32 hex символа);
+ - **-a, --ad-tag** - ad_tag;
+ - **-l, --lang** - язык (1/en или 2/ru).
+
+Если заданы флаги для языка и домена, интерактивных вопросов не будет.
+
+После завершения установки скрипт выдаст ссылку для подключения клиентов:
+```bash
+tg://proxy?server=IP&port=PORT&secret=SECRET
+```
+
### Установка нужной версии
```bash
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39