Полезная информация для новичков
О нашем узле (entropysource.ru)
О проекте
Правила пользования сайтом
Теория
Федерация не равно Мастодон
Как пользоваться
Что такое introduction и про полезных ботов
Разбираемся с лентами записей
Оформление записей во Френдике - специфика взаимодействия с Мастодонтом
Взаимодействие с другими узлами Федерации
Углубление в Федиверс
Каталоги узлов Федерации
Боты репостеры
нравится это
Где какие ленты записей есть и чем они отличаются:
1. Лента подписок ("Сообщения ваших друзей"). Эта лента выводит активности всех, на кого вы подписаны
2. Локальная лента ("Диалоги на этом и других серверах" -> "Местное сообщество"). Здесь выводятся только те записи, которые опубликовали пользователи текущего инстанса.
3. Глобальная лента ("Диалоги на этом и других серверах" -> "Глобальное сообщество"). В этом разделе содержатся записи местных пользователей, а также всех тех, на кого они подписаны.
Lex Publica поделился этим.
Оформление записей во Френдике - специфика взаимодействия с Мастодонтом
Рекомендации по оформлению записей учитывают тот факт, что большинство узлов Федерации предназначены для микроблоггинга и не поддерживают часть возможностей полноценных блог-платформ. Практические изыскания по взаимодействию с платформой для микроблоггинга были произведены с узлом mastodon.social.
Первая и главная особенность отображения записи на Мастодонте - при использовании поля для заголовка, никакой текст, кроме ссылки на запись(которая создастся автоматически) не отобразится. Т.е. указываете заголовок во Френдике - он становится основным контентом в Мастодонте.
Вывод из этого факта следующий - используйте заголовок только в действительно больших записях с форматированием и встроенными в контекст картинками, иначе это не имеет смысла, а даже наоборот, лишит подписчиков вашего контента, если они не захотят переходить по ссылке.
Вторая особенность - вставленные в текст картинки на Мастодонте выпадают из этого текста и отправляются вниз записи. Поэтому опять же - либо вы расчитываете что подписчик перейдёт во Френдику, чтобы увидеть запись в её первоначальном виде, либо имейте ввиду, что картинки будут кучей.
Третья особенность - тег [spoiler] не работает. По крайней мере для текста. Мастодонт его не поддерживает, и похоже, не собирается.
Теперь о хорошем:
- работает форматирование. По крайней мере то, что доступно кнопками в редакторе (подчёркнутый/курсив/жирный/цитата)
- если теги(BBcode) не поддерживаются (а в мобильных клиентах зачастую так и есть), они просто вырезаются, не нанося какого либо ущерба читаемости
- текст выводится, даже если он превышает 500 символов, что забавно, т.к. у самих жителей Мастодонта такой роскоши нет.
Выводы:
1. Не используйте заголовок, если не предусматривается действительно большая статья
2. Помните, что все картинки будут в куче
3. Не беспокойтесь о форматировании или размере текста
Бонус: руководство по оформлению записей во Френдике от разработчиков - wiki.friendi.ca/docs/bbcode
нравится это
Lex Publica поделился этим.
Итак, я обновил Friendica до 2023.04
Конечно, я не дождался когда ментейнер Френдики в Yunohost обновит пакет и сделал пул-реквест. А потом не дождался когда смержат мою ветку. Прям дежавю с Хабзиллой.
Форкнул пакет, поменял там номер версии везде где нашёл и хеш коммитов для ядра и аддонов, и обновился с него.
Для того чтобы обновить приложение Yunohost со своего форка нужно выполнить команду:
yunohost app upgrade friendica -u путь-до-вашего-репозитория
С какими проблемами я столкнулся:
- С моего аккаунта слетели админские права, т.к. в конфиг прописалась почта пользователя Yunohost, что в моём случае не равно админ френдики. Исправляется в файле /var/www/friendica/config/local.config.php параметр admin_email
- Мои кастомные ресурсы (home.html и картинки в images) были нещадно потёрты. Достал из из бекапа, который Yunohost создаёт автоматически перед каждым обновлением.
yesfreenet нравится это.
yesfreenet поделился этим.
Что такое introduction и про полезных ботов
Introduction - это приветственное сообщение, благодаря которому вы можете обрести подписчиков.
Кто увидит introduction?
Ваше приветственное сообщение увидят те, кто просматривает локальную ленту вашего узла, ваши подписчики, те кто увидит и поделится вашей записью.
Поскольку подразумевается, что подписчиков у вас практически нет, вышеуказанный сценарий не принесёт желаемого эффекта. На помощь нам приходят два крупнейших русскоязычных сообщества mastodon: lor.sh и mastodon.ml/@rf. У каждого из этих сообществ есть бот, который делится со своими подписчиками всеми записями, в которых эти боты упоминаются. Боты работают по-разному, у каждого есть своя специфика.
- @Rоссийская🐻Fедерация - бот начинает работать только после того, как вы на него подпишетесь. После подписки вам от него придёт сообщение о готовности с вами работать. Репостит записи, в которых вы его упоминаете.
- @ru - бот начинает работать сразу. Подписываться на него не обязательно. Репостит записи, в которых вы упоминаете его или бота с сервера mastodon.ml!
Таким образом складывается интересная ситуация - для рассылки записи вам необходимы оба бота, причём подписка на первый обязательна. Для чтения записей с сообществ достаточно подписаться на бота с сервера lor.sh, причём он вас к этому не принуждает.
upd: Нашёл ещё одно крупное русскоязычное сообщество на сервере создателя мастодона, его тоже можете упомянуть в introduction: @Russian Mastodon
Что писать в introduction?
- Перечислите в сообщении ботов, чтоб ваше сообщение достигло адресатов.
- Вставьте тег introduction - это маркер того, чем именно является ваше сообщение.
- Напишите в свободной форме любую информацию о себе.
Удачи в освоении Федеративных сетей!
Еще один дождь нравится это.
Взаимодействие с другими узлами Федерации
Подписка на пользователя другого узла, или ответ на его сообщение не представляет сложности, если контент находится в вашей ленте. Однако связность Федерации позволяет подписываться на пользователей других узлов, писать личные сообщения, комментировать записи, в зависимости от настроек приватности на узле пользователя, с которым вы хотите взимодействовать, даже если у вас нет общих контактов.
Данная инструкция подходит не только для Френдики, но и для других платформ Федерации.
Для того чтобы взаимодействовать с пользователем другого узла, необходимо скопировать адрес его профиля. Обычно ссылка на адрес профиля содержится в имени пользователя:
Затем вставить этот адрес на своём домашнем узле в поле для поиска:
После чего откроется страница, на которой вы сможете подписаться на указанный вами профиль или выполнить другие доступные действия:
С отдельной записью можно проделать тоже самое. Ссылка на запись может находиться на заголовке, на дате или в контекстном меню, в зависимости от платформы.
После копирования / вставки на домашнем узле, также как и со ссылкой на профиль, становятся доступны взаимодействия с записью:
Резервное копирование YunoHost с помощью Borg
Инструкция предполагает что вы умеете работать в консоли Linux,
выполнять файловые операции, а также знакомы с протоколом ssh и
основами сетевого взаимодействия
Задача
Не допустить потери пользовательских данных при возникновении проблем с сервером, на котором они хранятся.
Определения
- Сервер - система, которая будет хранить бэкапы. Для примера возьмём за адрес сервера mystorage.space
- Клиент - система с работающим YunoHost, с которого будут сниматься резервные копии. Например myhosting.space
Предварительные условия
- Сервер, на котором будем хранить бэкапы
- Возможность стабильного доступа к этому серверу по ip или доменному имени (напрямую или через сетевое устройство с белым IP)
- Права рута для установки и настройки Борг-сервера и доступа ssh для Борг-клиента
В качестве хранилища бэкапов у меня используется Synology, поэтому в
части руководства будет описана специфика его настройки.
Настройка
Настройка сервера бэкапов
Установка Borg
В общем случае Borg присутствует практически во всех популярных дистрибутивах. Информацию по установке можно получить на этой странице.
В случае с Synology, Borg можно установить через Центр пакетов, найдя его через поиск в разделе Сообщество. После установки в интерфейсе пользователя ничего не появится т.к. это консольная утилита. При установке необходимо будет ввести пароль для дешифровки бэкапов - этот пароль нужно сохранить в надёжное место!
Подготовка пользователя
Необходимо создать пользователя и группу, а так же директорию для ключа. Пользователя и группу, можно к примеру назвать borg-backup. После создания, необходимо соответственно включить пользователя в группу.
В Synology управление пользователями и группами производится через веб-интерфейс, в Панели управления. Созданного пользователя необходимо добавить в группу administrators, иначе доступ по ssh работать не будет.
Далее необходимо создать каталоги и выдать на них права. Обычно каталог пользователя располагается по адресу /home/, но у Synology немного другая структура, команды ниже приведены для него:
# mkdir -p /var/services/homes/borg-backup/.ssh
# touch /var/services/homes/borg-backup/.ssh/authorized_keys
# chown -R borg-backup:borg-backup /var/services/homes/borg-backup
# chmod -R 0700 /var/services/homes/borg-backup
Настройка клиента
Установка Borg
Установка происходит через веб-интерфейс, также, как и для других пакетов YunoHost. Для того чтобы через поиск можно было найти Borg, в фильтре справа от поисковой строки необходимо выбрать пункт "все приложения".
В процессе установки необходимо ввести адрес Сервера и каталог для бэкапов.
Для удобства в качестве каталога назначения можно указать адрес сервера, с которого снимается бэкап. Вместо доменного имени можно использовать IP, порт также не обязательно должен быть 22, если например у вас настроен проброс порта с маршрутизатора на Сервер.
ssh://borg-backup@mystorage.space:22/~/myhosting.space
Настройка и проверка доступа по ssh
После установки Borg на YunoHost сгенерируются ключи доступа по ssh, публичный ключ необходимо вписать на сервер. Взять его можно в админке YunoHost, в разделе Приложения / borg. Ключ будет находиться в строке Public key: и выглядит примерно так: ssh-ed25519 AAAAC3NzaC1lZD....
. Копируем его в буфер обмена или куда-нибудь ещё.
Далее необходимо вставить ключ на Сервер, в файл /var/services/homes/borg-backup/.ssh/authorized_keys
Для того, чтобы избежать проблемы с поиском исполняемого файла borg на сервере, необходимо в строке перед ключом вставить путь к исполняемому файлу borg. Для Synology это выглядит так: command="/usr/local/bin/borg serve" ssh-ed25519 AAAAC3NzaC1lZD...
.
Узнать, где исполняемый файл располагается в вашем дистрибутиве можно командой:
# type -a borg
Чтобы проверить авторизацию, необходимо зайти на Клиента в консоль под рутом и выполнить команду:
# ssh -i ~/.ssh/id_borg_ed25519 borg-backup@mystorage.space -p 22
В результате должна произойти авторизация на Сервер. Консоль при этом не вернёт ввод, из-за запуска исполняемого файла borg.
Ручной запуск и проверка
Чтобы не ждать наступления времени выполнения резервного копирования по расписанию можно запустить его вручную, командой:
# systemctl start borg
Консольный ввод при этом повиснет и продолжительность этого подвисания напрямую связана с объёмом данных резервного копирования.
Если что-то пошло не так, подробный лог можно посмотреть в админке YunoHost в разделе Инструменты / Логи.
После того как консоль вернёт управление, можно запросить с сервера информацию о бэкапах:
# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg info "$(yunohost app setting $app repository)"
Отчёт по резервному копированию также можно посмотреть через веб-интерфейс YunoHost в разделе Приложения / borg на вкладке Advanced.
Восстановление
Полное восстановление должно происходить также в YunoHost с установленным borg и настроенным подключением по ssh. Понадобится ключ для расшифровки бэкапов, о котором указывалось вначале, а также перенос ключа для подключения по ssh с Клиента на Сервер т.к. при новой установке borg ключ сгенерируется новый.
Для того чтобы восстановить бэкап, нужно знать его имя, для этого необходимо выполнить команду из прошлого раздела.
После получения имени необходимо сформировать команду и выполнить её в консоли на Клиенте. Для примера я укажу для восстановления бэкап Hubzilla:
app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg export-tar "$(yunohost app setting $app repository)::_auto_hubzilla-2023-02-05_14:28" /home/yunohost.backup/archives/hubzilla.tar
В этой команде имя бэкапа
_auto_hubzilla-2023-02-05_14:28
.Я не стал указывать полное имя файла для архива т.к. YunoHost потом не
даст удалить этот архив через интерфейс - там ограничение в 30
символов на имя файла бэкапа, поэтому архив называется просто
hubzilla.tar
Заключение
Работа с автоматическими бэкапами в YunoHost кажется мозговыносящей, но будь у меня эта инструкция, я не потратил бы на настройку несколько вечеров.
Разумеется с бэкапами можно проводить гораздо большее количество операций чем просто восстановление по имени архива, например просмотр содержимого, извлечение отдельных файлов и т.п. Для удобного оперирования архивами есть программы с графическим интерфейсом, например Vorta.
Настройку частоты резервного копирования также можно произвести достаточно гибко через настройки веб-интерфейса. Там есть соответствующее поле, работающее с форматом systemd OnCalendar format. Например можно указать 3:00 и резервное копирование будет выполняться каждые сутки в 3 часа ночи.