Гораздо удивительней то, как много людей ничтоже сумняшеся складывают эти проценты (13 + 30). Но тут и причина та же. :)
И не менее заметное количество людей, сравнивая системы налогообложения в разных странах, не видят разницы между случаями, когда за 100% берется брутто (налоги вычитаются из этой суммы), и случаями, когда за 100% берется нетто (налоги добавляются к этой сумме).
Вы вот в комментарии выше по ветке посчитали 33% от брутто. Если считать от нетто, то будет 49,425% (130/87).
(это не наезд и не претензия — так, заметки на полях)
Конечно. Следует читать "не в абстрактный TLS, а конкретно в websocket". Не совсем точно сформулировал, прошу простить.
Поверх TLS много что бегает, и если стоит задача сделать трафик максимально похожим на HTTPS (наиболее массовый вид трафика в интернете), то нет ничего лучше, чем обернуть его в HTTPS, что для решаемой задачи в реальности означает websocket.
С точки зрения внешнего наблюдателя это все выглядит именно как TLS
Этого маловато по нынешним временам. Боюсь, простой stunnel4, оборачивающий трафик в "голый" TLS, не решит задачу маскировки трафика так же хорошо.
Собственно, мой поинт в том (высказанный где-то тут рядом в комментариях), что для создания SOCKS5-прокси, работающего через websocket, из двух вариантов (ShadowSocks с плагинами либо wstunnel) мне больше нравится второй, в нем слоев инкапсуляции меньше, следовательно меньше оверхеда, и противодействие active probing'у есть (тут я имею в виду конкретную реализацию).
ShadowSocks без V2Ray достаточно легко идентифицируется DPI и блочится. Есть плагин V2Ray, маскирующий его под websocket (который является настоящим честным https). Но вместо этого слоеного пирожка уж лучше взять готовый wstunnel, который сразу использует websocket (см. репо "erebe/wstunnel" на гитхабе). По сравнению с ShadowSocks минус в том, что не под все архитектуры есть готовые бинарники, на роутер не поставишь, если сам не умеешь в кросскомпиляцию.
Идеальный вариант применения — когда на VPS крутится, для отвлечения внимания, какой-нибудь реальный сайтик с доменным именем, всё как положено. Но при получении определенного хедера nginx проксирует трафик на wstunnel. Такое не обнаружить ничем — ни DPI, ни портсканом.
Причем в этот wstunnel (который сам по себе всего лишь SOCKS5-прокси) можно и wireguard обернуть, получив полноценный VPN.
Я бы еще добавил, что shadowsocks-v2ray в режиме websockets
Я бы еще добавил, что v2ray фактически делает ненужными ухищрения ShadowSocks (недостаточные, в итоге, раз нужен плагин) по маскировке трафика. В связи с этим не вполне понятно, зачем использовать эту сборную солянку, если можно использовать сразу WebSocket tunnel (например, этот: https://github.com/erebe/wstunnel).
Себе я на этот вопрос ответил примерно так: ShadowSocks — достаточно старый известный на весь мир проект, распиаренный даже (преодолевает Великий Китайский!), а реализации wstunnel как-то нигде особо не светятся так уж сильно. Хотя, как мне представляется, они гораздо правильнее идеологически и, в теории, должны быть более производительными.
Дальнобои применяли глушилки задолго до того, как "платон" вообще в планах появился — для обмана систем fleet management собственных автотранспортных предприятий.
Ну слушайте, я завтра (сегодня я занят) заявлю, что для компиляции, скажем, языка С, не нужен компилятор с языка С, пороюсь в загашниках и достану какую-нибудь приблуду, которая Сшный код конвертирует в ассемблерный.
Буду ли я прав? Буду, если сделаю оговорку, что компилятор не нужен не всегда. Без такой оговорки я буду неправ, поскольку в этом случае мое утверждение будет претендовать на то, что оно справедливо во всех случаях. Автор утверждения, которое я оспаривал, такой оговорки не сделал.
Поэтому давайте не будем общее утверждение подтверждать частными случаями? Приведенная выше примочка не является штатным средством, не входит в спецификацию protobuf, к тому же реализована только для .NET, а вовсе не для всех языков, для которых есть protobuf.
А не майкрософтовские неймспейсы у нас не в почете?
Гм. Мне это почудилось, что между "можно без протофайлов" и "можно без протофайлов, но с внешней примочкой" есть неуловимая смысловая разница? Или мне не почудилось, и она действительно есть?
Если предполагается restful взаимодействие с понятной предметной областью - то классический Rest однозначно лучше.
Звучит так, как будто restful-взаимодействие — самоцель. Но обычно нужно просто взаимодействие, а к restful обращаются потому, что это первое, что приходит в голову.
Ну т.е. можно сказать ведь, что "если предполагается взаимодействие через TCP-сокеты, то классическая работа с сокетами однозначно лучше". Трудно спорить. ;)
Очень жаль, что не рассказали о том, что протобаф доступен без всякого grpc и протофайлов как форматтер в "обычном" рест-взаимодействии.
Без gRPC — да.
Без протофайлов — нет. Ну т.е. можно "потом" руками модифицировать уже сгенерированный исходный код и брать на себя всю ответственность за нарушения контракта, но в первоначальной итерации все-равно нужно компилировать протофайлы.
Пффс, лет 10 не слышал этого любимого аргумента воинствующих неучей — "ну ты же всё понял". Спасибо, поностальгировал.
P.S. Понты я никакие не люблю, так что тебе придется любить их за себя и за того парня.
У них просто с пониманием процентов проблемы. :)
Гораздо удивительней то, как много людей ничтоже сумняшеся складывают эти проценты (13 + 30). Но тут и причина та же. :)
И не менее заметное количество людей, сравнивая системы налогообложения в разных странах, не видят разницы между случаями, когда за 100% берется брутто (налоги вычитаются из этой суммы), и случаями, когда за 100% берется нетто (налоги добавляются к этой сумме).
Вы вот в комментарии выше по ветке посчитали 33% от брутто. Если считать от нетто, то будет 49,425% (130/87).
(это не наезд и не претензия — так, заметки на полях)
Вы партизанить собрались что ли? Лучше все-таки выводить из парка или из флота.
Конечно. Следует читать "не в абстрактный TLS, а конкретно в websocket". Не совсем точно сформулировал, прошу простить.
Поверх TLS много что бегает, и если стоит задача сделать трафик максимально похожим на HTTPS (наиболее массовый вид трафика в интернете), то нет ничего лучше, чем обернуть его в HTTPS, что для решаемой задачи в реальности означает websocket.
Этого маловато по нынешним временам. Боюсь, простой stunnel4, оборачивающий трафик в "голый" TLS, не решит задачу маскировки трафика так же хорошо.
Собственно, мой поинт в том (высказанный где-то тут рядом в комментариях), что для создания SOCKS5-прокси, работающего через websocket, из двух вариантов (ShadowSocks с плагинами либо wstunnel) мне больше нравится второй, в нем слоев инкапсуляции меньше, следовательно меньше оверхеда, и противодействие active probing'у есть (тут я имею в виду конкретную реализацию).
ShadowSocks без V2Ray достаточно легко идентифицируется DPI и блочится. Есть плагин V2Ray, маскирующий его под websocket (который является настоящим честным https). Но вместо этого слоеного пирожка уж лучше взять готовый wstunnel, который сразу использует websocket (см. репо "erebe/wstunnel" на гитхабе). По сравнению с ShadowSocks минус в том, что не под все архитектуры есть готовые бинарники, на роутер не поставишь, если сам не умеешь в кросскомпиляцию.
Идеальный вариант применения — когда на VPS крутится, для отвлечения внимания, какой-нибудь реальный сайтик с доменным именем, всё как положено. Но при получении определенного хедера nginx проксирует трафик на wstunnel. Такое не обнаружить ничем — ни DPI, ни портсканом.
Причем в этот wstunnel (который сам по себе всего лишь SOCKS5-прокси) можно и wireguard обернуть, получив полноценный VPN.
wstunnel заворачивает трафик не в TLS, а конкретно в WebSocket. В V2Ray реализовано то же самое.
Тут вы, безусловно, правы. Но это единственный недостаток wstunnel.
Я бы еще добавил, что v2ray фактически делает ненужными ухищрения ShadowSocks (недостаточные, в итоге, раз нужен плагин) по маскировке трафика. В связи с этим не вполне понятно, зачем использовать эту сборную солянку, если можно использовать сразу WebSocket tunnel (например, этот: https://github.com/erebe/wstunnel).
Себе я на этот вопрос ответил примерно так: ShadowSocks — достаточно старый известный на весь мир проект, распиаренный даже (преодолевает Великий Китайский!), а реализации wstunnel как-то нигде особо не светятся так уж сильно. Хотя, как мне представляется, они гораздо правильнее идеологически и, в теории, должны быть более производительными.
Эх! Мы так никогда и не узнаем, кто убил Кеннеди! :)
Смутно припоминается фамилия, но не более того. :)
Дальнобои применяли глушилки задолго до того, как "платон" вообще в планах появился — для обмана систем fleet management собственных автотранспортных предприятий.
Или фраза:
"Прыг-скок" — "Prick's cock"
Вам известна сказка про голого короля?
Ну слушайте, я завтра (сегодня я занят) заявлю, что для компиляции, скажем, языка С, не нужен компилятор с языка С, пороюсь в загашниках и достану какую-нибудь приблуду, которая Сшный код конвертирует в ассемблерный.
Буду ли я прав? Буду, если сделаю оговорку, что компилятор не нужен не всегда. Без такой оговорки я буду неправ, поскольку в этом случае мое утверждение будет претендовать на то, что оно справедливо во всех случаях. Автор утверждения, которое я оспаривал, такой оговорки не сделал.
Поэтому давайте не будем общее утверждение подтверждать частными случаями? Приведенная выше примочка не является штатным средством, не входит в спецификацию protobuf, к тому же реализована только для .NET, а вовсе не для всех языков, для которых есть protobuf.
Не понял вопроса.
Гм. Мне это почудилось, что между "можно без протофайлов" и "можно без протофайлов, но с внешней примочкой" есть неуловимая смысловая разница? Или мне не почудилось, и она действительно есть?
Звучит так, как будто restful-взаимодействие — самоцель. Но обычно нужно просто взаимодействие, а к restful обращаются потому, что это первое, что приходит в голову.
Ну т.е. можно сказать ведь, что "если предполагается взаимодействие через TCP-сокеты, то классическая работа с сокетами однозначно лучше". Трудно спорить. ;)
Без gRPC — да.
Без протофайлов — нет. Ну т.е. можно "потом" руками модифицировать уже сгенерированный исходный код и брать на себя всю ответственность за нарушения контракта, но в первоначальной итерации все-равно нужно компилировать протофайлы.
PunkBuster недалеко от нее ушел.
Видимо, всё же, только в этом случае?
А в остальных — не начинают, пока их не await'нут.
Простите, но LA — это не Bay Area.
И климат в Bay Area характеризуется, скорее, как "вечная весна", жары там не бывает практически.
GB — родина всего английского на планете. :)
P.S. В Канаде, кстати, тоже всё как у людей, хотя казалось бы, рядышком с США совсем. Остальных не проверял.