Skip to content

Trojan

Транспорти, параметри TLS, посилання та можливості Trojan, які підтримує Potatso.

Updated Відкрити як Markdown

Сервер Trojan описують пароль і його параметри TLS, а також, за потреби, транспорт, що передає з’єднання, наприклад WebSocket чи gRPC. Trojan завжди працює всередині TLS (або REALITY), тож для стороннього спостерігача з’єднання виглядає як звичайне відвідування HTTPS. Potatso під’єднується до сервера, коли підтримує транспорт і параметри TLS сервера. Скористайтеся таблицями нижче, щоб перевірити параметри свого сервера, як їх показує ваш постачальник або вказано в його посиланні trojan://.

Сервер Trojan можна додати вручну, через посилання trojan:// або імпортом:

  • підписки Clash чи Mihomo,
  • конфігурації Xray чи V2Ray,
  • конфігурації Surge.

Potatso поки не імпортує сервери Trojan із конфігурації sing-box. Натомість використайте посилання trojan:// сервера.

Транспорти

Транспорт type у посиланні Підтримується Перевірено з
Лише TLS (без транспорту) tcp або нічого ✅ Xray, sing-box, trojan-go
WebSocket ws ✅ З ранніми даними або без них Xray, sing-box, trojan-go
gRPC grpc ✅ Xray, sing-box
HTTP/2 http або h2 ✅ sing-box
HTTP Upgrade httpupgrade ✅ Xray, sing-box
XHTTP xhttp ❌
mKCP, QUIC kcp, quic ❌

Кожен транспорт працює з UDP. Potatso не імпортує сервер, транспорт якого він не підтримує.

Xray більше не пропонує HTTP/2: сервери Xray, які його використовували, тепер використовують XHTTP, який Potatso поки не підтримує.

TLS

Параметр Ключ Clash Параметр посилання Підтримується
Назва сервера (SNI) sni sni, peer ✅ Без неї Potatso використовує адресу сервера.
ALPN alpn alpn ✅ Без нього Potatso надсилає h2, http/1.1, або http/1.1 для WebSocket і HTTP Upgrade, та h2 для gRPC і HTTP/2.
Пропустити перевірку сертифіката skip-cert-verify allowInsecure, insecure ✅
Закріплення сертифіката (SHA-256) fingerprint ✅
Відбиток браузера client-fingerprint fp ✅ chrome, firefox, safari, ios, android, edge і random. З іншими назвами з’єднання встановлюється зі стандартним рукостисканням.
REALITY reality-opts security=reality, pbk, sid ✅ Без транспорту або з gRPC
Encrypted Client Hello (ECH) ech-opts ech ✅ З конфігурацією ECH у посиланні чи підписці
Власний сертифікат CA ❌
Клієнтський сертифікат TLS certificate, private-key ❌

Вимкнення перевірки сертифіката дозволяє будь-кому між вами та сервером читати ваш трафік. Натомість закріпіть сертифікат сервера, якщо він самопідписаний: задайте SHA-256 його сертифіката як закріплення сертифіката.

Відбиток браузера робить рукостискання TLS схожим на рукостискання цього браузера. Він не змінює того, що має підтримувати сервер.

REALITY

Сервер REALITY позичає сертифікат TLS іншого сайту, тож власного йому не потрібно. Задайте публічний ключ і короткий ID сервера так, як їх дає ваш постачальник, а назву сервера — як сайт, у якого сервер позичає сертифікат. REALITY потребує відбитка браузера: якщо у вашому посиланні чи налаштуваннях його немає, Potatso використовує chrome.

REALITY працює без транспорту та з gRPC. Potatso не імпортує сервер REALITY, що використовує інший транспорт.

Мультиплексування

Potatso може пропускати кілька з’єднань через одне з’єднання Trojan за допомогою мультиплексування sing-box (smux, yamux або h2mux), що задається через smux у підписці Clash. На сервері має бути ввімкнено мультиплексування. TCP і UDP працюють обидва.

Власне мультиплексування trojan-go (mux на сервері trojan-go) — це інший протокол, і Potatso його не підтримує. Сервер trojan-go усе одно приймає з’єднання Potatso без нього.

UDP

Trojan передає UDP через те саме з’єднання TLS, що й TCP. UDP типово вимкнено, як і в Clash. Увімкніть параметр «Ретрансляція UDP» в параметрах сервера, якщо ваш сервер ретранслює UDP: Xray, sing-box і trojan-go це роблять. Підписка Clash вмикає його через udp: true.

Підтримка можливостей

Можливість Підтримується
Протокол Trojan: хеш пароля, CONNECT ✅
Trojan UDP ASSOCIATE ✅
Trojan без TLS (security=none) ❌
Кілька користувачів на одному сервері ✅ Кожен зі своїм паролем
Транспорти WebSocket, gRPC, HTTP/2 і HTTP Upgrade ✅ Див. Транспорти
Транспорти XHTTP, mKCP і QUIC ❌
REALITY ✅ Без транспорту або з gRPC
ECH ✅
Мультиплексування sing-box (smux, yamux, h2mux) ✅
Мультиплексування trojan-go ❌
Шифрування Shadowsocks у trojan-go (ss-opts, encryption=ss;…) ❌
ShadowTLS, Restls або JLS навколо Trojan ❌
Посилання trojan:// і trojan-go:// ✅

Кожну підтримувану можливість перевірено принаймні на одному справжньому сервері Trojan: Xray, sing-box або trojan-go.

Коли пароль неправильний, сервер Trojan відповідає як звичайний вебсайт (своє резервне відображення). Тоді Potatso не може під’єднатися й не показує помилки пароля: спершу перевірте пароль, якщо сервер Trojan так і не під’єднується.

Potatso не імпортує сервер, який використовує шифрування Shadowsocks від trojan-go, ShadowTLS, Restls чи JLS навколо Trojan, бо він під’єднався б без них, а сервер не відповів би.

Деякі можливості trojan-go — це параметри його власної клієнтської програми, а Potatso виконує ту саму роботу по-своєму:

  • Маршрутизація: використовуйте правила у своєму профілі.
  • Локальні сервери SOCKS5 і HTTP та пересилання: Potatso сам перехоплює трафік вашого пристрою.

Посилання trojan:// містить цілий сервер в одному рядку:

trojan://password@host:port?parameters#name
Частина Опис
password Пароль, закодований відсотковим кодуванням. Усе перед @ — це пароль, зокрема будь-які :.
host Адреса сервера. IPv6-адресу беріть у квадратні дужки, наприклад [2001:db8::1].
port Порт сервера. Якщо не вказано, Potatso використовує 443.
name Необов’язково. Назва сервера в Potatso.

Параметри відповідають формату, який використовують Xray і v2rayN:

Параметр Опис
security tls (типово) або reality.
type Транспорт: tcp, ws, grpc, http (HTTP/2) або httpupgrade.
sni, peer Назва сервера TLS.
alpn Список ALPN, розділений комами й закодований відсотковим кодуванням.
fp Відбиток браузера.
allowInsecure 1 вимикає перевірку сертифіката.
host HTTP Host для WebSocket, HTTP/2 і HTTP Upgrade.
path Шлях для WebSocket, HTTP/2 і HTTP Upgrade. Шлях WebSocket на кшталт /ws?ed=2048 вмикає ранні дані.
serviceName Назва сервісу gRPC.
pbk, sid Публічний ключ і короткий ID REALITY.
ech Конфігурація ECH, закодована в Base64 і відсотковим кодуванням.

Potatso також імпортує посилання trojan-go:// з type=original (без транспорту) або type=ws. Посилання з параметром encryption, якому потрібне шифрування Shadowsocks від trojan-go, він не імпортує.

Коли Potatso ділиться сервером Trojan, він пропонує посилання trojan:// з тими самими параметрами.

Кожен приклад показує посилання для імпорту. Пароль — secret.

Базовий сервер:

trojan://secret@trojan.example.com:443?sni=trojan.example.com#Basic

WebSocket через cdn.example.com:

trojan://secret@trojan.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws#WebSocket

gRPC з назвою сервісу TrojanGun:

trojan://secret@trojan.example.com:443?security=tls&type=grpc&serviceName=TrojanGun#gRPC

HTTP/2:

trojan://secret@trojan.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2

HTTP Upgrade:

trojan://secret@trojan.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#Upgrade

REALITY, що позичає www.example.com:

trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY
Навігація

Type to search…

↑↓ navigate↵ selectEsc close