Правильно ли я понял что если оба абонента скачали tox на андроид и сделали первичный бутстрап узлов то теперь их общению точно не помешает ркн из-за того что сообщения пойдут через dht? Или я неверно понял принцип работы tox?
Tox довольно нестабилен, если хотите что то настолько серьезное - используйте simplex. Он стабилен и быстро работает. Поищите дополнительные сервера в сети. Многие их развернули - сообщения там не прочесть, а уровень безопасности повышается.
Но звонки в РФ работают через одно место, я вас предупредил. Если нужны будут сервера для симплекса пишите в ЛС.
Или deltachat - это тоже очень хороший вариант.
симплекс это серверное решение в котором сервер это единая точка отказа? если да то такое я не хочу.
я хочу именно бессерверное решение где один раз делается бутстрап а дальше клиенты регулярно выходят онлайн и им никак не помешать общаться пока не закроют весь рунет.
смысл именно в том чтобы найти аналог вацапа/вайбера который в принципе устойчив к блокировкам любым серверов и не требует ни впнов ни запретов ни гудбаев.
поэтому я и спрашиваю правильно ли я понял что tox полностью бессерверный и просто выкидывает зашифрованные открытым ключом сообщения в dht или я неверно понял документацию.
Да tox безсерверный, я не ручаюсь что его нельзя заблокировать. Блокировка может быть не только по серверу но и по протоколу.
Не знаю исправили ли в Tox архитектурную уязвимость, что неблагонадёжные друзья могли вредоносный код отправить. Но IP точно друзьям известен, если не использовать Tor.
это уязвимость в старом брошенном клиенте который два года не обновлялся. есть постоянно обновляемый клиент у него правда интерфейс из 70-х, но минут за 10 можно в нём разобраться.
может быть, но в любом случае сейчас блокировка tox по протоколу это из области фантастики. а вот то что при отрезании рунета от интернета tox продолжит работу внутри рунета если регулярно выходить в сеть и обновлять список активных узлов - очень поможет на всякий случай. ну и в любом случае после блокировки вацапа и вайбера стало ясно что бессерверное решение лучше серверного, потому что один раз обойти блокировку при бутстрапе удобнее чем обходить её каждый раз при заходе в сеть.
Tox - это дырявое и кривое решето, которое никому не нужно настолько, что его развитие за 10 лет никуда особо и не продвинулось.
По существу:
-
Вся криптография до сих пор самопальная, и с момента старта проекта ничего существенно не поменялось. На дырявый и кривой механизм хендшейка явно указывал ещё автор Wireguard лет так восемь назад. Последняя запись в блоге проекта от 2 марта 2023-го говорит о том, что PoC для решения этой проблемы уже существует, но с тех пор оно в ядре так и не появилось.
-
Непотопляемость сети - миф. Трафик клиента и сервера выглядит очень характерно, а бутстрап происходит через DHT-ноды, список которых публично известнен и зашиты во все клиенты (примерно как в торрент-клиенты). Если клиенты двух собеседников будут подключены к двум разным нодам, которые не сидят при этом в одном сварме - ничего работать не будет. Да, есть возможность пользоваться всем этим добром вообще хоть в интранете - например, можно поднять ноду в городской локалке и отдать юзерам пересобранный клиент в который будет зашита эта нода (вспоминайте как работали retracker.local в городских сетях - идея та же) - но в принципе уйти от механизма бутстрапа здесь невозможно.
-
Ноды нужны не только для того чтобы бутстрапить клиентов, но и для того чтоб проксировать войс- и видео-трафик. Если хотя бы один собеседник из двоих сидит за CGNAT - трафик поедет через ноду\ноды, даже несмотря на то что ядро типа как умеет в UDP hole punching.
-
Нет нормальных клиентов под десктоп. Кое-как развивается только toxic, который сделан вокруг ncurses, плюс недавно кое-как реанимировали qTox (в виде очередного форка от одного из авторов ядра, iphy; не путать с qTox Enhanced который делает какой-то левый васян). Есть ещё отечественный yat, но там уже девять месяцев тишина в репозитории. Вдобавок, его пишет какой-то странный и потенциально подментованный товарищ. В винду из них троих умеет только форк qTox.
-
Под мобилу нормальных клиентов ещё меньше: Antox давно мёртв, TRifA никогда не работал нормально, и хоть как-то поддерживается только aTox. Под iOS нет вообще нихрена.
-
Нет поддержки оффлайн-сообщений. Вообще. Выглядит это на деле примерно как во времена старого Skype: если один из собеседников оффлайн, то сообщение будет доставлено ему только тогда, когда он появится в сети - и только при условии, что отправитель тоже находится онлайн. Есть костыли, которые слегка маскируют эту проблему, но фундаментально это никак не исправить, не изменив архитектуру сети - поскольку это чистый P2P, то и хранить оффлайн-сообщения негде.
блокировка бутстрапа не проблема, его надо сделать всего один раз. тут и бесплатный впн подойдёт и тор какими бы медленными они ни были.
к tox можно как-то прикрутить obfs4 из тора?
в любом случае есть ли другой бессерверный мессенджер?
Бутстрап нужен более-менее всегда в случае с актуальными клиентами. Т.е. хотя бы одна нода на запуске должна соединить клиент со свармом.
Что до Tor - использовать его можно в большинстве клиентов как обычный SOCKS-прокси, так что вопрос поддержки мостов следует относить скорее к той версии Tor которой вы пользуетесь. Более того, это плюс-минус необходимо, поскольку из коробки клиенту легко видны айпишники всех контактов со статусом “онлайн” в контакт-листе.
Что до других проектов, то можно посмотреть на:
- KouChat (давно не разивавается)
- Chitchatter (строго браузерный, webtorrent)
- Mesh (форк заброшенного BitChat; давно не развивается)
- Cwtch (что-то самобытное, работает принципиально только поверх Tor и даже тащит с собой его бинари)
разве клиент не сохраняет список узлов? в торентах клиент берёт список узлов dht даже если бутстрап забанен или не работает - скачиваешь популярный торент, клиент спрашивает у пиров кто из них в dht и через них подключается к dht и после перезапуска подключается сразу к узлам dht минуя бутстрап. разве в tox не так?
судя по списку альтернатив никаких альтернатив у tox нет.
Не во всех случаях и не со всеми клиентами.
Есть Cwtch как что-то умеренно современное и рабочее (почитал - оказалось, что это форк помершего Ricochet из 2010-х). Другое дело, что Tox решает проблему которой как таковой-то и нет. Потому он никуда и не взлетел.
“Probably” - это именно “probably”. Ну и не факт что клиент выберет для подключения в этот раз доступную с именно этого линка ноду.
Так или иначе, любой механизм бутстрапа - это автоматический расстрел любой идеи децентрализованного мессенджера.
An Introduction to Cwtch P2P Chat | Cwtch - рекомендовал бы ознакомиться. Выглядит интереснее и более стабильно чем Tox, честно говоря.
если будет хотя бы десяток релеев на всю рф с хорошим аптаймом то всё будет норм, они связность сети обеспечат. а учитывая системные требования для релея его можно на пентиуме4 запустить.
механизм бутстрапа это вообще единственный способ обеспечить децентрализованное общение между узлами. тем более что тут как и в торентах/i2p бутстрап делается один раз и дальше узлы сами друг с другом свяжутся.
читаю про cwtch
Decentralized and Open
Participants in Cwtch can host their own safe spaces, or lend their infrastructure to others seeking a safe space. There is no “Cwtch service” or “Cwtch network”. The Cwtch protocol is open, and anyone is free to build bots, services and user interfacesand integrate and interact with Cwtch.
что это значит? тут надо свои сервера поднимать как в джаббере или децентрализованность работает как в торентах и tox?
https://nodes.tox.chat - вот здесь есть публичный список всех живых и рабочих нод. На данный момент в России живых три.
Аптайма, естественно, не гарантирует никто - ноды спокойно могут лежать в сорцах клиента и при этом быть мёртвыми годами. Это крайне распространённая ситуация.
Ну и опять же - оператор ноды рискует своей задницей предоставляя сервис как таковой. В РФ почти невозможно арендовать сервер не показав паспорт, а дома под кроватью такое держать - вообще самоубийство.
По дефолту оно работает как onion-сервис, и весь трафик идёт только в оверлее, в т.ч. передача файлов (её нужно отдельно включать в настройках как “эксперимент”). Из коробки само приложение умеет только в 1-на-1 чаты. Поддержки звонков - нет.
Серверы - те да, хостятся отдельно, это отдельный компонент, который точно так же работает как onion-сервис.
Из минусов которые приходят в голову - Orbot до сих пор из коробки не умеет в webtunnel, поэтому есть шанс сходить нафиг в случае недоступности obfs4-мостов или meek.
это не список нод всей сети, это даже не список релеев - это список бутстрапов добавленных вручную. более того можно сделать свой файл bootstrap.json и сунуть его в параметр запуска --nodes path/to/file
дома под кроватью такое держать - вообще самоубийство
ну это страшилка из разряда поведут за торенты босиком на расстрел.
Серверы - те да, хостятся отдельно
это опять получается единая точка отказа, забанят как вацап с вайбером забанили. а в случае с токсом надо забанить все бутстрапы так чтобы не обошли, все появляющиеся бутстрапы которые можно распространять json-файлами, изъять все компы с релеями и расстрелять всех кто их держит и забанить протокол - в нынешних реалиях выглядит пока что совершенно нереалистично.
На компе развернуть свой сервкак, чтоб без посредников было и звони между собой, пиши что хочешь, никто никогда не перехватит, делай просто не по стандарту, это наверно последнее самое безопасное что осталось. Но опять же, смотря с чего звонить, если с телефона, то он должен быть пустой, без всяких там приложений, включая все стандартные и саму прошивку, тогда да, а так, тогда нет смысла, ваш яндекс к примеру в телефоне сольёт всё кому надо, как и хром и все ваши приложения )) Вроде как приложение погода, а по факту имеет полный доступ к камере и микрофону, к месту положению, та ко всему что у вас в нём есть ) И не думайте что можно что то отключить галкой, нет конечно, галка это так, чтоб вы поверили что отключили, ну чтоб вы спали спокойней веря что вас никто не видит )
Я за своим телефоном просёк ещё в 15 году, в роуторе лазил, смотрю подключён к вафле мой телефон, взял в руки телефон, галка вафли отключена, а роутер передаёт что там, удалил саму вафлю из телефона, чтоб он больше не смог подключиться сам и пароль поменял на роуторе на всякий случай и с тех пор больше его к нэту не подключаю вообще )
Я так понял, чтоб подключать телефон к нэту, то сначала нужно поменять на нём прошивку, не знаю, какое нить wrt на него поставить с открытым исходным кодом и только тогда подключать к нэту, не ставить вражеские приложения, а только то что знаешь лично и доверяешь и тогда уже пользоватся, а так в противном случаи всё это бутафория, все эти телеграммы, вайберы, сигналы и прочая хрень ) И у собеседника должен быть такой же с такой же прошивкой, если у него стандартный, тогда всё это тоже не будет иметь значение
И именно эти ноды из этого списка как правило зашиваются внутрь клиентов.
Про это я уже говорил чуть ранее - с некоторыми клиентами так можно, да.
Как я уже говорил, протокол Tox выглядит очень узнаваемо и характерно на дампах, и его будет крайне легко заблокировать как таковой.
Авторы проекта не ставят целью сделать что-то, что нельзя будет заблокировать, а что-то, где юзера будет как можно более сложно соотнести с реальным человеком.
Напоминаю что одного не очень житейски умного математика, который решил держать дома exit-ноду Tor в своё время успешно посадили. С недавними изменениями в законодательстве это будет ещё легче.