Сервер 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:// містить цілий сервер в одному рядку:
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#BasicWebSocket через cdn.example.com:
trojan://secret@trojan.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws#WebSocketgRPC з назвою сервісу TrojanGun:
trojan://secret@trojan.example.com:443?security=tls&type=grpc&serviceName=TrojanGun#gRPCHTTP/2:
trojan://secret@trojan.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2HTTP Upgrade:
trojan://secret@trojan.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#UpgradeREALITY, що позичає www.example.com:
trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY