Trojan-Go — это VPN (прокси-сервер) на Go, реализующий протокол Trojan; трафик шифруется TLS и маскируется под обычный HTTPS. Используется для обхода блокировок и безопасного туннелирования; поддерживает WebSocket, маршрутизацию и мультиплексирование. Лёгок в развёртывании и может работать как системный сервис.
Это простая пошаговая инструкция на русском языке по установке прокси-сервера Trojan-Go https://github.com/p4gefau1t/trojan-go/ на VPS с Ubuntu (или любой другой Debian-совместимой системой), с использованием домена domain.com и пароля password в качестве примеров.
Установка Trojan-Go: полная инструкция
Шаг 1. Загрузка и установка Trojan-Go
curl -L -o trojan-go.zip https://github.com/p4gefau1t/trojan-go/releases/latest/download/trojan-go-linux-amd64.zip
unzip trojan-go.zip -d trojan-go
cd trojan-go
mkdir certs
Шаг 2. Установка и использование acme.sh для получения SSL-сертификата
Это позволяет скрыть трафик и быть похожим на трафик простого посещения веб-сайта - благодаря этому протокол Trojan работает лучше других аналогов в данное время.
-
Установка
acme.sh:
-
Регистрация аккаунта:
Получение сертификата для домена (подразумевается, что DNS уже настроен и указывает на ваш сервер):
-
Установка сертификата в папку
certsрядом с Trojan-Go:
--key-file ~/trojan-go/certs/domain.key \
--fullchain-file ~/trojan-go/certs/fullchain.pem
Шаг 3. Установка nginx и размещение простой веб-страницы
Для чего это нужно: при переходе на адрес вашего сервера из браузера будет открываться веб сайт, по сути это маскировка, которая поможет оставаться вашему серверу менее подозрительным.
sudo apt install nginx -y
Создание простой страницы:
echo "<h1>Welcome to domain.com</h1>" | sudo tee /var/www/html/index.html
sudo systemctl restart nginx
Заметка: в папке /var/www/html/ вы можете разместить любой веб-сайт написанный на HTML.
Шаг 4. Открытие портов и включение брандмауэра
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enable
Шаг 5. Создание config.json для Trojan-Go
Создайте файл config.json внутри папки trojan-go:
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": ["password"],
"ssl": {
"cert": "./certs/fullchain.pem",
"key": "./certs/domain.key",
"sni": "domain.com"
},
"fallbacks": [
{
"dest": 80,
"xver": 1
}
]
}
Измените пароль password на сильный пароль, по которому вы будете подключаться к ВПН прокси.
Шаг 6. Запуск Trojan-Go
Перейдите в папку Trojan-Go и запустите:
./trojan-go -config config.json
Использование на Windows через Nekobox
-
Установите Nekobox Скачать
- Измените следующую строку подставив свои данные:
trojan://[email protected]:443?security=tls&sni=domain.com&type=tcp#MyTrojanServer -
Откройте приложение → правая кнопка мыши → Add profile from clipboard
- По добавленному профилю правая кнопка мыши → Start
- Поставьте галочку System Proxy
Для отключения нажмите правой кнопкой мыши по профилю и выберите Stop, а так же уберите галочку System Proxy
Что означает строка конфигурации:
-
password— ваш пароль, тот же, что вconfig.json -
domain.com— ваш домен, с которого получен SSL -
443— порт, открытый и используемый сервером -
sni=domain.com— имя сервера для TLS -
#MyTrojanServer— имя, отображаемое в Nekobox (можно поменять)
Использование на Android через V2Box
Скачайте приложение для вашего смартфона
Android - https://play.google.com/store/apps/details?id=dev.hexasoftware.v2box
iOS - https://apps.apple.com/us/app/v2box-v2ray-client/id6446814690
Используйте тот же формат ссылки конфигурации для добавления сервера, а затем подключайтесь к нему.
Как сделать чтобы сервис запускался во время запуск сервера?
Создайте новый файл
Вставьте этот код
[Unit]Description=Trojan-Go ServiceAfter=network.target nss-lookup.target
[Service]Type=simpleUser=rootWorkingDirectory=/root/trojan-goExecStart=/root/trojan-go/trojan-go -config /root/trojan-go/config.jsonRestart=on-failureRestartSec=5
[Install]WantedBy=multi-user.target
WorkingDirectory - это путь до папки с установленным Trojan Go VPN, ExecStart - это комманда для запуска сервиса, где пусть указан полностью, в данном случае это пользователь Root, папка trojan-go, исполнительный файл trojan-go и конфигурационный файл.
Сохраните файл нажав Ctrl+X.
Запустите сервис используя команду
systemctl daemon-reloadsystemctl enable --now trojan-go.service-
Для запуска используйте:
systemctl stop trojan-go -
Для рестарта:
systemctl restart trojan-go -
Отключить автозапуск:
systemctl disable trojan-go
Для просмотра логов в реальном времени вы можете использовать команду
journalctl -u trojan-go -fПриятного использования!
