+
+
+
@@ -9,7 +15,7 @@
> [!TIP]
>
-> ### [🎉 Поддержать меня](./Funding.md)
+> ### [🎉 Поддержать меня](./RU/Funding.md)
>
> **USDT (TRC20)**: `TXPnKs2Ww1RD8JN6nChFUVmi5r2hqrWjuu`
> **BTC**: `bc1qr8vd6jelkyyry3m4mq6z5txdx4pl856fu6ss0w`
@@ -40,17 +46,17 @@
## Навигация
- **🚀 Быстрый старт**
- - **[Windows](./README.windows.md)**
- - **[macOS](./README.macos.md)**
- - **[Linux](./README.linux.md)**
- - **[Docker](./README.docker.md)**
-- [Настройка Cloudflare Worker'а (бесплатный аналог CF-прокси)](./CfWorker.md)
-- [Настройка Cloudflare-домена (CF-прокси)](./CfProxy.md)
-- [Тестовое окружение Telegram (тестовые DC)](./TestDc.md)
-- [Fake TLS + upstream в Nginx](./FakeTlsNginx.md)
-- [Файлы конфигурации Tray-приложения](./TrayConfig.md)
-- [Установка из исходников](./BuildFromSource.md)
-- [Руководство для контрибьюторов](./CONTRIBUTING.md)
+ - **[Windows](./RU/README.windows.md)**
+ - **[macOS](./RU/README.macos.md)**
+ - **[Linux](./RU/README.linux.md)**
+ - **[Docker](./RU/README.docker.md)**
+- [Настройка Cloudflare Worker'а (бесплатный аналог CF-прокси)](./RU/CfWorker.md)
+- [Настройка Cloudflare-домена (CF-прокси)](./RU/CfProxy.md)
+- [Тестовое окружение Telegram (тестовые DC)](./RU/TestDc.md)
+- [Fake TLS + upstream в Nginx](./RU/FakeTlsNginx.md)
+- [Файлы конфигурации Tray-приложения](./RU/TrayConfig.md)
+- [Установка из исходников](./RU/BuildFromSource.md)
+- [Руководство для контрибьюторов](./RU/CONTRIBUTING.md)
## Windows: быстрый вход
@@ -110,7 +116,7 @@ Telegram Desktop → MTProto Proxy (127.0.0.1:1443) → WebSocket → Telegram D
> **Удалите в настройках прокси в DC → IP всё, кроме `4:149.154.167.220`**
> **Если это не помогло, полностью очистите это поле**
> Подобная проблема встречается на аккаунтах без Premium
-> Если это не помогло, настройте собственный домен по инструкции: [CfProxy.md](./CfProxy.md)
+> Если это не помогло, настройте собственный домен по инструкции: [CfProxy.md](./RU/CfProxy.md)
## Автоматическая сборка
diff --git a/docs/BuildFromSource.md b/docs/RU/BuildFromSource.md
similarity index 100%
rename from docs/BuildFromSource.md
rename to docs/RU/BuildFromSource.md
diff --git a/docs/CONTRIBUTING.md b/docs/RU/CONTRIBUTING.md
similarity index 100%
rename from docs/CONTRIBUTING.md
rename to docs/RU/CONTRIBUTING.md
diff --git a/docs/CfProxy.md b/docs/RU/CfProxy.md
similarity index 100%
rename from docs/CfProxy.md
rename to docs/RU/CfProxy.md
diff --git a/docs/CfWorker.md b/docs/RU/CfWorker.md
similarity index 99%
rename from docs/CfWorker.md
rename to docs/RU/CfWorker.md
index f485364..9ad1d59 100644
--- a/docs/CfWorker.md
+++ b/docs/RU/CfWorker.md
@@ -32,7 +32,7 @@ workers.dev
7. Скопируйте домен из поля справа и укажите его в настройках **Cloudflare Worker** (или через аргумент `--cfproxy-worker-domain`)
- * Пример домена: `random-symbols-1234.username.workers.dev`
+ * Пример домена: `random-symbols-1234.username.workers.dev`
* **Можно указывать несколько доменов через запятую (или повторением аргумента `--cfproxy-worker-domain`)**
diff --git a/docs/FakeTlsNginx.md b/docs/RU/FakeTlsNginx.md
similarity index 100%
rename from docs/FakeTlsNginx.md
rename to docs/RU/FakeTlsNginx.md
diff --git a/docs/Funding.md b/docs/RU/Funding.md
similarity index 100%
rename from docs/Funding.md
rename to docs/RU/Funding.md
diff --git a/docs/README.docker.md b/docs/RU/README.docker.md
similarity index 100%
rename from docs/README.docker.md
rename to docs/RU/README.docker.md
diff --git a/docs/README.linux.md b/docs/RU/README.linux.md
similarity index 100%
rename from docs/README.linux.md
rename to docs/RU/README.linux.md
diff --git a/docs/README.macos.md b/docs/RU/README.macos.md
similarity index 100%
rename from docs/README.macos.md
rename to docs/RU/README.macos.md
diff --git a/docs/README.windows.md b/docs/RU/README.windows.md
similarity index 100%
rename from docs/README.windows.md
rename to docs/RU/README.windows.md
diff --git a/docs/TestDc.md b/docs/RU/TestDc.md
similarity index 86%
rename from docs/TestDc.md
rename to docs/RU/TestDc.md
index a2f0d76..49a5fd8 100644
--- a/docs/TestDc.md
+++ b/docs/RU/TestDc.md
@@ -12,8 +12,12 @@
**Принудительно.** Для клиентов, которые сообщают тестовые DC как обычные 1-3
(Telethon, TDLib) — распознать их автоматически нельзя. Тогда весь трафик
принудительно направляется на тестовые DC (продовые аккаунты через этот прокси
-работать перестанут). Для принудительной работы замените в конфиге force_test_dc на true или используйте флаг `--force-test-dc` в CLI
+работать перестанут). Для принудительной работы используйте флаг `--force-test-dc` в CLI:
+
+```bash
+tg-ws-proxy --force-test-dc # + ваши --secret / --port
+```
## Ограничения
-Работает только для маршрутов **прямой DC → IP** и **Cloudflare Worker** (см. [Настройка Cloudflare Worker'а](./CfWorker.md)).
+Работает только для маршрутов **прямой DC → IP** и **Cloudflare Worker** (см. [Настройка Cloudflare Worker'а](./CfWorker.md)).
\ No newline at end of file
diff --git a/docs/TrayConfig.md b/docs/RU/TrayConfig.md
similarity index 100%
rename from docs/TrayConfig.md
rename to docs/RU/TrayConfig.md
diff --git a/ui/ctk_tray_ui.py b/ui/ctk_tray_ui.py
index 86f6f64..1819b13 100644
--- a/ui/ctk_tray_ui.py
+++ b/ui/ctk_tray_ui.py
@@ -27,8 +27,12 @@ from ui.i18n import (
log = logging.getLogger('tg-mtproto-proxy')
-_CFPROXY_HELP_URL = "https://github.com/Flowseal/tg-ws-proxy/blob/main/docs/CfProxy.md"
-_CFWORKER_HELP_URL = "https://github.com/Flowseal/tg-ws-proxy/blob/main/docs/CfWorker.md"
+
+def _get_doc_url(doc_name: str) -> str:
+ from ui.i18n import get_language
+ lang = get_language().value
+ lang_folder = "EN" if lang == "en" else "RU"
+ return f"https://github.com/Flowseal/tg-ws-proxy/blob/main/docs/{lang_folder}/{doc_name}.md"
_CFPROXY_TEST_DCS = [1, 2, 3, 4, 5, 203]
_CFWORKER_TEST_DST = {
1: '149.154.175.50',
@@ -402,7 +406,7 @@ def install_tray_config_form(
text_color="#ffffff", border_width=0,
command=lambda: (
header.winfo_toplevel().iconify(),
- webbrowser.open("https://github.com/Flowseal/tg-ws-proxy/blob/main/docs/Funding.md"),
+ webbrowser.open(_get_doc_url("Funding")),
),
).pack(side="right", padx=(0, 6))
@@ -605,7 +609,7 @@ def install_tray_config_form(
font=(theme.ui_font_family, 14), corner_radius=8,
fg_color=theme.tg_blue, hover_color=theme.tg_blue_hover,
text_color="#ffffff", border_width=1, border_color=theme.field_border,
- command=lambda: webbrowser.open(_CFPROXY_HELP_URL),
+ command=lambda: webbrowser.open(_get_doc_url("CfProxy")),
).pack(side="right")
cfproxy_user_domain_var = ctk.StringVar(value=", ".join(saved_user_domains))
@@ -696,7 +700,7 @@ def install_tray_config_form(
font=(theme.ui_font_family, 14), corner_radius=8,
fg_color=theme.tg_blue, hover_color=theme.tg_blue_hover,
text_color="#ffffff", border_width=1, border_color=theme.field_border,
- command=lambda: webbrowser.open(_CFWORKER_HELP_URL),
+ command=lambda: webbrowser.open(_get_doc_url("CfWorker")),
).pack(side="right")
_cfworker_test_widget = ctk.CTkButton(