Вероятно, упущу много всего, да и в чем-то ошибусь. Пожалуйста, поправьте, если что
Xray-core – и клиент, и сервер, основанный на ядре v2ray, в котором впервые появились протоколы VMess и VLESS. И много всего ещё поддерживается, shadowsocks например, версия 2022 в том числе.
Требует написание конфигурационных файлов и в принципе работу в терминале, впрочем, многие графические программы, те же nekoray/nekobox например, основаны на xray и упрощают работу с оным. Поэтому и “core”.
В принципе v2ray и сейчас можно пользоваться спокойно, но смысла мало, учитывая, что Xray умеет всё, что умеет v2ray, и даже больше.
Главное отличие Xray — наличие надстроек над протоколом VLESS, под названием XTLS. Имеет несколько видов/реализаций этого самого XTLS, Reality самая последняя и навороченнная среди них.
Смысл существования XTLS, как я понимаю — защищать прокси-сервер от блокировок методом active probing, т.е. когда цензором посылается определённый сигнал, на который прокси/впн-сервер отвечает особенным образом, не так, как ответил бы реальный веб-сайт, и на основании этого подключение обрезается.
Так вот, XTLS нужно чтобы для всех цензоров, стучащихся на сервер, выдавался веб-сайт обманка, и факт использования прокси скрывался.
XTLS-Reality. Отличается от остальных, предыдущих реализаций XTLS тем, что не требует иметь собственные домен и веб-сайт для обманки цензоров, и позволяет просто указать любой айпи и название любого существующего сайта, главное чтоб доменное имя не было заблокировано. Цезоры просто будут переправляться. Так, кстати, возможно обходить блоки по белым спискам — например, если какой-то заграничный ресурс работает при отвале всех остальных, просто используешь его для обманки.
Есть конечно ньюансы в том, как лучше всего настроить прокси-сервер с XTLS-Reality. Например, позакрывать порты, которые закрыты на сервере веб-сайта, под который мы маскируемся. Но в принципе технология уже сама по себе мощная.
Sing-box. Ещё одно ядро. Как xray или v2ray. Подддерживает всё, что поддерживает xray. Из преимуществ — немного более производительное. И при использовании в качестве клиента (и как ядра в nekoray) багов встречается поменьше. Плюс tun-режим на линуксе гораздо менее болезненно работает.
А теперь недостатки:
- Документация на сайте намного хуже, чем у xray. А сторонних материалов по настройке намного меньше. Приходится разбираться.
- Да, формат файлов конфигурации у sing-box отличается от xray’евского. Причем на первый взгляд они будто и не отличаются почти, но стоит начать переписывать… Это будет немного больно. Особенно с учетом предыдущего пункта.
- Полное отсутствие reverse-proxy. Впрочем, оно не всем нужно, но мне было немого критично.
У меня в итоге получается, что sing-box больше подходит для использования лишь в качестве клиента, а на сервере лучше пусть стоит Xray. Проблем так никаких не должно возникать. Есть, конечно, ньюанс в том, что нужно вручную врубать xudp при использовании XTLS (это чтоб UDP-пакеты быстрее шли, хотя оно необязательно). Но в принципе всё должно работать.
И вообще, sing-box лучше всего использовать лишь через графические оболочки (nekoray/nekobox), это наименее болезненно. Зачем утруждать себя изучением ещё одного формата конфигурации?
Хотя при жедании можно попробовать иметь sing-box и на серверах, и на клиентах. Из плюсов — изучать придется лишь один формат конфигурации вместо двух. Но остается минус слишком куцой документации.
Надеюсь, в итоге всё стало понятнее.