LINUX.ORG.RU

Pleroma 1.0

 , , , ,


1

3

Спустя чуть менее, чем через полгода активной разработки, после выхода первого версированного выпуска, представлена первая мажорная версия Pleroma — федеративной социальной сети для микроблогинга, написанной на языке Elixir и использующей стандартизированный W3C протокол ActivityPub. Это вторая по численности сеть в Fediverse.

В отличие от ближайшего конкурента — Mastodon, который написан на Ruby и зависит от большого количества ресурсоёмких компонентов, Pleroma является высокопроизводительным сервером, который может работать на маломощных системах, таких как, например, Raspberry Pi или дешёвых VPS.

Также Pleroma реализовывает Mastodon API, позволяя быть совместимой с альтернативными клиентами Mastodon, типа Tusky или Fedilab. Более того, с Pleroma поставляется ответвление исходного кода интерфейса Mastodon (а если быть точнее, интерфейс Glitch Social), что делает более плавным переход пользователей из Mastodon или Twitter с интерфейсом TweetDeck. Обычно он доступен по URL вида https://instancename.ltd/web.

Изменения этой версии:

  • отправка статусов с задержкой / запланированная отправка статусов (объяснение);
  • федеративные голосования (поддерживаются Mastodon и Misskey);
  • фронтенды теперь корректно сохраняют пользовательские настройки;
  • настройка для безопасных личных сообщений (пост отправляется только адресату в начале сообщения);
  • встроенный SSH-сервер для доступа к настройкам через одноимённый протокол;
  • поддержка LDAP;
  • интеграция с XMPP-сервером MongooseIM;
  • вход с помощью OAuth-провайдеров (например, Twitter или Facebook);
  • поддержка визуализации метрики с помощью Prometheus;
  • федеративная отправка жалоб на пользователей;
  • начальная версия административного интерфейса (обычно по URL вида https://instancename.ltd/pleroma/admin);
  • поддержка эмодзи-паков и тегирования групп эмодзи;
  • множество внутренних изменений и исправлений ошибок.

>>> Подробности

★★★★★

Проверено: jollheef ()

Непонимаю смысла этих серверов, в конце концов получается то же самое что и твиттер или вк только хужи тк админы инстансов могут читать ВСЕ сообщения и ВСЕ что ты написал там! Я считаю там надо какую-то GPG добавить! Или аккаунты авторизовывать по приватному ключу так будет круче анонимнее и безопаснее!

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

Что такое Owl

OpenWall?

и чем тебе BEAM не нравится?

Тем, что не б-жественный компилируемый C++, на котором пишут настоящие программисты, а не какие-то там неосиляторы.

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

писать на подобных недоязыках — хамство в отношении пользователя.

А вот вопрос: стал ли бы мир лучше, если бы пользователи имели доступ только к программам, написанным на паре-тройке компилируемых в машкод языков, а остальные языки либо не существовали бы вовсе, либо использовались бы только для прототипирования и наколеночных скриптов? Лично я не уверен в однозначном ответе «да» на этот вопрос.

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

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

Если напишешь OAuth-модуль, можно будет. Пока что можешь войти только через Twitter, Facebook, Google и Microsoft.

Впрочем, это уже сделали. https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies

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

Это тусовка «для тех, кто в курсе», которая развивается в общедоступную альтернативу централизованным сетям. Я же не зря об этом новости пишу — пытаюсь продвинуть для всех.

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

К Java это замечание тоже относится?

Естественно. Чтобы исполнить программу на Джаве, на машину пользователя надо взгромоздить java runtime environment, который, между делом, ещё и норовит то и дело обновиться. Принуждать пользователя иметь дело с такими монстрами — если это не хамство, то что же это ещё.

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

недожелезка Owl

это не железка, это дистр линукса

даже эрланг запустить не может

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

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

развивается в общедоступную альтернативу централизованным сетям.

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

Пока это будут писать на всяких руби и эликсирах, господствующая парадигма не сменится.

Croco ★★ ()

Странная это система. Безопасность личных данных хромает. Обмен информацией меж инстансами также не идеален. Единственный плюс - сложность удалить опубликованный статус. Хотя, сомнительный плюс.

Тот же тви (если расматривать микроблогинг) был лучше. Но он сам себе в голову гвозди забивает.

А вот сделать аналог tumbler'а, blogspot'а и им подобным федеративным, то получился бы интересный сервис. Но будет ли кто-то этим пользоваться?

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

Dependencies — абсолютное мировое зло, в особенности runtime dependencies.

Согласен, но мой вопрос в другом. Мне кажется, что в описанной мной ситуации, мы просто лишились бы кучи пусть не очень качественного, но тем не менее весьма полезного и открытого софта, написанного энтузиастами-непрограммистами (которые, естественно, никогда не полезли бы в C/C++).

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

Безопасность личных данных хромает.

Это публичная сеть со всеми вытекающими последствиями. Если нужна безопасность, либо используйте другие протоколы, для этого предназначенные (XMPP и Matrix), либо прикручивайте шифрование (которое ActivityPub не предусматривает).

Единственный плюс - сложность удалить опубликованный статус.

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

Тот же тви (если расматривать микроблогинг) был лучше.

Чем? Эта централизованная помойка деградирует с каждым годом, и ты ничего не можешь с этим поделать.

А вот сделать аналог tumbler’а, blogspot’а и им подобным федеративным, то получился бы интересный сервис.

Pixelfed, Plume, Write Freely, Hubzilla, etc.

Но будет ли кто-то этим пользоваться?

Уже.

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

sudo apt-get install elixir

sudo в нём нет и быть не может, там вообще нет ни одного suid'ного бинарника (да, это так, и достигнуто несколькими годами усилий, включавших в том числе правки ядра, которые в итоге вошли в мейнстрим). А пакетов под него (готовых) нет даже для апача с нгинксом, какой нахрен elixir. Авторы дистра пакуют только то, что сами вручную отаудитили (т.е. вычитали) на безопасность. Остальное только собирать из исходников. Я как-то хотел под ним ejabberd развернуть, попытался собрать Erlang, и с тех пор люто ненавижу всех, кто пишет чёрт-те на чём.

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

полезного и открытого софта, написанного энтузиастами-непрограммистами (которые, естественно, никогда не полезли бы в C/C++).

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

Да и тот факт, что нормальных языков сейчас фактически только C, C++ и (внезапно) Паскаль — тоже всё могло бы быть иначе, если бы была глобально осознана недопустимость интерпретируемой модели исполнения.

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

И теперь обязательно свою боль от съеденного кактуса проецировать на каждого встречного?

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

И, пардон, мне что теперь, помалкивать в тряпочку? Фигушки.

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

Этим вы напоминаете дона Кихота.

Какого ещё нахрен донкихота, здесь есть совершенно объективная потребность. У меня нет ресурсов на то, чтобы по пять раз в год обновлять весь софт на всех моих серверах, внимательно отслеживая свежие CVE, мне ведь за это не платят. Openwall сделан так, что его можно не обновлять лет по десять, там у вновь обнаружвающихся дыр даже при наличии эксплойтов в подавляющем большинстве случаев нет шансов выстрелить. Эта штука экономит моё время и силы, причём тут вопрос отнюдь не количественный: не будет Openwall или чего-то ещё подобного — и мне придётся вообще отказаться от работы со своими собственными серверами, переехать на хостинг к добрым дядям, которые всё будут делать за меня. Тоже, конечно, вариант, но он мне не нравится.

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

Openwall сделан так, что его можно не обновлять лет по десять

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

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

Для ленивых есть CoreOS.

Ага, и что будем запускать внутри контейнеров? И как это нас убережёт от дыр в «гостевых» системах, даже если представить, что redhat в принципе способны сделать хоть что-то недырявое и эта вот CoreOS реально не такой дуршлаг, как большая часть окружающего мира?

При чём тут вообще CoreOS, это не из той сказки.

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

Предвижу, что наш коллега выступает и против контейнеров тоже.

Да нет, почему. Openwall как раз из коробки умеет OpenVZ, чем я активно пользуюсь. Только в контейнерах (т.е. в качестве guest OS) у меня тоже он же.

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

Да и тот факт, что нормальных языков сейчас фактически только C, C++ и (внезапно) Паскаль — тоже всё могло бы быть иначе, если бы была глобально осознана недопустимость интерпретируемой модели исполнения.

А какими качествами, кроме «недопустимости интерпретируемой модели исполнения» должен обладать «нормальный» язык? Ведь кроме C, C++ и Паскаля в машинные коды компилируют также Хаскелл, Go, многие реализации Scheme, Rust, OCaml, и куча других языков.

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

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

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

Во-вторых, дело же не в конкретной системе. Дело в факте выхода за пределы мейнстрима.

не заставляя при этом ненавидеть невинных незнакомых людей.

Ну да, я ненавижу макак, это факт. И практически все ненавистные мне макаки мне при этом не знакомы. Но я их всё-таки, видимо, ненавижу в основном не потому, что у меня что-то там не компилируется, а потому, что они макаки.

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

С точки зрения чисто логической

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

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

Но я их всё-таки, видимо, ненавижу в основном не потому, что у меня что-то там не компилируется, а потому, что они макаки.

Эзоп (в пересказе Крылова)

Ну, что ж! На взгляд-то он хорош,

Да зелен — ягодки нет зрелой:

Тотчас оскомину набьешь.

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

Но я их всё-таки, видимо, ненавижу в основном не потому, что у меня что-то там не компилируется, а потому, что они макаки.

Опа! Ты ненавидишь незнакомых тебе людей не за то, что они сделали тебе лично (или человечеству в целом) что-то плохое, а за то, что они (макаки) не похожи на тебя (хомо сапиенса)?

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

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

Не бывает и не может быть таких «автоматических обновлений», которым можно было бы доверять. Кстати, мы ведь понимаем, что само по себе позволение системе обновляться — это уже дыра? (испуганно) Или не понимаем?

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

Ведь кроме C, C++ и Паскаля в машинные коды компилируют также Хаскелл, Go, многие реализации Scheme, Rust, OCaml, и куча других языков.

Haskell? Scheme? OCaml? Вас нае... эээ... обманули, они «компилируются» в сишный текст, который потом превращается в бинарник, зависящий от воооооооот таких динамических либ. В Haskell'е и OCaml'е не ковырялся, а вот Scheme, так уж получилось, входит в сферу моих научных интересов. У ChickenScheme там в этой динамической либе вся Scheme, причём и интерпретатор, и компилятор, что и понятно, eval никто не отменял; этот монстр статически не линкуется (а если бы слинковался, бинарь бы получился на полвинта), на части не разнимается, в общем это издевательство, а не компиляция. Сильно сомневаюсь, что другие реализации Scheme в этом плане чем-то лучше.

Вон SBCLцы тоже заявляют, что, видите ли, у них всё компилируется. Ага-ага. Во время работы — да, компилируется. А вот готовый бинарник там можено только методом сохранения в файле образа памяти интерпретатора. Я тут ради интереса попробовал Hello world так «скомпилировать», получил бинарь на 60Mb.

А какими качествами, кроме «недопустимости интерпретируемой модели исполнения» должен обладать «нормальный» язык?

Короткий ответ на этот вопрос невозможен. Развёрнутый (и включающий обсуждение границ допустимости для интерпретации) будет в чётвёртом томе этого вот безобразия. Только не спрашивайте, когда я его наконец уже допишу. Сам не знаю.

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

не за то, что они сделали тебе лично (или человечеству в целом) что-то плохое

Фигассе мне макаки «ничего не сделали», с ума сойти теперь. Про человечество в целом я вообще молчу, один только современный веб по мне так вполне себе повод устроить макакам геноцид.

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

Вас нае… эээ… обманули, они «компилируются» в сишный текст, который потом превращается в бинарник, зависящий от воооооооот таких динамических либ.

Вы не просто преувеличиваете, вы очень сильно преувеличиваете.

а вот Scheme, так уж получилось, входит в сферу моих научных интересов. У ChickenScheme там в этой динамической либе вся Scheme

Гм, ну я как раз недавно разбирался с Chicken. Не из профессиональных научных интересов, просто как любитель. Давайте посмотрим, как там.

этот монстр статически не линкуется

$ cat hw.scm
(import r5rs)
(display "Hello, world!")
(newline)
$ csc -static -strip -explicit-use hw.scm
$ ./hw
Hello, world!
$ objdump -p hw | grep NEEDED
  NEEDED      libm.so.10.1
  NEEDED      libpthread.so.26.1
  NEEDED      libc.so.95.0

на части не разнимается

-explicit-use в помощь.

а если бы слинковался, бинарь бы получился на полвинта

$ du -sh hw
1.0M    hw

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

Да, конечно, на си хэлловорлд займёт от силы полтора десятка килобайт. Да, Scheme тянет с собой рантайм. Но что за беда, если этот рантайм уместится в 1-2 мегабайта?

Если хотите, могу поставить OCaml и посмотреть, что получится на нём. Там тоже, если мне не изменяет память, нативные бинарники у меня весьма компактные получались.

Да, можно попытаться пересадить энтузиастов-непрограммистов на какой-нибудь более приличный язык, чем Python. Но это должен быть высокоуровневый язык, вроде той же Scheme или OCaml, ну Go в крайнем случае (лично я его не люблю, но всё лучше, чем Python). А вот на ручное управление памятью и конструирование списков на указателях у них никакого энтузиазма не хватит.

Короткий ответ на этот вопрос невозможен. Развёрнутый (и включающий обсуждение границ допустимости для интерпретации) будет в чётвёртом томе этого вот безобразия. Только не спрашивайте, когда я его наконец уже допишу. Сам не знаю.

Хорошо, не спрашиваю, но жду с нетерпением. Я уже задавал похожий вопрос у вас в гостевой книге. А за первые три тома — большое спасибо.

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

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

Меня скорее удивило вот это выскзывание:

Но я их всё-таки, видимо, ненавижу в основном не потому, что у меня что-то там не компилируется, а потому, что они макаки.

Что для меня прозвучало как: «ненавижу их не за то, что они делают, а просто за то, что они есть». А по мне, так если макака спокойно сидит на пальме и жуёт свой банан, в веб не лезет, к компьютеру не подходит, так за что ж её ненавидеть?

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

Haskell? Scheme? OCaml? Вас нае... эээ... обманули, они «компилируются» в сишный текст

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

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

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

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

Андрей, интересует твоё отношение к таким компилируемым в машинный код языкам, как Go и Rust. Первый стремительно набирает популярность, но очень неалёшный (отсутствием дженериков и гигиенических макросов, например)

Я примерно представляю, что скажет @Croco по поводу Go. С одной стороны, отсутствие дженериков и гигиенических макросов его вряд ли смутит (в Си и Паскале, которые он назвал единственными, наряду с C++, нормальными сейчас языками, их тоже нет). С другой стороны, я уже несколько раз видел его высказывания о том, что императивный язык со сборкой мусора не имеет смысла (и, как следствие, права на существование).

aeralahthu ()