Как установить и использовать VPN типа V2Ray/Trojan для обхода блокировок GFW (Великий Фаервол)

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

cd ~
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 работает лучше других аналогов в данное время.

  1. Установка acme.sh:

curl https://get.acme.sh | sh
source ~/.bashrc
  1. Регистрация аккаунта:

acme.sh --register-account -m [email protected]

Получение сертификата для домена (подразумевается, что DNS уже настроен и указывает на ваш сервер):
acme.sh --issue -d domain.com --standalone
  1. Установка сертификата в папку certs рядом с Trojan-Go:

acme.sh --install-cert -d domain.com \
--key-file ~/trojan-go/certs/domain.key \
--fullchain-file ~/trojan-go/certs/fullchain.pem

Шаг 3. Установка nginx и размещение простой веб-страницы

Для чего это нужно: при переходе на адрес вашего сервера из браузера будет открываться веб сайт, по сути это маскировка, которая поможет оставаться вашему серверу менее подозрительным.

sudo apt update
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 80/tcp
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 и запустите:

cd ~/trojan-go
./trojan-go -config config.json

Использование на Windows через Nekobox

  1. Установите Nekobox Скачать

  2. Измените следующую строку подставив свои данные:

    trojan://[email protected]:443?security=tls&sni=domain.com&type=tcp#MyTrojanServer

  3. Откройте приложение → правая кнопка мыши → Add profile from clipboard

  4. По добавленному профилю правая кнопка мыши → Start
  5. Поставьте галочку 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 


Используйте тот же формат ссылки конфигурации для добавления сервера, а затем подключайтесь к нему.


Как сделать чтобы сервис запускался во время запуск сервера?


Создайте новый файл 

nano /etc/systemd/system/trojan-go.service

Вставьте этот код 

[Unit]
Description=Trojan-Go Service
After=network.target nss-lookup.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/trojan-go
ExecStart=/root/trojan-go/trojan-go -config /root/trojan-go/config.json
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target


WorkingDirectory - это путь до папки с установленным Trojan Go VPN, ExecStart - это комманда для запуска сервиса, где пусть указан полностью, в данном случае это пользователь Root, папка trojan-go, исполнительный файл trojan-go и конфигурационный файл.


Сохраните файл нажав Ctrl+X.


Запустите сервис используя команду

systemctl daemon-reload
systemctl enable --now trojan-go.service



  • Для запуска используйте: systemctl stop trojan-go

  • Для рестарта: systemctl restart trojan-go

  • Отключить автозапуск: systemctl disable trojan-go

Для просмотра логов в реальном времени вы можете использовать команду

journalctl -u trojan-go -f


Приятного использования!

 

Добавить комментарий

Оставить комментарий