mirror of https://github.com/telemt/telemt.git
152 lines
7.4 KiB
Markdown
152 lines
7.4 KiB
Markdown
## Как настроить канал "спонсор прокси" и статистику через бота @MTProxybot
|
||
|
||
1. Зайдите в бота @MTProxybot.
|
||
2. Введите команду `/newproxy`.
|
||
3. Отправьте IP-адрес и порт сервера. Например: `1.2.3.4:443`.
|
||
4. Откройте файл конфигурации: `nano /etc/telemt/telemt.toml`.
|
||
5. Скопируйте и отправьте боту секрет пользователя из раздела `[access.users]`.
|
||
6. Скопируйте тег (tag), который выдаст бот. Например: `1234567890abcdef1234567890abcdef`.
|
||
> [!WARNING]
|
||
> Ссылка, которую выдает бот, работать не будет. Не копируйте и не используйте её!
|
||
7. Раскомментируйте параметр `ad_tag` и впишите тег, полученный от бота.
|
||
8. Раскомментируйте или добавьте параметр `use_middle_proxy = true`.
|
||
|
||
Пример конфигурации:
|
||
```toml
|
||
[general]
|
||
ad_tag = "1234567890abcdef1234567890abcdef"
|
||
use_middle_proxy = true
|
||
```
|
||
9. Сохраните изменения (в nano: Ctrl+S -> Ctrl+X).
|
||
10. Перезапустите службу telemt: `systemctl restart telemt`.
|
||
11. В боте отправьте команду `/myproxies` и выберите добавленный сервер.
|
||
12. Нажмите кнопку «Set promotion».
|
||
13. Отправьте **публичную ссылку** на канал. Приватные каналы добавлять нельзя!
|
||
14. Подождите примерно 1 час, пока информация обновится на серверах Telegram.
|
||
> [!WARNING]
|
||
> Спонсорский канал не будет у вас отображаться, если вы уже на него подписаны.
|
||
|
||
**Вы также можете настроить разные спонсорские каналы для разных пользователей:**
|
||
```toml
|
||
[access.user_ad_tags]
|
||
hello = "ad_tag"
|
||
hello2 = "ad_tag2"
|
||
```
|
||
|
||
## Зачем нужен middle proxy (ME)
|
||
https://github.com/telemt/telemt/discussions/167
|
||
|
||
|
||
## Сколько человек может пользоваться одной ссылкой
|
||
|
||
По умолчанию одной ссылкой может пользоваться неограниченное число людей.
|
||
Однако вы можете ограничить количество уникальных IP-адресов для каждого пользователя:
|
||
```toml
|
||
[access.user_max_unique_ips]
|
||
hello = 1
|
||
```
|
||
Этот параметр задает максимальное количество уникальных IP-адресов, с которых можно одновременно использовать одну ссылку. Если первый пользователь отключится, второй сможет подключиться. При этом с одного IP-адреса могут подключаться несколько пользователей одновременно (например, устройства в одной Wi-Fi сети).
|
||
|
||
## Как создать несколько разных ссылок
|
||
|
||
1. Сгенерируйте необходимое количество секретов с помощью команды: `openssl rand -hex 16`.
|
||
2. Откройте файл конфигурации: `nano /etc/telemt/telemt.toml`.
|
||
3. Добавьте новых пользователей в секцию `[access.users]`:
|
||
```toml
|
||
[access.users]
|
||
user1 = "00000000000000000000000000000001"
|
||
user2 = "00000000000000000000000000000002"
|
||
user3 = "00000000000000000000000000000003"
|
||
```
|
||
4. Сохраните конфигурацию (Ctrl+S -> Ctrl+X). Перезапускать службу telemt не нужно.
|
||
5. Получите готовые ссылки с помощью команды:
|
||
```bash
|
||
curl -s http://127.0.0.1:9091/v1/users | jq
|
||
```
|
||
|
||
## Ошибка "Unknown TLS SNI"
|
||
Обычно эта ошибка возникает, если вы изменили параметр `tls_domain`, но пользователи продолжают подключаться по старым ссылкам с прежним доменом.
|
||
|
||
Если необходимо разрешить подключение с любыми доменами (игнорируя несовпадения SNI), добавьте следующие параметры:
|
||
```toml
|
||
[censorship]
|
||
unknown_sni_action = "mask"
|
||
```
|
||
|
||
## Как посмотреть метрики
|
||
|
||
1. Откройте файл конфигурации: `nano /etc/telemt/telemt.toml`.
|
||
2. Добавьте следующие параметры:
|
||
```toml
|
||
[server]
|
||
metrics_port = 9090
|
||
metrics_whitelist = ["127.0.0.1/32", "::1/128", "0.0.0.0/0"]
|
||
```
|
||
3. Сохраните изменения (Ctrl+S -> Ctrl+X).
|
||
4. После этого метрики будут доступны по адресу: `SERVER_IP:9090/metrics`.
|
||
> [!WARNING]
|
||
> Значение `"0.0.0.0/0"` в `metrics_whitelist` открывает доступ к метрикам с любого IP-адреса. Рекомендуется заменить его на ваш личный IP, например: `"1.2.3.4/32"`.
|
||
|
||
## Дополнительные параметры
|
||
|
||
### Домен в ссылке вместо IP
|
||
Чтобы в ссылках для подключения отображался домен вместо IP-адреса, добавьте следующие строки в файл конфигурации:
|
||
```toml
|
||
[general.links]
|
||
public_host = "proxy.example.com"
|
||
```
|
||
|
||
### Общий лимит подключений к серверу
|
||
Этот параметр ограничивает общее количество активных подключений к серверу:
|
||
```toml
|
||
[server]
|
||
max_connections = 10000 # 0 - без ограничений, 10000 - по умолчанию
|
||
```
|
||
|
||
### Upstream Manager
|
||
Для настройки исходящих подключений (апстримов) добавьте соответствующие параметры в секцию `[[upstreams]]` файла конфигурации:
|
||
|
||
#### Привязка к исходящему IP-адресу
|
||
```toml
|
||
[[upstreams]]
|
||
type = "direct"
|
||
weight = 1
|
||
enabled = true
|
||
interface = "192.168.1.100" # Замените на ваш исходящий IP
|
||
```
|
||
|
||
#### Использование SOCKS4/5 в качестве Upstream
|
||
- Без авторизации:
|
||
```toml
|
||
[[upstreams]]
|
||
type = "socks5" # Specify SOCKS4 or SOCKS5
|
||
address = "1.2.3.4:1234" # SOCKS-server Address
|
||
weight = 1 # Set Weight for Scenarios
|
||
enabled = true
|
||
```
|
||
|
||
- С авторизацией:
|
||
```toml
|
||
[[upstreams]]
|
||
type = "socks5" # Specify SOCKS4 or SOCKS5
|
||
address = "1.2.3.4:1234" # SOCKS-server Address
|
||
username = "user" # Username for Auth on SOCKS-server
|
||
password = "pass" # Password for Auth on SOCKS-server
|
||
weight = 1 # Set Weight for Scenarios
|
||
enabled = true
|
||
```
|
||
|
||
#### Использование Shadowsocks в качестве Upstream
|
||
Для работы этого метода требуется установить параметр `use_middle_proxy = false`.
|
||
|
||
```toml
|
||
[general]
|
||
use_middle_proxy = false
|
||
|
||
[[upstreams]]
|
||
type = "shadowsocks"
|
||
url = "ss://2022-blake3-aes-256-gcm:BASE64_KEY@1.2.3.4:8388"
|
||
weight = 1
|
||
enabled = true
|
||
```
|