LINUX.ORG.RU
ФорумMobile

columbia - опенсорс(?) мессенджер без интернета?

 , ,


3

2

https://github.com/torlando-tech/columba

Вроде как работают через экземпляры друг друга по вайфаю, блютузу и даже LoRa.

Кто что слышал?

UPD: про протокол, там вроде и другие программы клиенты есть https://4pda.to/forum/index.php?showtopic=1114849&st=0

★★★★★

Последнее исправление: pihter (всего исправлений: 1)
Ответ на: комментарий от Merionet

А где-нибудь есть хорошее техническое описание как именно оно устроено в reticulum? Чтобы можно было предметно пообсуждать что там сделано хорошо, а что нам не очень подходит.

watchcat382
()
Ответ на: комментарий от PPP328

Все эти mesh сети только в пределах одного человейника работают.

Не обязательно. Можно гонять сообщения через спутники, причем практически с нулевым шансом огрести за это. Почитайте про SATCOM. На самом деле «тупых транспондеров» без какой-либо защиты от «левого» использования там летает довольно много и кроме него. Когда запускали - о всяком хакерстве не задумывались. Да, разумеется, ни о каком «интернете» речи быть не может. Очень большая задержка и узкая полоса канала. У того же саткома шаг сетки каналов 12.5 кГц. То есть расчитывать можно только на что-то типа 2400. Но придется придумать свой протокол разделения этого канала между многими передатчиками, что само по себе не просто.

как мне написать другому человеку, если нас разделяют два дома?

Это вы можете сделать прямо сейчас даже без особых затрат. Например вот такие рации на 433 МГц https://avtogsm.ru/jet-one-p3142.html через два дома достанут. У меня лично есть точно такие поэтому их в пример и привел. И даже дальше достанут если им более приличные антенны подключить. У меня на 7 км через водную преграду работали,причем в голосовом режиме, более критичном к SNR чем медленные модемные протоколы. Берете программную реализацию модема http://www.whence.com/minimodem/ кодируете своё письмо в звуковой файл, потом проигрываете его в рацию подключившись к ней вместо внешней гарнитуры. Видео пример: https://www.youtube.com/watch?v=pwuyMJfyNmY На другой стороне - записать и декодировать обратно в байты. Для сокращения времени передачи и защиты от ошибок - добавить сжатие текста и избыточность перед кодированием в звук, это даже архиватор rar умеет. Всё абсолютно законно и очень дешево.

По желанию можно добавить управление рацией с компа, чтобы не надо было руками кнопку передачи нажимать. Это через тот же разъем гарнитуры делается и любой gpio-выход из компа, например ноги gpio можно найти на переходниках usb-com, которые кстати можно сделать из кабелей для подключения «устаревших» мобильников к компу, то есть бесплатно. Ну или купить за копейки если кабель Лень искать, а лишние деньги наоборот есть.

Но всё вышеописанное будет работать только для P2P линка из двух раций. Через два дома - в самый раз. А вот если хочется сделать сеть из десятков таких раций - то уже придется изобретать и приспосабливать некие протоколы арбитража канала и маршрутизации. Черпать вдохновение в этой области можно из радиолюбительских разработок в области AX.25 и прочей цифровой связи, а также у компьютерных сетей, огранизованных по принципу store&forward, таких как например uucp и даже fido. К сожалению, я не настолько силён в теории построения сетей чтобы нужные протоколы придумать. Хотел бы найти единомышленников в деле придумывания.

watchcat382
()
Ответ на: комментарий от watchcat382

https://markqvist.github.io/Reticulum/manual/

Я пару раз пытался читать эту документацию, но это непросто, потому что половина текста - это вода, а самое интересное расписано в виде кода. Сам протокол при этом отнюдь не простой.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от PPP328

Если я живу в селе, а абонент в городе - тоже молиться?

Не обязательно. Перечитайте мои сообщения в этой теме про ретрансляцию через спутники и потратьте хотябы одну ночь на гугление. Ну не буду я здесь в открытом доступе вываливать всё что по этому вопросу знаю - форум не анонимный:(

Но конечно придется руки приложить. Это уже задача не для чайников. Но и не так сложно как многие думают.

watchcat382
()
Ответ на: комментарий от pihter

TCP тоннельчики

ТСР через медленное радио - практически бесперспективно. Ибо дохнет и виснет даже от небольшого процента потерь пакетов. Сеть должна быть «оффлайновой», по принципу почты. Тогда очень сильно снижаются требования и к задержкам и к ошибкам и к маршрутизации и канал можно использовать симплексный реверсируемый.

watchcat382
()
Ответ на: комментарий от watchcat382

Выше скинули уже документацию, это самое хорошее, наверное. Лично я смотрел простые видео, могу скинуть. Конкретно этот мессенджер работает по протоколу LXMF, как и другие мессенджеры в этой сети, что обеспечивает совместимость. E2E предоставляет сам reticulum.

Merionet ★★
()
Ответ на: комментарий от watchcat382

ну вообще сколь знаю структуру лоры, так оно и есть одновременно принимать и передавать мелкие лор-модули не умеют. т.е. как минимум пакет полностью записывается в память, обрабатывается и если нужно передается в эфир.

я не знаю что такое uucp :) я десяток лет с фидошкой работал судя по всему «тож самое, только вид с боку». в ней проблемы глобального роутинга решались просто - вручную :)

вообще автоматический роутинг меш-сети не проблема, теоритические и практические наработки есть, но !! их надо применить и допилить по месту.

pfg ★★★★★
()
Ответ на: комментарий от Leupold_cat

Есть ли в планах Lanemu для Android устройств?

Такая мысль была, но спроса пока нет. С реализацией тоже вопросы, нужно как то сделать исполняемый файл (например GraalVM) и сделать IPC для взаимодействия с ОС Android (Android API для VPN) и ещё сделать для этого всего интерфейс, чтобы запускать эту программу. Я не думаю что получится как-то адаптировать Java-код программы под Android, скорее всего не получится.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от NightOperator

Только вот никакого заявленного километра там нет и в помине.

Ну почему? С хорошими настроенными антеннами должно бы и на километр работать. Главное что в отличие от обычного wifi на 2.4ГГц, этому не должны так мешать кусты и деревья - основная проблема при организации дальнобойных линков.

И сильно мешает работе нормальных устройств в том же диапазоне

Вот да, в городе это может быть проблемой, потому что на этом диапазоне любит работать всякая промышленная телеметрия. Так что в городе я бы не стал включать такую штуку без предварительного тщательного сканирования эфира на предмет наличия рядом чего-нибудь работающего.

watchcat382
()
Ответ на: комментарий от Merionet

Выше скинули уже документацию

Уже увидел.

простые видео, могу скинуть.

Спасибо, но нет. Я уж лучше текст почитаю - письменный английский мне понимать очень намного легче чем устную речь.

watchcat382
()
Ответ на: комментарий от pfg

я не знаю что такое uucp :) я десяток лет с фидошкой работал судя по всему «тож самое, только вид с боку».

Вобщем да. И радиосеть надо по такому же принципу делать - с хранением сообщений на узле и последующей передачей дальше по роутингу при наличии возможности (появлении связи). С таким медленным и ненадежным каналом ни на какое подобие «онлайна» расчитывать не приходится. У нас не промышленная телеметрия какая-нибудь где данные надо как можно быстрее получать. Для доставки почты даже и сутки это не критичная задержка. Всё равно в любом случае адресат письма непрерывно за компом не сидит, а заглядывает в него лишь несколько раз в сутки если это комп домашний. Утром и вечером типично. Так что доставка в течении половины суток вполне приемлима. У того же fido для доставки почты использовалось время минимальной загрузки телефонной сети глубокой ночью.

в ней проблемы глобального роутинга решались просто - вручную

Даже если так, то оно тем не менее довольно успешно работало с тысячами узлов.

автоматический роутинг меш-сети не проблема

Я бы так не сказал. Вон, в фидо так полностью автоматический роутинг и не сделали.

watchcat382
()
Ответ на: комментарий от anonymous

Куда ему вступать, он в лесу живёт.

Кстати, пишут, что «вступать» можно и через интернет по TCP, а у себя уже разворачивать сеть на тех радиосредствах какие более предпочтительны в локальных условиях.

watchcat382
()
Ответ на: комментарий от anonymous

Насколько реально слепить что-то близкое к лоре по характерстикам?

А по каким именно характеристикам? Например у меня мелкая и дешевая рация на 433 МГц (ссылка на нее была выше в моих сообщениях) легко пробивает 7 км, хотя и над водой, но с крысиным хвостиком вместо полноценной направленной антенны, причем голосом с сохранением разборчивости речи. В цифре было бы побольше. А лора сколько?

Понятно, что к лоре тоже можно исхитриться добавить китайский радиочастотный усилитель(«шоколадка» на жаргоне радиолюбительских форумов), но это еще согласовывать входы-выходы надо. Что в случае радиочастот не так просто для не-радиста.

А рации такие можно в готовом виде купить и подключить к ним комп через разъем для внешней гарнитуры. Схема будет вот такого уровня сложности: https://habrastorage.org/r/w780/getpro/habr/upload_files/111/60c/5c1/11160c5c1bfd1f8f31d8d1f791595a8c.png Это андроидный смартфон подключали, для звуковой карты компа будет не один разъем, а два - на выход и вход. Дальше можно запускать программную реализацию модема. Скорость будет конечно не выше 2400, но для обсуждаемых целей больше и не надо. А вот поверх такого линка можно уже и reticulum пробовать - там в документации упор на лёгкую расширяемость в сторону управления любым радиооборудованием. Но конечно в настоящей радиосети потребуется придумать некий протокол арбитража, позволяющий работать многим передатчикам на одном канале. Например у радиолюбителей есть AX.25, но это очень древняя разработка из тех времен когда микроконтроллеры мало что могли, а ориентирована она была именно на них. Там даже помехоустойчивого кодирования нет, данные тупо перепосылаются при ошибке приема.

Немного добавлю про вышеупомянутую схему подключения: там в целях упрощения используется функция автоматического включения рации на передачу при появлении звукового сигнала на входе. Обычно обозначается как VOX в меню рации. Так вот эта функци - просто дико медленная у дешевых раций. Из-за этого каждое реверсирование симплексного радиоканала катастрофически жрет миллисекунды. Поэтому лучше будет найти замыканием чего с чем кнопка на штатной внешней гарнитуре рации включает передачу и сделать прямое управление от компа. Да и вообще реверсировать канал лучше как можно реже - это надо в канальном протоколе предусмотреть.

watchcat382
()
Ответ на: комментарий от anonymous

Более того, если бы ты хотя бы ради приличия посмотрел на софт из стартового поста, то увидел бы это прямо на стартовом экране.

Но зачем обсуждать сабж, если можно обсуждать свои фантазии и мечты.

anonymous
()
Ответ на: комментарий от pihter

магический протокол от опытного сетевого инженера, который ты и ищешь для твоего случая

Нет, я ищу протокол «этажом ниже». А это - верхний уровень,кстати хороший судя по описаниям (как работает реально - увы не щупал). Он использует уже готовый радиолинк. И из предлагаемых интерфейсов к радиолинкам там только проприетарная LoRa и древний AX.25 в котором даже помехоустойчивого кода нет потому что в то время железо не тянуло такое в реальном времени. Да и другие проблемы имеются, обсуждение которых тут несколько не по теме будет. Этому протоколу лет сорок уже. Разработка более продвинутых альтернатив AX.25 на пару десятков лет заглохла в силу активного распространения достаточно анархического в то время интернета. Сейчас, когда гайки закручивать начали везде (а вовсе не только у нас), стимул повозиться с радиолинками снова появился. Впрочем, в российской сельской местности «своя» связь будет актуальна во всём обозримом будущем ибо размеры территории таковы что покрыть ее всю сотовой связью пока не реально.

watchcat382
()
Ответ на: комментарий от anonymous

Об этом писали изначально

Вот я написанное и прочитал. В отличие от того анонимуса который написал это: columbia - опенсорс(?) мессенджер без интернета? (комментарий)

но кроме своей персоны ты ничего не замечаешь.

Более чем странный вывод. Я вообще-то и пришел в эту тему именно для того чтобы почитать что народ пишет по радиолинкам. А когда увидел что рекламируется глубоко проприетарная LoRa,еще и плохо подходящая для обсуждаемых целей - рассказал о возможных действительно свободных альтернативных ей способах передачи данных по радио. Как совсем простых типа программного «модема», так и дешевых и доступных спецмикросхем.

watchcat382
()
Ответ на: комментарий от anonymous

можно обсуждать свои фантазии и мечты.

Фантазии и мечты - это вообще-то однозначно хорошо. А то как AX.25 аж сорок(!) лет назад сделали так с тех пор ничего толком и не изменилось.

увидел бы это прямо на стартовом экране.

Там вообще про софт верхнего уровня разговор. А я - про самый нижний уровень, радиолинк. Это как какой-нибудь телеграм сравнивать с микросхемой-контроллером сетевой карты. На лично мой взгляд - не разобравшись с протоколом уровня радиолинка пока что рано обсуждать прикладной софт.

ради приличия

Я согласен быть «неприличным» если это привлечет больше интереса к теме самодельных радиолинков. Основная проблема в том, что дешевое и доступное радио оборудование есть, разрешенная частота 433.920 для него тоже есть(в РФ имеется в виду,это важно), даже с современными видами модуляции всё достаточно хорошо, можно примитивным Bell 202 уже не ограничиваться. Вон, SI4432 уже GFSK умеет. Есть вот даже протокол маршрутизации reticulum, (и он даже не один такой).

А вот хорошего протокола для совместного использования радиоканала несколькими станциями - нет. Есть только жутко древний и от того весьма примитивный AX.25, недостатки которого признают даже те кто его использует. Это попытка приспособить к радиоэфиру еще более древний протокол коммутации пакетов X.25, мало подходящий для такого применения так как изначально делался для проводных сетей. Основное отличие эфира от провода - то что в нем не все «подключенные» друг друга слышат. Например первая станция что-то передает второй. Вторая молчит, принимает. И есть третья, которая передачу первой не слышит и начинает тоже что-то передавать для второй, думая что та находится в режиме ожидания. Это называется «hidden transmission». В случае высоких скоростей и малых задержек такая ситуация легко разруливается. А вот если скорость что-нибудь типа 2400 и/или задержка в канале под пол-секунды(спутник) - всё становится намного сложнее. И готового решения я не знаю, только несколько разных идей, откуда его можно было бы позаимствовать и адаптировать.

watchcat382
()
Ответ на: комментарий от anonymous

Добавлю сюда полезную ссылку из своей коллекции - как в линуксе эмулировать сетевое соединение с большими и разными задержками, а также значительной потерей пакетов:

https://www.baeldung.com/linux/network-failures-simulation

Мало ли вдруг кто захочет на этом потестировать тот же reticulum не имея доступа к реальному радио оборудованию.

watchcat382
()
Ответ на: комментарий от anonymous

Use Bluetooth LE to connect to those around you anywhere, Wifi for those at home

Ни то ни другое не имеет прямого отношения к обсуждаемой теме. Bluetooth - из-за ничтожной дальности у большинства устройств. Даже с тщательным их выбором и использованием сложных направленных антенн больше сотни метров получить мало реально даже при прямой оптической видимости. Wifi хотя и позволяет связаться довольно далеко но тоже требует прямой оптической видимости. Любое препятствие убивает дальнобойные линки.

видимо в лесу скучно

А вот это абсолютная правда. В лесу нет «индустрии развлечений» и развлекать себя приходится самому. В том числе и экспериментами с радиолинками. Благо тут в радиусе нескольких км помешать физически некому.

Вот это графомания

А от вас - никакой полезной информации, одна неконструктивная критика. Если вы всерьез упоминаете bluetooth применительно к обсуждаемой теме самодельных сетей - то похоже вы вообще никогда не пытались делать радиолинки дальше пределов квартиры или офиса. Так хоть почитайте «графоманию» тех кто много лет этим интересуется и реально экспериментирует.

watchcat382
()
Ответ на: комментарий от anonymous

Еще раз: ваша претензия не ко мне, а к тому анонимусу который выше написал что мне якобы не к кому подключаться. С чем я и не согласился.

Текст из ссылки в стартовом посте

Стартовый пост - вообще про прикладной софт, а не про сетевой уровень.

Ты только сейчас это узнал

Вы прямо телепат :) Удивительная самоуверенность. Нет бы что-нибудь по делу про самодельные радиолинки написать чем меня обсуждать. Ну хорошо, допустим у вас нет личного опыта в этом, но вы же не на мобильном интернете сидите как я, а на толстом канале и мощном компе. Могли бы нагуглить что-нибудь интересное по теме самодельных радиолинков и сюда ссылку выложить. Поиск информации - тоже вполне себе польза делу.

watchcat382
()
Ответ на: комментарий от watchcat382

Стартовый пост - вообще про прикладной софт, а не про сетевой уровень.

Стартовый пост про клиент для ретикулум, который умеет в том числе в tcp и сервера могут быть доступны через интернет.

Ты это обнаружил на 4 странице комментариев, а до этого зачем-то залез со своими мыслями насчёт сетей и железа.

В чем проблема не засирать чужой тред, не разобравшись в вопросе, я не понимаю. Можно же сделать свой отдельный, если хочется.

Ну хорошо, допустим у вас нет личного опыта в этом, но вы же не на мобильном интернете сидите как я, а на толстом канале и мощном компе. Могли бы нагуглить что-нибудь интересное по теме самодельных радиолинков и сюда ссылку выложить

Твои бредни мне неинтересны, а сабж интересен. Я о нем узнал отсюда и мне понравилось + был интересный комментарий от Леопольда. Ты же просто засрал оффтопом всю ветку.

anonymous
()
Ответ на: комментарий от watchcat382

Это общегородские. А всякие локальные вполне существуют.

А населению они массово зачем? Ты можешь мне сейчас сообщение на пейджер скинуть?

pihter ★★★★★
() автор топика
Ответ на: комментарий от Leupold_cat

Или через третьего пира прокачивать трафик. Архитектура приложения построена на TCP, даже если трафик передаётся через UDP, то всё равно нужно чтобы было какое-то соединение. Чтобы как-то обходить NAT нужно скорее всего переделывать архитектуру на RUDP (с функцией обхода NAT) + UDP. В общем, проще hypernat использовать.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ты это обнаружил на 4 странице комментариев

Да вы прямо профессиональный телепат.

а до этого зачем-то залез со своими мыслями насчёт сетей и железа.

В отличие от вас, я «обнаружил» что reticulum умеет НЕ ТОЛЬКО через интернет, а через весьма интересные мне самодельные радиолинки. Вот именно поэтоу я сюда и «залез» с ними. Просто еще одна оверлейная сеть поверх интернета как раз не очень-то была бы интересна, их и так много.

Твои бредни мне неинтересны, а сабж интересен.

Поясните пожалуйста что интересного в запуске reticulum просто поверх интернета?

Ты же просто засрал оффтопом всю ветку.

У нас с вами разное понимание оффтопика - я не считаю что обсуждение радиолинков является таковым в теме про reticulum. А если вам это не интересно - можете просто пропускать мои комментарии. Не так их и много чтобы они могли хоть чем-то помешать.

watchcat382
()
Ответ на: комментарий от Leupold_cat

cjdns,yggdrasil,tor - тоже не требуют регистрации и не принадлежат никакой компании. У lanemu есть какие-то существенные преимущества перед ними? Причем последние два есть под андроид.

watchcat382
()
Ответ на: комментарий от pihter

Если читать ту новость именно так как написано, то там сказано просто о замеченном росте продаж пейджеров, а не о том кто именно покупает - население или например малый бизнес. Ссылку на продающиеся на Озоне пейджеры я показывал. Раз продают - значит покупают. Видимо стали покупать больше, что довольно логично в ситуации когда мобильная связь регулярно отключается.

Рации кстати тоже по большей части покупают для производственных надобностей.

при наличии смс

У меня тут уже неделю по ночам стабильно отключают мобильную связь вообще. (не всех операторов проверял) Иногда и днем не работает. И постреливают по птичкам, да.

watchcat382
()
Ответ на: комментарий от watchcat382

Поясните пожалуйста что интересного в запуске reticulum просто поверх интернета?

Нестандартная маршрутизация + эффект неуловимого Джо для РКН, благодарю чему есть рабочий в России бессерверный чат.

Leupold_cat ★★★★★
()
Ответ на: комментарий от watchcat382

Это совсем разного уровня ПО. Lanemu - p2p VPN с маршрутизацией по DHT. Известные проприетарные аналоги - Hamachi и Radmin VPN.

Ни через cjdns, ни через yggdrasil , скорее всего, в мультиплеерные игры хорошо не поиграть.

Leupold_cat ★★★★★
()