LINUX.ORG.RU

Релиз RetroShare 0.6.5

 , ,

Релиз RetroShare 0.6.5

1

3

Представлена новая версия RetroShare 0.6.5.

Что нового:

1. Новая подсистема распределения данных (GXS) позволяет искать, подписываться и синхронизировать каналы не подписанные прямыми друзьями. В планах также перевод форумов.

2. Создатель форума может назначать модераторов, которые смогут править (но не удалить) сообщения.

3. Создатель форума может закреплять (pin) записи.

4. Переписаны форумы, теперь они работают быстрее и потребляют меньше памяти.

5. Приложения для скрытых (tor, i2p) и стандартных узлов, разделенные в версии 0.6.4, снова объединены в одну программу.

6. Улучшена работа через Tor, теперь IP не отправляются вовне. Также упрощен интерфейс для Tor.

7. Реализован JSON API, который автоматически синхронизируется с действующими Си-модулями RetroShare и предоставляет полный и актуальный набор функций, в том числе для мобильных приложений на Android.

Теперь любой новичок в JavaScript , Python, Lua может задействовать RetroShare для разработки своего собственного децентрализованного приложения (а некоторые уже делают это).

8. Добавлена поддержка IPv6, что в перспективе позволит улучшить преодоление NATов.

9. Реализовано автоматическое добавление друзей друзей в список контактов, что позволит новичкам видеть друг друга в чатах и почте.

Также исправлены ошибки в файло-обмене, форумах, кругах и соединениях через OpenSSL1.1plus.

В планах:

1) разработчики начали переделывать веб-интерфейс с помощью нового API и планируют доделать его в 2019 году;

2) теперь, когда есть API для общения с libretroshare, открылось много интересных возможностей, например, сделать социальную сеть, которая будет работать в браузере во время общения с фоновым приложением RetroShare (по типу ZeroNet);

3) 2019 год также станет годом, когда RetroShare войдет в Debian, что является условием для участия в Tails . Это следующая задача, над которой разработчики планируют работать после релиза.

Основные разработчики (Cyril & Gio) выражают благодарность разработчикам G10h4ck (за JSON API), Phenom, Sehraf, hubernd, RetroPooh, Chelovechisko, Zapek, San-Josep и тестерам Ghibli, ASmith, Jolavillette.

>>> Официальный релиз

>>> Дистрибутивы для Linux, Windows и MacOS

★★★★★

Проверено: jollheef ()
Последнее исправление: Deleted (всего исправлений: 3)

Ответ на: комментарий от Iron_Bug

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

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

я просто выпиливаю его в своём дистре

Ууууу

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

И внезапно, как раз покойник в сети и появился O_O Как так-то?

Ты реально имбецил и не знаешь, как умершие люди выходят в онлайн? У него и на ЛОРе последний логин 04.02.2019. Тоже нет мыслей, как у хорошего программиста могут быть заходы на ресурсы после его смерти, тем более, который развивал эти децентрализованные сети?

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

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

Но как это работает архитектурно. Как оно должно работать я понимаю — я передаю сообщение своим френдам, они своим, а те своим... и так сообщение постепенно добирается до цели.

Только это — наивная теория. В реальности мне для этого нужно заранее знать, через какие узлы посылать сообщение. То есть мне должна быть известна ПОЛНАЯ карта сети. Вообще полная, все узлы, кто сейчас онлайн, и кто у кого в друзьях.

Вот и вопрос: retroshare работает методом выкачивания всей карты сети на каждый узел? И каждый раз, когда кто-то в зимбабве входит онлайн или уходит — все узлы в мире должны обновить свою текущую карту сети?

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

Вот и вопрос: retroshare работает методом выкачивания всей карты сети на каждый узел? И каждый раз, когда кто-то в зимбабве входит онлайн или уходит — все узлы в мире должны обновить свою текущую карту сети?

а в чём проблема

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

Вот и вопрос: retroshare работает методом выкачивания всей карты сети на каждый узел? И каждый раз, когда кто-то в зимбабве входит онлайн или уходит — все узлы в мире должны обновить свою текущую карту сети?

а в чём проблема

Ну, как сказать...

Во-первых, это не расширяемо. Если информация о каждом узле занимает хотя бы пару килобайт, то карта миллиона узлов займёт несколько гигабайт оперативной памяти на КАЖДОМ узле.

Во-вторых, это не безопасно. Представим, что у меня нестабильное соединение, то подключается от отваливается. Или я вредный, и просто втыкаю-вынимаю кабель из свича. Каждый такой втык кабеля генерирует гигабайты сетевого трафика, здорово, правда? 1 кулхацкер с 1 машины однострочником укладывает всю сеть ддосом намертво.

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

Нет там такого. Ты видишь только, до чего можешь дотянуться.

И «дотянуться» я могу только до френдов? Тогда как работают форумы? Я вижу на форумах только сообщения своих френдов?

anonymous
()

любой новичок в Python может задействовать RetroShare

Планируют ли авторы portage добавить загрузку distfiles через retroshare ?

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

не тот, кто код пишет, компилирует в этом случае

А, ну то есть опять мудаческий подход, сродни жирнофронтенду: свалить вычисления на пользователя. Пользователи будут запускать и компилировать программу на порядки больше раз, чем разработчики, даже если разработчики после каждой строчки пересборку запускают.

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

Не шлангуй, там примерно так, как в торрентах: сначала подтягиваешь то, что есть у френдов, потом у их френдов, ну и так далее, докуда достанет.

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

Не шлангуй, там примерно так, как в торрентах: сначала подтягиваешь то, что есть у френдов, потом у их френдов, ну и так далее, докуда достанет.

Это наивная теория:

В реальности мне для этого нужно заранее знать, через какие узлы посылать сообщение. То есть мне должна быть известна ПОЛНАЯ карта сети. Вообще полная, все узлы, кто сейчас онлайн, и кто у кого в друзьях.

Вот и вопрос: retroshare работает методом выкачивания всей карты сети на каждый узел? И каждый раз, когда кто-то в зимбабве входит онлайн или уходит — все узлы в мире должны обновить свою текущую карту сети?

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

Почитай, как распределённые хранилища работают, и не неси фигни :3

Распределённые хранилища — не F2F, там полная связность. А тут F2F, это всё меняет.

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

DHT — это P2P, если конкретно, то изобретение emule-овцев (была такая сеть — edonkey aka ed2k), когда там начали активно закрывать сервера раздач, и они искали способ обмена раздачами без сервера.

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

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

у tox есть tox-core и биндинги и даже реализация tox-vpn а тут есть? можно сделать rs-vpn?

зы: мне кто-нить объяснит разницу между каналами, форумами и неким невнятным «links»? почему из одной сущности сделали 3 подвида?

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

Ты смешиваешь тёплое с мягким! то, что конкретно в торрентах DHT используется для хранения IP пиров, которые потом используются для прямого соединения с ними — частный случай; в общем случае в DHT может храниться что угодно, и достаётся оно именно что через цепочку других узлов.

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

в общем случае в DHT может храниться что угодно, и достаётся оно именно что через цепочку других узлов.

Хранится может что угодно. Но достаётся через цепочку запросов, не узлов. И заранее не известно, к какому узлу будет следующий запрос. То есть в общем случае любой узел должен уметь соединяться с любым, иначе цепочку будет невозможно продолжить.

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

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

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

Но как это работает архитектурно. Как оно должно работать я понимаю — я передаю сообщение своим френдам, они своим, а те своим... и так сообщение постепенно добирается до цели.

Так и работает, если у тебя получатель не во френдах. Разумеется, всё шифровано.

В реальности мне для этого нужно заранее знать, через какие узлы посылать сообщение. То есть мне должна быть известна ПОЛНАЯ карта сети. Вообще полная, все узлы, кто сейчас онлайн, и кто у кого в друзьях.

Она прямо в приложении графом отрисовывается.

Вот и вопрос: retroshare работает методом выкачивания всей карты сети на каждый узел? И каждый раз, когда кто-то в зимбабве входит онлайн или уходит — все узлы в мире должны обновить свою текущую карту сети?

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

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

Думаю, на миллионе узлов RetroShare работать не будет по причине отсутствия ресурсов на узлах. Да и не для того эта система делается.

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

А, ну то есть опять мудаческий подход, сродни жирнофронтенду: свалить вычисления на пользователя.

В данном случае разработчик и есть пользователь.

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

у tox есть tox-core и биндинги и даже реализация tox-vpn а тут есть?

Нету, так как разработчики прямо писали, что не хотят разбираться с tun/tap. Но если кто захочет сделать, то это делается плагином. А теперь вообще отдельную библиотеку выделили.

зы: мне кто-нить объяснит разницу между каналами, форумами и неким невнятным «links»? почему из одной сущности сделали 3 подвида?

Разница в назначении. Есть обсуждения, есть новости и т.д.

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

у tox есть tox-core и биндинги и даже реализация tox-vpn а тут есть?

Нету, так как разработчики прямо писали, что не хотят разбираться с tun/tap.

1) ядро типо tox-core у RetroShare есть? 2) биндинги к языкам есть?

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

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

Что значит «смог добраться до форума»? Весь форум лежит на одном узле? И когда этот узел уходит оффлайн, то форум больше никто не может ни читать ни писать?

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

Так и работает, если у тебя получатель не во френдах. Разумеется, всё шифровано.

Кстати, а как именно шифровано? Метаданные-то видны, иначе будет непонятно, куда пересылать сообщение дальше? В смысле, я не вижу, что было передано, но вижу, что этот файл имел суммарный размер 1.4ГБ и отправлялся узлом 123456789abcdef на узел fedcba987654321?

Она прямо в приложении графом отрисовывается.

Любопытно, сколько на карте сейчас узлов? И там именно полная карта рисуется, или частичная, относительно известных мне узлов, с которыми приходилось общаться?

Думаю, на миллионе узлов RetroShare работать не будет по причине отсутствия ресурсов на узлах.

А при небольшом числе узлов сеть будет постоянно распадаться на несвязные сегменты. Да и вообще будет трудно к этой сети подключиться, ведь выйти в такую сеть можно только когда один из моих друзей онлайн И один из его друзей онлайн И один из друзей друга моего друга...

Фрагментация сама по себе — это не плохо, но это создаёт дополнительные архитектурные сложности. Как и в какой момент обновлять состояние сети? Куда отправлять сообщение, если до получателя сейчас нет пути?

Да и не для того эта система делается.

А для чего?

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

А разработчики компилятора — пользователи железа, угу. А разработчики железа — пользователи открытий учёных. А учёные — пользователи Природы. Не маняврируй, питон и сишечка сами по себе бесполезны, они нужны для производства программ для конечных потребителей. И задача разработчика-техномартыхана — из кожи вон вылезть, чтобы пользователям было хорошо, пользователи-то за это деньги платят. А всякие питоны с электронами — издевательство над пользователями, которые терпят такое только от безысходности, и то до поры до времени.

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

или частичная, относительно известных мне узлов

Только друзья и друзья друзей.

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

Да. Если к ресурсу есть цепочка доверенных соединений, то он доступен. Если нет, то недоступен.

Что? Синхронизированные сообщения сохраняются локально. Синхронизация происходит от друзей (и до друзей, а от них до их друзей), подписавшихся на этот форум.

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

кстати мне не понятно почему они не сделали возможность работать с роем через только/не только доверенные ноды через переключатель в настройках? был бы распределённый интернет, а так кружок по интересам + ноды майоров в качестве обменников трафиком

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

Хочешь чтобы лейтёхи тоже пороутили?
PS: Я не знаю что ответить на твой вопрос. Я не автор программы и не психотерапевт кого-то из авторов. Почему сделано так, или не так не знаю даже близко. Лучше спросить это на гитхабе, непосредственно у авторов. Ну или написать патч, который позволяет ходить там через любые узлы, может даже без обмена ключами, не говоря уже про выставление доверия и т.д.

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

хочу нормальный интернет с неблокируемой связностью, распределёнными неймсерверами, распределённым дублированным хранилищем содержимого (ещё б заставить отделить представление от данных)
и шифрование каналов с подписями авторов данных во все поля

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

Синхронизированные сообщения сохраняются локально. Синхронизация происходит от друзей (и до друзей, а от них до их друзей), подписавшихся на этот форум.

Обмен только с френдами, но форум зеркалируется на ноде каждого участника? То есть я могу читать только форум, в котором есть кто-то из френдов? А если никто из френдов в форуме не участвует, или кто-то участвовал, но потом ушёл — я этот форум даже не увижу?

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

хочу нормальный интернет с неблокируемой связностью, распределёнными неймсерверами, распределённым дублированным хранилищем содержимого...

Я тоже хочу. Отсюда и интерес к retroshare, как у них всё реализовано.

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

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

Да. Если к ресурсу есть цепочка доверенных соединений, то он доступен. Если нет, то недоступен.

А как находится эта цепочка?

Допустим, я создаю форум. Кто о нём узнает? Только мои друзья? Или информация о создании форума рассылается на всю сеть?

Или с другой стороны, допустим, я знаю о существовании некоторого форума, как мне к нему подключиться? Что есть у этого форума, какой-то ID? Как этот ID превращается в цепочку?

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

а ещё хочу чтоб RetroShare, tox, i2p, tor, zeronet и ко были протоколами сетевого уровня + протокольный днс, а не комбайнами со встроенными «программами»

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

Слишком много вылазит проблем при попытке расширить это на весь мир.

можно поподробнее про проблемы?
tox, retroshare, zeronet(по отзывам в инете) - быстро и нормально работают (в рамках тех «встроенных программ» что накручены на комбайн к протоколу), i2p тоже работает (но у меня безбожно тормозит и постоянно теряет доступность запрашиваемых узлов)

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

tox, retroshare, zeronet(по отзывам в инете) - быстро и нормально работают [...] i2p тоже работает

tox, zeronet и i2p работают, когда есть полная связность — любой узел может подключиться к любому. В этом случае любая DHT-сеть сработает.

Сработает даже, когда есть два уровня — узлы с внешним айпи, к которым может подсоединиться любой, и узлы без внешнего айпи, к которым можно пробиться только через промежуточный внешний узел. Это не новое изобретение, в edonkey2000 это называлось HighID-узлы и LowID-узлы.

Такие сети расширяются нормально, собственно, DHT для этого и придуман — это способ быстрого поиска нужного узла в сети, без необходимости хранить полную карту.

Но всё это не работают для F2F, когда у каждого узла есть ограниченное число друзей, и он общается только с ними. Главная проблема — поиск маршрута от одного узла к другому. Чтобы найти маршрут в F2F нужно знать всю карту сети — а это на весь мир уже не расширишь.

Как вариант, можно забить на поиск маршрута и общаться только с ближайшим окружением. Но тогда про общение на отдалённых форумах, созданных в другом конце сети, можно забыть — мы их даже не увидим.

Если есть какой-то стабильный масштабируемый способ поиска маршрута в F2F-сети, то я его не знаю. Потому и спрашиваю — интересно узнать, как эти проблемы решены в retroshare, если решены, конечно.

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

Если ты приделаешь libatsral, то пойдёт.

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

Да. +

Что нового:
1. Новая подсистема распределения данных (GXS) позволяет искать, подписываться и синхронизировать каналы не подписанные прямыми друзьями. В планах также перевод форумов.


или кто-то участвовал, но потом ушёл — я этот форум даже не увижу?

Не уверен, но вроде да.

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

Вроде бы всё очень просто. Запустил программу, прифигел, закрыл, удалил. Все вопросы отпадают после нескольких дней сидения в ней. Задание первое, не сложное — найти живой чатсервер и поменяться с ним ключами, чтобы хотя бы попасть в чат где можно поменяться ключами уже с живыми людьми. Я вроде в этой теме давал адреса. Задание второе, суметь зайти в чат сервер и поменяться там ключами с кем-то, именно двусторонний обмен, хотя бы опубликовать ссылку на свой ключ в чате. Посмотреть что ж там появилось из рессурсов после этого. Задание третье — набрать сотню доверенных узлов. И сделать это через тор с отключеным обнаружением.

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

Архитектура и возможности RetroShare

Итак, что удалось нагуглить.

Фичи RetroShare:

  • Сhats — обычные групповые чаты в стиле IRC, в которые входят и выходят (в приватных чатах где-то должно быть общение голосовом)
  • Mail — личные сообщения от одного человека другому
  • File transfer — передача файлов и поиск этих файлов в сети (по имени, хешу и т.д.)
  • Channels — что-то вроде RSS/твиттера, подписываешься на чей-то канал и читаешь, что он там про себя пишет
  • Forums — это как Mail, но получателей много, по сути, это mailing list
  • Circles — что-то вроде groups в юниксах. Любой может создать такую группу и напхать в неё любых юзеров, не только френдов. Причём те юзеры узнают, в какие группы их напхали, и кто ещё есть в той группе. Сами по себе эти группы ничего не дают, но их можно использовать при раздаче прав на другие фичи, например, группа «модераторы форума».

Теперь о том, как это всё работает.

RetroShare — F2F, то есть мой узел общается только с моими друзьями, знает только про моих друзей, и в общих чертах знает о друзьях друзей — они все отображаются прямо в окне программы. Вся остальная сеть ему не видна.

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

Но есть исключения: слать почту, качать файлы и читать каналы можно не только у друзей, но и у тех, до кого можно дотянуться через «анонимный туннель». Точнее, «анонимный» в нём только источник, «each peer in the middle can “spy” file chunks. For file transfer, that is not an issue of course.» Но сообщения шифруются.

Чтобы найти путь для такого туннеля... мой узел формирует запрос «кто знает, как найти XXX» и броадкастит этот запрос всем своим френдам, а те пересылают своим, а те своим, и так далее. Если ответ не пришёл, то мой узел посылает повторный запрос каждые 30 секунд, или около того. А чтобы такие запросы не зафлудили нафиг всю сетку — у запроса есть TTL равный 6 хопам. То есть я вижу только юзеров, файлы и каналы в пределах 6 хопов от себя. Всё. Никакой высшей математики или сложных алгоритмов. Этот алгоритм у них называется Turtle Router.

PS: всё чистится, сообщения в канале автоматически удаляются через 4 месяца, сообщения в форуме удаляются через год.

Пока неясная фича: Links (что-то вроде bookmarks-ов, запомненных мною закладок, которые видны друзьям?)

>>> Интерфейс RetroShare с картинками и пояснениями
>>> Distant chat and messaging, using generic tunnels
>>> Незаконченное описание Turtle Router

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

tox проверенно и много раз - работает через нат на обоих сторонах (выход в онлайн 10-60 секунд, появление контакта в контактлисте онлайн 10 секунд), при этом безсерверный торент созданный на моём компе - не скачивался тем же человеком
retroshare тестил с другим человеком, но тоже вроде двойной нат - первый конект к его ноде - минуты 3-5, последующие - секунд 30
прямой связности нет (в первом почти наверняка, во втором - очень вероятно), в retroshare только одна единственная нода во френдах - всё равно она становится онлайн и сообщения проходят

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

для меня это выглядит политическим решением (хотя если считать что те, кого мы не одобрили - несут только мор, войну и чушь - логично игнорировать всю остальную сеть)
прямо сейчас retroshare пишет trusted nodes 0/1, users in dht 1.7k, total users dht users 262.6k - оно юзает некое общее dht? и судя по описному выше появлению онлайн - если бы в dht был анонс форума - достучаться до него я бы смог

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

1. Новая подсистема распределения данных (GXS) позволяет искать, подписываться и синхронизировать каналы не подписанные прямыми друзьями. В планах также перевод форумов.

как эта штука активируется в интерфейсе? вбил в каналах в поиск anime - и тишина (на зафрейденной ноде каналов нет, и нода та оффлайн, что дальше делать?)

JL
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.