mirror of
https://github.com/telemt/telemt.git
synced 2026-04-14 17:14:09 +03:00
Merge pull request #697 from TWRoman/main
[docs] Updated QUICK START GUIDEs and READMEs
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
   [](https://t.me/telemtrs)
|
   [](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***
|
***Löst Probleme, bevor andere überhaupt wissen, dass sie existieren*** / ***It solves problems before others even realize they exist***
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
|
|||||||
21
README.ru.md
21
README.ru.md
@@ -85,4 +85,25 @@ telemt config.toml
|
|||||||
- Безопасность памяти;
|
- Безопасность памяти;
|
||||||
- Асинхронная архитектура Tokio.
|
- Асинхронная архитектура Tokio.
|
||||||
|
|
||||||
|
## Поддержать Telemt
|
||||||
|
|
||||||
|
Telemt — это бесплатное программное обеспечение с открытым исходным кодом, разработанное в свободное время.
|
||||||
|
Если оно оказалось вам полезным, вы можете поддержать дальнейшую разработку.
|
||||||
|
|
||||||
|
Принимаемые криптовалюты (BTC, ETH, USDT, 350+ и другие):
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://nowpayments.io/donation?api_key=2bf1afd2-abc2-49f9-a012-f1e715b37223" target="_blank" rel="noreferrer noopener">
|
||||||
|
<img src="https://nowpayments.io/images/embeds/donation-button-white.svg" alt="Cryptocurrency & Bitcoin donation button by NOWPayments" height="80">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Monero (XMR) напрямую:
|
||||||
|
|
||||||
|
```
|
||||||
|
8Bk4tZEYPQWSypeD2hrUXG2rKbAKF16GqEN942ZdAP5cFdSqW6h4DwkP5cJMAdszzuPeHeHZPTyjWWFwzeFdjuci3ktfMoB
|
||||||
|
```
|
||||||
|
|
||||||
|
Все пожертвования пойдут на инфраструктуру, разработку и исследования.
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -2106,7 +2106,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
```
|
```
|
||||||
## announce
|
## announce
|
||||||
@@ -2115,7 +2115,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
announce = "proxy.example.com"
|
announce = "proxy.example.com"
|
||||||
```
|
```
|
||||||
@@ -2125,7 +2125,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
announce_ip = "203.0.113.10"
|
announce_ip = "203.0.113.10"
|
||||||
```
|
```
|
||||||
@@ -2138,7 +2138,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
|
|||||||
[server]
|
[server]
|
||||||
proxy_protocol = false
|
proxy_protocol = false
|
||||||
|
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
proxy_protocol = true
|
proxy_protocol = true
|
||||||
```
|
```
|
||||||
@@ -2149,7 +2149,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
reuse_allow = false
|
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 |
|
| Key | Type | Default |
|
||||||
@@ -2926,18 +2926,18 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
|
|
||||||
## type
|
## type
|
||||||
- **Constraints / validation**: Required field. Must be one of: `"direct"`, `"socks4"`, `"socks5"`, `"shadowsocks"`.
|
- **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**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "shadowsocks"
|
type = "shadowsocks"
|
||||||
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
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**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
weight = 10
|
weight = 10
|
||||||
```
|
```
|
||||||
@@ -2957,7 +2957,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
enabled = false
|
enabled = false
|
||||||
@@ -2968,7 +2968,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks4"
|
type = "socks4"
|
||||||
address = "10.0.0.10:1080"
|
address = "10.0.0.10:1080"
|
||||||
scopes = "me, fetch, dc2"
|
scopes = "me, fetch, dc2"
|
||||||
@@ -2982,11 +2982,11 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
interface = "eth0"
|
interface = "eth0"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "203.0.113.10:1080"
|
address = "203.0.113.10:1080"
|
||||||
interface = "192.0.2.10" # explicit local bind IP
|
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**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
bind_addresses = ["192.0.2.10", "192.0.2.11"]
|
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]
|
[general]
|
||||||
use_middle_proxy = false
|
use_middle_proxy = false
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "shadowsocks"
|
type = "shadowsocks"
|
||||||
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
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**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
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**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks4"
|
type = "socks4"
|
||||||
address = "127.0.0.1:1080"
|
address = "127.0.0.1:1080"
|
||||||
user_id = "telemt"
|
user_id = "telemt"
|
||||||
@@ -3046,7 +3046,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
username = "alice"
|
username = "alice"
|
||||||
@@ -3057,7 +3057,7 @@ If your backend or network is very bandwidth-constrained, reduce cap first. If p
|
|||||||
- **Example**:
|
- **Example**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
username = "alice"
|
username = "alice"
|
||||||
|
|||||||
@@ -2112,7 +2112,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
```
|
```
|
||||||
## announce
|
## announce
|
||||||
@@ -2121,7 +2121,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
announce = "proxy.example.com"
|
announce = "proxy.example.com"
|
||||||
```
|
```
|
||||||
@@ -2131,7 +2131,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
announce_ip = "203.0.113.10"
|
announce_ip = "203.0.113.10"
|
||||||
```
|
```
|
||||||
@@ -2144,7 +2144,7 @@
|
|||||||
[server]
|
[server]
|
||||||
proxy_protocol = false
|
proxy_protocol = false
|
||||||
|
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
proxy_protocol = true
|
proxy_protocol = true
|
||||||
```
|
```
|
||||||
@@ -2155,7 +2155,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[server.listeners]
|
[[server.listeners]]
|
||||||
ip = "0.0.0.0"
|
ip = "0.0.0.0"
|
||||||
reuse_allow = false
|
reuse_allow = false
|
||||||
```
|
```
|
||||||
@@ -2912,7 +2912,7 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
# [upstreams]
|
# [[upstreams]]
|
||||||
|
|
||||||
|
|
||||||
| Ключ | Тип | По умолчанию |
|
| Ключ | Тип | По умолчанию |
|
||||||
@@ -2931,18 +2931,18 @@
|
|||||||
|
|
||||||
## type
|
## type
|
||||||
- **Ограничения / валидация**: Обязательный параметр.`"direct"`, `"socks4"`, `"socks5"`, `"shadowsocks"`.
|
- **Ограничения / валидация**: Обязательный параметр.`"direct"`, `"socks4"`, `"socks5"`, `"shadowsocks"`.
|
||||||
- **Описание**: Выбирает реализацию upstream-транспорта для этой записи в `[upstreams]`.
|
- **Описание**: Выбирает реализацию upstream-транспорта для этой записи в `[[upstreams]]`.
|
||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "shadowsocks"
|
type = "shadowsocks"
|
||||||
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
||||||
```
|
```
|
||||||
@@ -2952,7 +2952,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
weight = 10
|
weight = 10
|
||||||
```
|
```
|
||||||
@@ -2962,7 +2962,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
enabled = false
|
enabled = false
|
||||||
@@ -2973,7 +2973,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks4"
|
type = "socks4"
|
||||||
address = "10.0.0.10:1080"
|
address = "10.0.0.10:1080"
|
||||||
scopes = "me, fetch, dc2"
|
scopes = "me, fetch, dc2"
|
||||||
@@ -2987,11 +2987,11 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
interface = "eth0"
|
interface = "eth0"
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "203.0.113.10:1080"
|
address = "203.0.113.10:1080"
|
||||||
interface = "192.0.2.10" # explicit local bind IP
|
interface = "192.0.2.10" # explicit local bind IP
|
||||||
@@ -3004,7 +3004,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "direct"
|
type = "direct"
|
||||||
bind_addresses = ["192.0.2.10", "192.0.2.11"]
|
bind_addresses = ["192.0.2.10", "192.0.2.11"]
|
||||||
```
|
```
|
||||||
@@ -3020,7 +3020,7 @@
|
|||||||
[general]
|
[general]
|
||||||
use_middle_proxy = false
|
use_middle_proxy = false
|
||||||
|
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "shadowsocks"
|
type = "shadowsocks"
|
||||||
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
url = "ss://2022-blake3-aes-256-gcm:BASE64PASSWORD@127.0.0.1:8388"
|
||||||
```
|
```
|
||||||
@@ -3030,7 +3030,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
```
|
```
|
||||||
@@ -3040,7 +3040,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks4"
|
type = "socks4"
|
||||||
address = "127.0.0.1:1080"
|
address = "127.0.0.1:1080"
|
||||||
user_id = "telemt"
|
user_id = "telemt"
|
||||||
@@ -3051,7 +3051,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
username = "alice"
|
username = "alice"
|
||||||
@@ -3062,7 +3062,7 @@
|
|||||||
- **Пример**:
|
- **Пример**:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[upstreams]
|
[[upstreams]]
|
||||||
type = "socks5"
|
type = "socks5"
|
||||||
address = "127.0.0.1:9050"
|
address = "127.0.0.1:9050"
|
||||||
username = "alice"
|
username = "alice"
|
||||||
|
|||||||
@@ -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
|
# Very quick start
|
||||||
|
|
||||||
### One-command installation / update on re-run
|
### One-command installation / update on re-run
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh
|
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
|
### Installing a specific version
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39
|
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39
|
||||||
|
|||||||
@@ -1,9 +1,35 @@
|
|||||||
|
# Варианты установки
|
||||||
|
Имеется три варианта установки Telemt:
|
||||||
|
- [Автоматизированная установка с помощью скрипта](#очень-быстрый-старт).
|
||||||
|
- [Ручная установка Telemt в качестве службы](#telemt-через-systemd-вручную).
|
||||||
|
- [Установка через Docker Compose](#telemt-через-docker-compose).
|
||||||
|
|
||||||
# Очень быстрый старт
|
# Очень быстрый старт
|
||||||
|
|
||||||
### Установка одной командой / обновление при повторном запуске
|
### Установка одной командой / обновление при повторном запуске
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh
|
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
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39
|
curl -fsSL https://raw.githubusercontent.com/telemt/telemt/main/install.sh | sh -s -- 3.3.39
|
||||||
|
|||||||
Reference in New Issue
Block a user