Большинство социальных сетей ориентированы на интернет. Если нет онлайна, то нет и доступа к социальной сети, и даже собственные сообщения недоступны.
Однако в современных условиях доступ в интернет может быть утерян. Поэтому нужен запасной вариант.
Совершенно противоположный подход — собственный офлайновый хостинг для децентрализованного приложения. В таком варианте узел живёт на вашем телефоне — и синхронизируется с другими по мере необходимости, в том числе по Bluetooth и Wi-Fi Direct. Никаких лишних людей, полная безопасность и отличная страховка на случай полного шатдауна.
Локальный принцип
Локальный принцип (local-first) в разработке коллективного программного обеспечения означает, что контент подгружается после того, как устройство подключается к сети. Но в офлайне софт полностью работоспособен. В автономном режиме всё равно можно поделиться информацией с соседними устройствами.
Такие системы полноценно работают без интернета. В сети нет центрального сервера, а разработчики приложения не имеют доступа к пользовательским данным. Каждый человек сам управляет своими файлами и несёт ответственность за них.
Локальный подход очень важен для территорий с нестабильным доступом в интернет, а также для людей, которые внезапно потеряли связь в результате стихийного бедствия, искусственно вызванного шатдауна или по другим причинам.
В офлайне традиционными средствами коммуникации всегда были сарафанное радио и бумага. Теперь эту роль в кризисной ситуации выполняет смартфон с приложением децентрализованной соцсети.
Люди хотят свои серверы!
Есть ошибочное мнение, что обычные люди не хотят поднимать свои серверы и управлять ими. И никогда не захотят.
Может, так оно и есть. Сегодня обыватель живёт в комфорте и наслаждается благами цивилизации, получая удовольствия одним нажатием кнопки. В таких условиях ему совершенно ни к чему прикладывать усилия для запуска и настройки собственного узла в пиринговой социальной сети.
Но эти райские условия не продлятся вечно. За всё в этой жизни приходится платить. И тогда до людей начнёт доходить истинная цена этого мифического комфорта.
Принудительное закрытие аккаунтов без объяснения причин, потеря личных файлов, интернет-слежка, буллинг, уголовные дела за онлайновую активность, монетизация личного профиля, ежедневные звонки от продавцов, ограбления квартир после публикации фотографий из отпуска — вот лишь небольшой список последствий активности в соцсетях. Это прямые следствия для конкретного человека. А есть ещё косвенные следствия, которых человек напрямую не чувствует на себе, но может ощутить по изменению социальной обстановки, росту напряжённости и недоверия в обществе.
Массовый дата-майнинг профилей Facebook — это по сути манипуляция массовым сознанием, следствием чего становится возможным влияние на мышление людей и их картину мира, как это делает «зомбоящик». То есть промывка мозгов населения. Все мы пассивно помогаем этому процессу, когда заходим в обычную социальную сеть, отдавая тем самым личные данные коммерческой корпорации и государству.
Скорее всего, для нормальной жизни со временем нам просто придётся поднимать свои серверы, то есть свои узлы децентрализованной коммуникации.
Вечеринка Федиверса: основные сервисы распределённых социальных сетей
И есть оптимистичное мнение, что люди всё-таки хотят поднимать свои серверы. Это даёт чувство контроля над своей жизнью, безопасность, надёжность хранения файлов и денег. Непередаваемое чувство независимости, спокойствия и уверенности в завтрашнем дне.
Вы можете менять провайдера, хостинг, работодателя, страну, а свои серверы обеспечивают фундамент цифровой жизни, которая автономной и независимой от внешних обстоятельств.
Просто по статистике лишь малая часть пользователей поднимает серверы для общественного пользования. Ни в каких существующих системах доля активных пользователей не превышает 1% аудитории. То есть авторов контента всегда не более 1% от числа потребителей.
- На YouTube 2 млрд пользователей, но только 15 млн активных авторов (0,75%).
- В Википедии 39 млн зарегистрированных пользователей, но только 128 тысяч активных участников (0,3%).
- На Mastodon 1 млн активных пользователей, но только 2 тысяч инстансов (0,2%).
- В Tor 2,5 млн пользователей, но только 6 тысяч рилеев (0,24%).
Отсюда и заблуждение, что люди не хотят поднимать свои серверы в распределённых системах типа Tor или Mastodon. Это примерно как сказать, что люди не хотят запускать свои каналы на YouTube. Они хотят. И с удовольствием это сделают, если процедура станет значительно проще, а лучше автоматической. Например, личная нода в децентрализованной сети запустится автоматически при включении телефона. Если инстансы Mastodon будут поднимать на уроках информатики в школе. Люди только скажут спасибо.
Такое возможно, когда вред централизованных социальных сетей станет всем очевиден. Например, как сейчас многим очевиден вред «центрального» телевидения.
Федиверс
На своём локальном хостинге можно поднять локальную социальную сеть для себя и друзей.
Pleroma на десктопе и телефоне
Mastodon, Pleroma, Misskey, Pixelfed и многие другие входят в Федиверс — объединение децентрализованных интернет-сервисов, работающих по принципу федерации: имея аккаунт в одном сервисе, пользователь может взаимодействовать с другими, не регистрируясь в них.
Mastodon работает на протоколе ActivityPub. Не путать с протоколом Matrix для мгновенных сообщений. Сервисы на Matrix можно интегрировать с социальными сетями и блогами Федиверса.
Запуск социальной сети на своём хостинге
Вот пример такой локальной соцсети на вышеупомянутом форке Hometown в десктопном браузере:
- Установка сервера Mastodon: микроблоги в стиле твиттера
- Подойдёт и любой из многочисленных форков, таких как Glitch Social, Florence или Hometown
- Установка сервера Pleroma (тоже распределённые блоги)
- Установка Pixelfed, распределённый аналог инстаграма
- Установка PeerTube, аналог YouTube
И на телефоне:
Manyverse. Децентрализованная соцсеть на протоколе SSB
Manyverse — клиент децентрализованной соцсети, работающей по P2P-протоколу Secure Scuttlebutt (SSB). Разработка началась в сентябре 2018 года, а в 2022 году вышли клиенты для всех платформ.
В принципе, Manyverse и SSB можно рассматривать как дополнение к Mastodon и другим клиентам Федиверса, которые работают по протоколу ActivityPub через федеративную систему серверов. По крайней мере, у них общие задачи и принципы:
- Работоспособность без центральной точки отказа (в случае Manyverse — вообще без интернета).
- Отсутствие цензуры.
- Свободный софт, без коммерции и рекламы.
Узлы Manyverse сейчас разработаны для всех мобильных и десктопных платформ: дистрибутивы для Android, iOS, Windows, macOS и Linux.
Протокол SSB похож на HTTP или RSS в том смысле, что он описывает, как различные приложения могут общаться друг с другом через интернет или по другим каналам типа Bluetooth.
Для примера — выше показана структура UDP-пакета, который транслирует пиры SSB в локальной сети для объявления о своём присутствии (публичный ключ пользователя).
Структура каждого сообщения в потоке SSB содержит две «секретные шкатулки» (secret boxes) для защиты заголовка и тела
Более подробно о протоколе см. в документации или в этой презентации:
Первую десктопную версию Manyverse назвали MobPar (Mobile Parity). Это значит, что её функциональность в точности соответствует мобильным клиентам, кроме функции синхронизации по Bluetooth, которая есть только в Android.
Одна из ключевых функций — поддержка SSB URI (ssb://), что позволяет быстро и легко добавлять в свою соцсеть друзей, заходить в публичные комнаты и читать сообщения.
Manyverse — первое кроссплатформенное приложение SSB. И разработчики рассчитывают, что в 2022 году произойдёт взрывной рост количества пользователей. Именно сейчас сложились подходящие условия:
- Выпущены клиенты для всех операционных систем.
- Глобальная нестабильность в мире, региональные шатдауны.
- Полная дискредитация централизованных платформ типа Facebook.
Другие приложения SSB
Существуют и другие приложения, с которыми Manyverse взаимодействует по протоколу SSB:
Форумы, блоги, соцсети
-
Patchwork. Децентрализованное приложение для обмена сообщениями и информацией. Предшественник и прообраз Manyverse, но для более технически продвинутой аудитории. У него есть некоторые функции, которые пока не реализовали в Manyverse, например, совместное планирование собраний.
Как и некоторые другие приложения в списке, основан на patchcore.
-
Patchbay. Тоже на базе patchcore, но с другим подходом: тут есть вкладки и некоторые продвинутые функции UI.
-
Patchfoo. Максимально простой децентрализованный форум на HTML без клиентских JS. Работает на самом слабом железе.
-
Patchfox. Клиент децентрализованной SSB реализован как расширение Firefox или Chrome.
- Patchless. Набор разработчика для создания модульных приложений.
-
ngx-ssb-client.
- Patchwork Classic. Самое первое популярное приложение, которое было разработано на SSB примерно шесть лет назад. Сейчас имеет скорее историческую ценность.
- Feedless. Концепт социальной сети, которая «не вызывает привыкания», то есть здесь нет встроенных дофаминовых стимуляторов, таких как лента новостей с бесконечной прокруткой. Но это скорее экспериментальный проект: репозиторий двухлетней давности с тех пор не обновлялся.
-
Oasis. Локальный SSB-сервер с приятным интерфейсом.
- Planetary. Нативное приложение iOS на движке go-ssb для пользователей без технического бэкграунда.
- SSB в браузере (демо).
Прочее
-
git-ssb. Децентрализованный клиент Git на SSB.
- ssb-npm.
-
scat. Децентрализованный консольный чат (нужен ssb-сервер типа Patchwork или Patchbay.
-
Ticktack. Движок для публикации блогов. Благодаря локальному хостингу, обеспечено долговременное хранение контента до тех пор, пока это нужно автору. Есть функция приватных сообщений между пользователями.
- Infinite Game. Общий календарь и планировщик встреч.
-
tale:net. Распределённая сеть «идей» и «скиллов», где идеи выступают в качестве узлов сети, а скиллы — в качестве тегов, то есть рёбер графа. Тоже старый концептуальный проект, который не обновляется после выхода первой беты в феврале 2018-го.
-
ssb-chess. Распределённые шахматы на SSB.
-
patch-book (ssb://%zoL1riX2mELF0j3dydWtQ+go4nI4jaByvm5Z02cRyaQ=.sha256). Плагин для книжных рецензий.
-
recipes. Плагин для рецептов.
-
SSB Drive. Концепт децентрализованной файловой системы, которая синхронизируется с остальным миром во время сеансов подключения к интернету. Конфликты имён решаются посредством OR-Set из CRDT.
Серверы, скрипты
- go-ssb-pub. Сервер SSB Rooms на Go.
- easy-ssb-pub. Простой хостинг и деплой своего ssb-сервера (pub) в контейнере Docker.
- twitter-ssb-import. Скрипт для импорта твитов из Twitter в SSB.
- ssb-webify. Конвертация набора локальных файлов в веб-сайт SSB.
- ssb-web-resolver. Резолвер для веб-сервера.
- ssb-to-graphml. Конвертер социального графа SSB в формат GraphML.
- ssb-usage-stats. Визуализация статистики опубликованных постов.
-
ssb-graphviz. Интерактивная визуализация своего графа.
- ssb-bot-feed. Бот для чтения фидов RSS и автоматической публикации обновлений.
Таким образом, у нас есть целая децентрализованная вселенная из различных приложений, которые общаются по открытому и свободному протоколу, размещаясь на локальном хостинге — просто в телефоне.
И никакой шатдаун не будет страшен.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
Комментарии (26)
hivensil
16.03.2022 12:16+2Здорово! Даже не знал, что столько децентрализованных приложений существует. Правда, открыл проект с ssb-drv а там "This is a proof of concept..". Такие проекты пока держатся только на отдельных энтузиастах. А вот если однажды интернет кончится...
eshimischi
16.03.2022 17:40+1У японцев есть своя децентрализованная платформа микроблоггинговая https://join.misskey.page/en-US/ с открытым исходным кодом, давно слежу за проектом
eliduvid
17.03.2022 00:43+2Не могу не упомянуть мойру (https://moera.org), в разработке которой я участвую. У каждого пользователя свой сервер который держит его данные и ключи, а клиент живёт отдельно. Можно поднять всю инфраструктуру (сервера пользователей, аналог днса для нахождения серверов пользователей и клиент) у себя в сколь угодно закрытой сети.
Пока автор (не я) бесплатно хостит всех желающих у себя, но часть хостит свои ноды отдельно, и обычному пользователю это полностью прозрачно.
vsviridov
17.03.2022 07:28Развернул у себя Плерому. В принципе ничего, но все равно как-то очень тяжеловесно выглядит. Большая часть всего этого самописного софта почему-то на Рельсах, и на маленьком впс-е это гонять мало удовольствия. Кто бы написал минимальное ядро на расте том-же...
PsihXMak
17.03.2022 10:10Кто ни будь может подкинуть нормальную инструкцию по установке мастодона? Уже кучу времени угрохал, пытаясь всё установить и настроить. Но, все инструкции написаны своими для своих же. Информацию приходится собирать по крупицам.
И, да, очень много, где путь обрывается вот на таком:
anudas
17.03.2022 17:21где вы эту ссылку взяли? по этой все открывается https://docs.joinmastodon.org/admin/install/
PsihXMak
17.03.2022 19:51Ок, по этой ссылке вторая же строка
A domain name (or a subdomain) for the Mastodon server, e.g.
example.com
А если я разворачиваю локальную сеть? Возможно я хочу использовать только мобильные приложения.
An e-mail delivery service or other SMTP server
Зачем мне SMTP server? Я просто хочу сеть в локалке.
anudas
17.03.2022 20:04а кто говорил, что мастодон заточен под такие хотелки? хотя, я не пробовал его ставить, пробовал только хабзиллу. может быть как-то и можно решить эти вопросы.
например, какой нибудь фейковый майл сервер и /или отключить подтверждение аккаунтов по мылу. в целом мастодон не делался как локальный ресурс. его назначение федерироваться по ActivityPubPsihXMak
18.03.2022 08:08а кто говорил, что мастодон заточен под такие хотелки?
Так прямо эта хабр-статья и посвящена этому... Иначе получается, что требуется целая инфраструктура и набор сервисов, при блокировке которых сеть становится неработоспособной. И какой тогда в ней толк?...
anudas
18.03.2022 09:16+1не стоит верить всему, что на хабре пишут. стоит просто немного разобраться в предмете и все станет ясно. а то я хочу это или хочу то. а может быть я не хочу Ruby устанавливать или веб сервер настраивать.
Попробуйте вникнуть, как работает федиверс, и как она сопротивляется блокировкам и в чем ее отличие от коммерческих соцсетей. эта статья от компании, которой нужно продать впс. вообще не понятно, с какой радости они пишут про локальную установку. При чем в названии написано на своем хостинге, это как? это не совсем про локалку. но что-тогда означает без интернета?
а для локалки я бы сделал по классике - чат и форум. Локальных чатов миллион, а любой форум работает в локалке замечательно. или что-то гибрибное - формум + чати нет, федиверс - это совсем не про локалку.
water12
18.03.2022 16:46Про локалку и без интернета - это автор имел ввиду SSB, про который вторая часть статьи. В смысле того, что SSB и так тоже работает, т.к. там p2p со всеми вытекающими плюсами и минусами.
Продать VPS под ssb-pub или ssb-room компания автора тоже может Ж)
woto
18.03.2022 04:33Вопросик, а вот сервисы, которые на AcitvityPub работают, они как-то связаны? Понятно, что как-то там AcitvityPub используется. Но как-то между собой они связаны? Например mastodon с pixelfed?
И еще кстати важный момент. ActivityPub числится в статусе "W3C Recommendation 23 January 2018" в w3c https://www.w3.org/TR/activitypub/anudas
18.03.2022 09:03может быть стоит попробовать? или хотя бы почитать статью, где об этом говорится. связаны конечно.
я из мастодона могу подписаться на обновления любого аккаунта пикселфеда или пиртюба и видеть это в своей ленте. именно так и работает активитипабwoto
18.03.2022 11:17может быть стоит попробовать?
Я бы с радостью, но не понимаю как. Я смотрю Local и Federated конретно на этом инстансе https://mastodon.ml. Но там же посты из pixelfed сами не появятся? (у меня было предположение, что это админ должен настроить связь, но лучше подожду вашего ответа)
anudas
18.03.2022 11:51+2сейчас я не подписан ни на один акк в пиксельфед, поэтому ничего не могу предложить для проверки оного. но могу предложить для проверки пиртюба.
(точно также это делается для пиксельфеда и проч.)для начала нужно знать аккаунт того, на кого хочешь подписаться. сами автоматически посты не будут появляться в ленте. Например, вот аккаунт Пучкова (Гоблина) в пиртюбе https://peertube.su/accounts/oper
Нужно взять эту ссылку и вставить ее в поле поиска. Должно отобразить этот аккаунт. Кликнуть на него и в профиле нажать подписаться. Затем нужно дождаться пока выйдет новой видео. Ну, и ловить момент, когда оно появится в ленте. А так оно запросто может быть погребено под другими сообщениями. Тогда просто пролистать всю лентуну, или можно поискать активные аккаунты по запросу "pixelfed.social", например. Там вроде есть кто-то. Подписаться и ждать новых картинок от них
woto
18.03.2022 21:05До сих пор не понял как это чудо-юдо работает.
Я поиском нашел его профиль и лента уже была, что позволило мне его сразу зафоловить.
А вот этот поискал https://pixelfed.de/Carolineta и ленту не показало.
Полагаю это из-за того, что кто-то другой уже был подписан на Пучкова в этом инстансе, а вот на Carolineta еще никто не был подписан.
А так оно запросто может быть погребено под другими сообщениями. Тогда просто пролистать всю ленту
Там колокольчик есть, наверно это немного поможет ловить посты сразу и подписываться на аккаунты. Тем не менее, странная конечно механика.
Так же попробовал подписаться на аккаунт из https://lemmy.ml/ но чёт не залинковалось. Либо может нужно ждать. Ничего не в курсе про это?
upd. Появилась гипотеза, что когда инстансы друг о друге узнают, то сначала админ должен подтвердить связь между ними, поэтому и не работает связка.
anudas
19.03.2022 09:55+1это работает немного по-другому. а вернее, наоборот. по умолчанию, все ноды федерируются со всеми. если же на пользователей какой-то ноды жалуются админу какой-то другой ноды, то именно на этой могут забанить ту, другую.
Либо же админ при создании ноды может разрешить ферерироваться только с какими-то определенными нодами. Есть ноды лгбт, нацистов, анархистов, анимешников, нюдсов и проч. Можно, например блочить нюдсы на своей ноде. Зависит от политики администрации, от целей создания ноды. Об этом всем можно прочитать в описании ноды. Там же перечислены заблоченые
На моей видны и лемми и немецкий пиксельфед.
ЗЫ. когда появляется новая нода, она через какое-то время автоматически конектится ко всем, где это разрешено (не запрещено)
anudas
19.03.2022 10:00+1А по-хорошему, просить помощи можно в самом федиверс. Для этого нужно подписаться на какую-нибудь группу. Функцию группы там выполняют боты, которые к себе делают репост поста с упоминанием этого бота.
Например этот rf@mastodon.ml
anudas
18.03.2022 12:23не пояснил в каком поиске надо искать. а искать нужно в поиске от мастодона слева вверху
DrinkFromTheCup
Позволю себе роскошь докопаться до пары моментов в статье.
И дальше статистика по YouTube, etc.
В статье про, по сути, локальный сервер контента "для своих" статистика по мастодонтам в своих (довольно экзотических) сферах несколько не к месту. По нескольким причинам - каждый по своим.
Например, YouTube не заинтересован в значительном росте числа креаторов (это повышает издержки: лишний контент от лишних людей надо где-то хранить, например) - они заинтересованы в росте именно числа потребителей. Локальный сервер контента - будет иметь относительно статичное количество как потребителей, так и креаторов, но пропорции там будут абсолютно не такие в подавляющем большинстве случаев.
Википедия... по логике вещей, ТОЖЕ не заинтересована в росте числа волонтёров вообще: это лишние издержки на модерацию и хранение правок, при наличии уже сравнительно большой (в пересчёте на "чистые" человеколичности) армии креаторов с оптимизированным процессом работы. При этом, де факто пропорция зарегистрированных пользователей к зарегистрированным волонтёрам в контексте этой статьи - это "погода на Марсе": каждый человек с доступом в Сеть может являться как волонтёром, так и потребителем контента Википедии.
Плюс.
В отличие от действующих по какому-никакому бизнес-плану мастодонтов, локальный сервер контента зачастую такового не имеет. Ресурсная база изыскивается по принципу "кто что отдал". Об окупаемости (или иной форме амортизации / распределения амортизации затрат) речи нет.
Плюс.
Хостинг контента - это ещё и юридические закавыки (типа местонахождения и обеспечения безопасности личных данных пользователей, чтоб его...), которыми по не подлежащим огласке, но в принципе самоочевидным, причинам не каждый готов заняться и принять связанные с этим риски на себя (а кому на такое начхать - обычно не заморачивается вопросами селфхост площадок, а идёт в соцсети). Причём, независимо от того, селфхост это в полностью локальной сети, - или он открыт "наружу" в общую Сеть. Что также МОЖЕТ вызвать некоторое напряжение в коллективе, ради которого, собственно говоря, вся эта затея и начиналась. В лучшем случае.
И прочее, и прочее, и прочее...
Положа руку на сердце, дальше этой интересной, но нерелевантной, статистики читать не стал. Уж очень... своеобразная подборка данных и идей.