
TrustTunnel v1.1.0
Открытый протокол VPN, который туннелирует трафик TCP, UDP и ICMP через HTTPS, обходя DPI и ограничение пропускной способности. Включает раздельное туннелирование, SOCKS5-прокси, пользовательский DNS и кроссплатформенные клиенты.
Клиенты · App Store (iOS) · App Store (macOS) · Play Маркет
Содержание
- Введение
- Возможности сервера
- Возможности клиента
- Быстрый старт
- Клиенты
- См. также
- Планы развития
- Лицензия
Введение
TrustTunnel — это современный VPN-протокол с открытым исходным кодом, изначально разработанный AdGuard VPN и теперь доступный всем для использования и аудита.
Он обеспечивает быстрые, безопасные и надёжные VPN-соединения без обычных компромиссов. По своей архитектуре трафик TrustTunnel неотличим от обычного HTTPS-трафика, что позволяет обходить троттлинг и глубокую инспекцию пакетов, сохраняя при этом надёжную защиту конфиденциальности.
Проект TrustTunnel включает VPN-эндпоинт (этот репозиторий), библиотеку и CLI для клиента и GUI-приложение.
Возможности сервера
-
VPN-протокол: Библиотека реализует VPN-протокол, совместимый с HTTP/1.1, HTTP/2 и QUIC. Благодаря маскировке под обычный сетевой трафик его становится невозможно обнаружить и заблокировать.
-
Гибкое туннелирование трафика: TrustTunnel может туннелировать TCP, UDP и ICMP трафик от клиента и к клиенту.
-
Совместимость с платформами: Сервер совместим с Linux и macOS. Клиент доступен для Android, Apple, Windows и Linux.
-
Эндпоинт подписок: Опционально предоставляет персональный URL подписки для каждого пользователя по HTTPS. Когда
[subscription]включён вvpn.toml, каждый клиент может получить свою собственную JSON-конфигурацию (параметры подключения, учётные данные, DNS-апстримы и другое) по HTTPS с использованием HTTP Basic Auth, что обеспечивает самообслуживание и автообновление конфигурации клиента без ручного распространения файлов.
Возможности клиента
-
Туннелирование трафика: Библиотека способна туннелировать TCP, UDP и ICMP трафик от клиента к эндпоинту и обратно.
-
Кроссплатформенность: Поддерживает платформы Linux, macOS и Windows, обеспечивая единообразный опыт работы в разных операционных системах.
-
Системный туннель и SOCKS5-прокси: Может быть настроен как системный туннель с использованием виртуального сетевого интерфейса, а также как SOCKS5-прокси.
-
Раздельное туннелирование: Библиотека поддерживает раздельное туннелирование, позволяя пользователям исключать соединения к определённым доменам или хостам из маршрутизации через VPN-эндпоинт, или наоборот, направлять через эндпоинт только соединения к определённым доменам или хостам на основе списка исключений.
-
Пользовательский DNS-апстрим: Пользователи могут указать собственный DNS-апстрим, который используется для DNS-запросов, маршрутизируемых через VPN-эндпоинт.
Быстрый старт
Настройка эндпоинта
Установка эндпоинта
Доступен установочный скрипт, который можно запустить следующей командой:```bash curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -
Скрипт установки загрузит предварительно собранный пакет из последнего
релиза на GitHub для соответствующей архитектуры системы и распакует его в
`/opt/trusttunnel`. Каталог вывода можно переопределить, указав
флаг `-o DIR` в конце приведённой выше команды.
Если вы хотите установить конкретную версию (вместо последней), используйте `-V <version>`:```bash
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s - -V <version>
[!NOTE] Готовые пакеты доступны для архитектур
linux-x86_64,linux-aarch64иmacos-universal(Intel и Apple Silicon).
Обновление эндпоинта
Скрипт установки всегда устанавливает последнюю доступную версию. Поэтому, чтобы обновить установку, снова выполните команду установки:```bash curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -
Это повторно запускает установщик и заменяет бинарные файлы в каталоге
установки (`/opt/trusttunnel` по умолчанию или каталог, указанный вами с помощью `-o DIR`).
> [!NOTE]
> Не забудьте остановить endpoint перед обновлением:
>
> ```bash
> sudo systemctl stop trusttunnel
> ```
>
> Чтобы снова запустить endpoint после обновления:
>
> ```bash
> sudo systemctl start trusttunnel
> ```
#### Мастер настройки endpoint
Обратитесь к [CONFIGURATION.md](https://github.com/trusttunnel/trusttunnel/blob/master/CONFIGURATION.md) для более подробной
документации о том, как настроить endpoint.
Каталог установки содержит бинарный файл `setup_wizard`, который помогает сгенерировать
файлы конфигурации, необходимые для работы endpoint:```bash
cd /opt/trusttunnel/
./setup_wizard -h
Мастер настройки поддерживает интерактивный режим, поэтому вы можете запустить его, и он запросит данные, необходимые для настройки конечной точки.```bash cd /opt/trusttunnel/ sudo ./setup_wizard
> [!NOTE]
> Для корректного управления TLS-сертификатами требуется `sudo`.
Мастер запросит следующие поля, некоторые из них имеют значения по умолчанию,
которые можно безопасно использовать:
- **Адрес для прослушивания** — укажите адрес, на котором endpoint будет
прослушивать подключения. Используйте `0.0.0.0:443` для нативных развёртываний
(HTTPS на всех интерфейсах). Если вы запускаете с пробросом портов Docker
`443:8443`, укажите `0.0.0.0:8443`.
- **Путь к файлу учётных данных** — путь, по которому будут храниться учётные
данные пользователей для авторизации.
- **Имя пользователя** — имя пользователя, которое будет использоваться для
авторизации.
- **Пароль** — пароль пользователя.
- **Добавить ещё одного пользователя?** — выберите `yes`, если хотите добавить
больше пользователей, или `no`, чтобы продолжить процесс настройки.
- **Путь к файлу правил** — путь для хранения правил фильтрации.
- **Правила фильтрации подключений** — вы можете добавить правила, которые
endpoint будет использовать для разрешения или запрета подключений
пользователей на основе:
- IP-адреса клиента
- Случайного префикса TLS
- Случайного значения TLS с маской