Обновить
2

Пользователь

Отправить сообщение

Не, не нужен. Все запросы на mysite.ru в которых нет ключа (браузерные, например), telemt редирект на то, что указано в секции censorship параметром mask. И если там указать например 127.0.0.1:666 а на порту 666 хостить свой сайт, то он и будет открываться

не, там см. секцию stream в конфиге nginx, она смотрит на SNI и только tg.mydomain.com отправляет в telemt

nginx.conf:

stream {
    # tg.mydomain.com -> 127.0.0.1:600 (на :600 MTProto proxy)
    map $ssl_preread_server_name $backend {
        tg.mydomain.com 127.0.0.1:600;
        default 0;
    }
    server {
        listen 443;

        proxy_pass $backend;
        ssl_preread on;
        proxy_timeout 5m;
        proxy_connect_timeout 1s;
    }
}

http {
    
    # страница tg.mydomain.com на :601 - фоллбек из MTProto
    # для соединений без ключа
    server {
        listen 127.0.0.1:601 ssl;
        server_name tg.mydomain.com;

        ssl_certificate /etc/letsencrypt/live/tg.mydomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/tg.mydomain.com/privkey.pem;

        default_type text/html;

        location / {
            return 200 'hello world';
        }
    }
}

telemt.toml (я без докера его использую, с докером наверн тоже можно, но надо будет порты прокидывать, чтобы 127.0.0.1:601 был изнутри него доступен):

# слушаем 600
[server]
port = 600
listen_addr_ipv4 = "127.0.0.1"
listen_addr_ipv6 = "::"

# коннекты без ключа - фоллбечим на :601
[censorship]
tls_domain = "tg.mydomain.com"
mask = true
mask_port = 601
mask_host = "127.0.0.1"
fake_cert_len = 2048

грац, с помощью nginx и mask_host:mask_port смог настроить self-steal, когда на 443 и прокси, и свой сайт, под который прокси мимикрирует (не люблю чужие фейковые SNI потому что ну какой google.com на албанской впске за писят рублей)

а также: держу на одном сервере outline (это shadowsocks), а также xray-reality и xray-shadowsocks. Почти всё работает ок, но google.com (почта, карты - ок) возвращает 403, если пользоваться клиентами foxray или shadowrocket (всё на iphone) и любым из трех прокси (их можно настроить, в том числе, чтобы работали с outline-сервером). с outline-клиента с outline-сервером гугл тоже ок, вот такая вот загадка

сделал на 443 порту и vless-reality, и свой маленький реальный сайт, всё работает, но, возможно, детектируется:

stream {

map $ssl_preread_server_name $sni_name {
	www.microsoft.com  reality;
    mywebsite.com      mywebsite;
    www.mywebsite.com  mywebsite;
    default            reality;
}

upstream mywebsite {
	server 127.0.0.1:1443;
}

upstream reality {
    server 127.0.0.1:2443;
}

server {
    listen          443 reuseport;
    proxy_pass      $sni_name;
    ssl_preread     on;
}

}

Информация

В рейтинге
6 195-й
Зарегистрирован
Активность