Начните бесплатный 3-дневный пробный период
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.


Эта настройка сервера Trojan использует Xray-core v26.3.27, контролируемый вами домен и действующий TLS-сертификат. Сначала создаётся ограниченный тестовый вход, затем отдельно проверяются пересылка прокси, доступность TLS, неверные секреты, отзыв и восстановление. Автор не проводил полного сквозного эксперимента развёртывания.
Ключевые выводы
- Без законного домена, подходящего сертификата и независимого управления остановитесь.
- Используйте одну реализацию, не смешивая команды Trojan-gfw или Trojan-rs с Xray.
- Сохраняйте проверку сертификатов и привязку локального SOCKS к loopback.
- Ответ fallback-сайта не доказывает аутентификацию прокси.
- Продление, перезапуск, отзыв секретов и откат проверяются независимо.
До резервирования сервера прочитайте руководство по ответственности самостоятельного размещения. Опорная среда — выделенный неиспользуемый Ubuntu 24.04 LTS и отдельный разрешённый клиент с тем же выпуском Xray. Пример пересылает TCP явно настроенных приложений; он не устанавливает покрытие DNS всего устройства, IPv6, UDP или TUN.
Объяснение протокола Trojan отдельно рассматривает механизм. Протокол помещает значение аутентификации, производное от пароля, и запрос внутрь TLS.[1] Закреплённая реализация поддерживает приведённые поля, но выдаёт предупреждение об устаревании Trojan. Закрепление описывает пример, а не разрешает игнорировать обслуживание и будущие удаления.[3] При других требованиях или клиенте сравните, чем VLESS/REALITY отличается от Trojan.
Совпадение документации не называйте проверенной совместимостью. Клиент здесь — официальный core того же выпуска, чтобы не угадывать формат импорта стороннего приложения. Для другого клиента сначала проверьте его официальные поля протокола, транспорта, TLS-имени и аутентификации, затем выполните собственную приёмку.
Используйте собственный домен или явное разрешение на управление, направив endpoint к серверу через согласованный DNS-процесс. Получите действующий сертификат на это имя через разрешённого issuer или ACME. Процесс выдачи зависит от провайдера и является предварительным условием, а не поводом заимствовать личность или содержимое чужого сайта.
TLS-сертификат Trojan требует проверки цепочки, сроков, соответствия закрытого ключа и владельца продления до открытия слушателя. Если домена или сертификата нет, срок истёк или имя не совпадает, остановитесь. Не заменяйте это insecure-режимом, пропуском проверки, публичным общим секретом или сертификатом постороннего имени.
Инвентаризируйте слушатели, службы, пути установки, менеджеры firewall и консоль восстановления. Зарезервируйте TCP 18443 сервера и loopback TCP 10808 клиента. Высокий порт исключает необходимость привилегированного порта, но capabilities всё равно проверяются. Если Xray, пути, служебная идентичность или порты принадлежат другой нагрузке, остановите свежую установку; миграция требует отдельного рассмотрения.
Сохраните независимое управление на окно обслуживания. Первоначально разрешите вход только тестовому адресу клиента в политике провайдера и хоста. Неограниченный outbound достигает всего доступного хосту: используйте изолированный сервер без чувствительных внутренних маршрутов либо сначала проверенную политику назначений. Сама аутентификация назначения не ограничивает.
Официальный tag — v26.3.27.[5] Загрузите официальный installer в файл, проверьте скачивания, запись файлов, изменения службы и пользователя и поведение удаления; запишите upstream revision. Сам installer меняется независимо от тега core. Проверка синтаксиса shell не устанавливает доверие.[6]
Следующие команды — инструкция читателю для выделенного сервера, а не выполненные автором действия. Привилегированная установка допустима после просмотра script и подтверждения свободных путей и идентичности:
curl --fail --location --proto '=https' --proto-redir '=https' \
--output install-release.sh \
https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh
less install-release.sh
bash -n install-release.sh
sudo adduser --system --group --no-create-home xray-lab
sudo bash install-release.sh install --version v26.3.27 --install-user xray-lab
sudo systemctl disable --now xray.service
sudo systemctl is-enabled xray.service
/usr/local/bin/xray version
sudo systemctl cat xray.service
Свежая установка запускает unit и включает автозапуск. disable --now останавливает его и отключает автозапуск; ожидается disabled. В реальном unit подтвердите /usr/local/bin/xray, /usr/local/etc/xray/config.json и пользователя xray-lab. Неожиданные пути, root runtime или другая версия требуют остановки, а не продолжения с угаданными значениями.
В приватном терминале создайте уникальный временный пароль высокой энтропии, например openssl rand -hex 32. Храните его в защищённой конфигурации, не в аргументах shell, снимках экрана или заявках. Позже используйте отдельный секрет на устройство для адресного отзыва. В этом теге inbound использует clients[].password; UUID VLESS, Vision flow и ключ REALITY сюда не относятся.[3]
Замените все заглавные шаблоны server JSON. SERVER_LISTEN_IPV4 должен быть назначен локально: публичный NAT-адрес провайдера может не допускать bind. Поместите цепочку и закрытый ключ в указанные приватные пути с чтением для xray-lab: каталоги root:xray-lab, режим 750, файлы 640. Не расширяйте глобально права каталогов issuer; владелец продления должен развёртывать отдельные защищённые копии.
{
"log": {"access": "none", "loglevel": "warning"},
"inbounds": [{
"tag": "trojan-lab", "listen": "SERVER_LISTEN_IPV4", "port": 18443,
"protocol": "trojan",
"settings": {"clients": [{"password": "DISPOSABLE_PASSWORD", "email": "lab-device"}]},
"streamSettings": {
"network": "raw", "security": "tls",
"tlsSettings": {"certificates": [{
"certificateFile": "/usr/local/etc/xray/tls/fullchain.pem",
"keyFile": "/usr/local/etc/xray/tls/privkey.pem"
}]}
}
}],
"outbounds": [{"protocol": "freedom", "tag": "direct"}]
}
Файл конфигурации также имеет root:xray-lab и 640, каталог — 750. Проверьте через sudo -u xray-lab /usr/local/bin/xray run -test -config /usr/local/etc/xray/config.json, запустите только выделенный xray.service и осмотрите ss -lntp. Приёмка синтаксиса не доказывает слушатель, аутентификацию или пересылку. Откройте только проверенное TCP-правило, сохранив управление.
Документация inbound описывает Trojan и необязательный fallback.[2] У минимального примера fallback отсутствует. Parser закреплённого транспорта поддерживает raw, пути TLS и клиентский serverName.[4] Не добавляйте поля другой реализации и не отключайте проверку доверия для подавления ошибки.
На изолированном разрешённом клиенте сохраните приватный client.json, заменив домен и тот же пароль. PROXY_DOMAIN должен соответствовать сертификату. SOCKS loopback работает только с TCP; на общей машине другие локальные пользователи могут обращаться к входу без аутентификации. Поэтому нужен изолированный клиент или проверенный локальный контроль доступа.[8]
{
"log": {"access": "none", "loglevel": "warning"},
"inbounds": [{
"listen": "127.0.0.1", "port": 10808, "protocol": "socks",
"settings": {"auth": "noauth", "udp": false}
}],
"outbounds": [{
"protocol": "trojan",
"settings": {"address": "PROXY_DOMAIN", "port": 18443, "password": "DISPOSABLE_PASSWORD"},
"streamSettings": {
"network": "raw", "security": "tls",
"tlsSettings": {"serverName": "PROXY_DOMAIN"}
}
}]
}
Ограничьте client.json владельцем, режим 600, подтвердите xray version, проверьте через xray run -test -config client.json и запустите xray run -config client.json в приватном foreground-терминале. Другие сетевые клиенты не меняйте. Если 10808 занят, не завершайте владельца; выберите свободный порт согласованно в конфигурации и запросе этого теста.
На разрешённом клиенте подставьте настоящий домен. OpenSSL описывает проверку hostname и возврат ошибок проверки.[7] Аутентификация Trojan проверяется отдельно; это свидетельство только TLS:
openssl s_client -connect PROXY_DOMAIN:18443 -servername PROXY_DOMAIN \
-verify_hostname PROXY_DOMAIN -verify_return_error </dev/null
Осмотрите цепочку, имя, даты и результат. При ошибке доверия или имени остановитесь и исправьте разрешённое развёртывание сертификата. Не применяйте отключение проверки. Для проверки пересылки замените hostname и путь задачи ниже своим или разрешённым назначением и сопоставьте собственное свидетельство запроса на той стороне:
curl --fail --socks5-hostname 127.0.0.1:10808 https://AUTHORIZED_TASK_HOST/task
--socks5-hostname передаёт разрешение имени стороне SOCKS, не меняя DNS всего устройства.[9] Для намеренной проверки интернет-выхода проверьте видимый адрес через явно настроенное тестовое приложение, затем отдельно DNS, IPv6 и политику отказа. TCP-пример не подтверждает охват всего устройства.
| Проверка | Метод читателя | Ожидание, не измеренный результат |
|---|---|---|
| Верная идентичность | Новый запрос с совпадающим паролем и действующим TLS | Разрешённая задача достигает назначения через нужный прокси |
| Неверный пароль | Изменить только временный пароль клиента, перезапустить foreground-клиент и повторить запрос | Нет аутентифицированной пересылки задачи |
| Неверное имя сертификата | Вернуть пароль, изменить только клиентский serverName на постороннее имя, перезапустить тестовый клиент и выполнить новый запрос | TLS отклоняется; задача не пересылается |
| Возврат baseline | Вернуть имя и пароль, перезапустить тестовый клиент | Исходная разрешённая задача снова работает |
| Отдельно настроенный fallback | Проверить собственный web-ответ независимо от задачи прокси | Доступность сайта не считается входом в прокси |
После каждого изменения клиентской конфигурации остановите только запущенный для этого теста процесс Xray в переднем плане. Проверьте файл через xray run -test -config client.json, запустите заново через xray run -config client.json и выполните новый запрос задачи. Редактирование файла не перезагружает конфигурацию работающего процесса.[10] При неверном имени подтвердите ошибку проверки имени сертификата в приватном выводе клиента; одного тайм-аута или отказа аутентификации недостаточно для вывода.
Неверное имя не требуется посещать: endpoint остаётся прежним, меняется только проверяемая TLS-идентичность. Если отрицательный случай пересылает задачу, закройте новое открытие и проверьте действующую конфигурацию и захват клиента до продолжения. Принятие недействительного сертификата не исправляет отказ.
Назначьте владельца продления и опишите контроль срока и разрешённую репетицию renewal. После выдачи разверните соответствующие цепочку и ключ с прежними ограниченными правами, проверьте от служебной идентичности и примените через выделенный unit. Независимо проверьте выдаваемый сертификат клиентом и новую разрешённую задачу. Обновлённый файл не доказывает использование живой службой.
Для автозапуска включайте unit только после положительных и отрицательных случаев и подтвердите состояние. В разрешённое окно reboot повторите версии, пути, идентичность, слушатель и новую пересылку. Без разрешённой перезагрузки persistence остаётся непроверенным; для понимания процедуры reboot не требуется.
Для отзыва устройства удалите его пароль из постоянной server-конфигурации, проверьте и перезапустите выделенный экземпляр в разрешённое окно прерывания. Перезапуск завершает все его сеансы, не только удаляемое устройство. Старый пароль на новом соединении не должен пересылать задачу. Для следующих тестов создайте новый временный пароль и подтвердите принятие нового и отказ старому. Удаление клиентского файла или подписки не является отзывом на сервере.
При сбое продления, перезапуска или изменения закройте только новое входящее открытие. Восстановите прежние совместимые бинарный файл, конфигурацию и ещё действующую пару сертификата и ключа. Не возвращайте раскрытый пароль или отозванный закрытый ключ из backup. Независимо проверьте исходное управление и службы до новой попытки. Если действующего сертификата нет, держите прокси недоступным до исправления доверия.
Решая вопрос постоянного обслуживания сертификата и службы, сравните управление VPS с готовым VPN-сервисом. Это не утверждает импорт Trojan или администрирование сервера готовым приложением. Для ограниченных свидетельств ошибки используйте обработку журналов Xray, вернув временные настройки после сбора.
После одноразового эксперимента отзовите тестовые секреты, остановите и отключите только его unit, удалите собственные входящие правила и ресурсы первоначальной инвентаризации. Перед применением удаления изучите сохранённый installer; общие пути требуют остановки. Независимо подтвердите исходные службы и управление вместо признания команды stop доказательством очистки.
Не по этой процедуре. До открытия нужны законный домен и действующий совпадающий сертификат. Постороннее имя, insecure или публичный общий секрет не выполняют условие. Остановитесь и выберите отдельно поддерживаемый подход.
Нет. Обе стороны используют Xray-core v26.3.27. Пути, поля и поведение службы принадлежат этой реализации. Документация другого клиента должна соответствовать протоколу и TLS до отдельной проверки совместимости.
Нет. TLS и web-ответ могут существовать без аутентифицированной пересылки. Нужны явный клиентский запрос и свидетельство разрешённого назначения. Минимальный пример не имеет fallback; добавление создаёт отдельно проверяемый путь.
Новый запрос не должен пересылать разрешённую задачу. Меняйте только временный пароль, перезапускайте тестовый клиент и отделяйте отказ от fallback. При пересылке остановите открытие и изучите живое состояние до продолжения.
Нет. Проверяйте имя, цепочку, даты, пару ключа и выдаваемый сертификат с включённой верификацией. Ошибка сертификата требует остановки. Неверное имя используется для доказательства отказа, не оправдания обхода.
Нет. Удалите server-side запись, проверьте и перезапустите выделенный экземпляр с учётом прерывания всех сеансов. Повторите старую идентичность на новом соединении. Не возвращайте раскрытые секреты из резервной копии.
Оставьте прокси недоступным и исправьте доверие через разрешённого issuer. Возвращать старую пару можно лишь при действительности и отсутствии компрометации. Повторите живой сертификат и свежую пересылку; файлов на диске недостаточно.
Отказ от ответственности: Это документированная процедура, не проверенное автором развёртывание или гарантия совместимости. Работайте только с разрешёнными ресурсами и назначениями, соблюдайте право и условия провайдера. При неясных домене, доверии, области или восстановлении остановитесь.
Источники:
Sources checked 11 октября 2026 г.
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.